IBM Support

IBM Integration Bus v10 support for Java 8

Product Documentation


Abstract

IBM Integration Bus (IIB) v10 adds support for Java 8 in IIB 10.0.0.11 and later fix packs on all supported platforms except for Solaris and HP.

Content

IBM Integration Bus v10 ships with Java 8 in IIB 10.0.0.11 and later fix packs on all supported distributed platforms except Solaris and HP and for Solaris and HP from 10.0.0.15 onwards.

IBM Integration Bus v10 on z/OS  supports Java 8 (in addition to Java 7) as a prerequisite component from IIB 10.0.0.11 onwards until 10.0.0.15 when Java 8 is the only version of Java supported in z/OS as a prerequisite component.

There are some limitations with the Java 8 support for application developers, and after applying IIB 10.0.0.11 or later fix packs you may encounter known issues caused as a result of upgrading to Java 8. These issues and limitations are summarised below:
 

This affects all users who wish to compile code containing Java 8 language constructs.

Users are able to reference Java 8 API class library enhancements and can use class files and jar files compiled using Java 8 and where the compiled source uses the new Java 8 constructs.

  • The IIB Toolkit is unable to compile Java source code containing Java 8 language constructs such as Functional Interfaces, default and static methods in Interfaces and Lambda Expressions.
 
  • If you try to deploy a bar file which contains or references Java 8 compiled class files to an IIB node running 10.0.0.10 or earlier then you may see one of the following errors:
    • JavaCompute node with an onInitialize method

    • BIP4157E: The user-defined node 'Java Compute' could not be deployed. Details: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version class=Java18Test, offset=6
      The node could not be deployed because an error in the node's 'onInitialize' method prevented the node from initializing.
      Review the details given above. Report the error to the node's writer if you cannot correct the error yourself.
      BIP4395E: Java exception: 'java.lang.UnsupportedClassVersionError'; thrown from class name: 'java.lang.ClassLoader', method name: 'defineClass', file: 'ClassLoader.java', line: '331'
    • Mapping node calling Java

    • BIP3947E: ( IIB10_MQ.Server1 ) The map processing for QName ''{default}:TestMap_Mapping'' has failed, with the following details: ''''.
      BIP3949E: ( IIB10_MQ.Server1 ) An error occurred during the processing of a message. The error message is ''JVMCFRE003 bad major version; class=Java18Test, offset=6''.

  • To deploy the bar file to a IIB node running 10.0.0.10 or earlier you will need to refactor your flow to remove the references to Java 8 compiled class files.
 

  • If you try to start an IIB Node at 10.0.0.10 or an earlier fixpack and there are flows deployed which contain or reference Java 8 compiled class files from a previous start at 10.0.0.11 or later fixpacks then you may see one of the following errors:
    • JavaCompute node with an onInitialize method

    • BIP2275E: ( IIB10_MQ.Server1 ) Error loading deployed resource ''JavaFlow.MSGFLOW'' of type ''.MSGFLOW''.
      BIP4157E: ( IIB10_MQ.Server1 ) The user-defined node ''Java Compute'' could not be deployed. Details: 'java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=Java18Test, offset=6'
      BIP4395E: ( IIB10_MQ.Server1 ) Java exception: ''java.lang.UnsupportedClassVersionError''; thrown from class name: ''java.lang.ClassLoader'', method name: ''defineClassImpl'', file: ''ClassLoader.java'', line: '-2'

  • To successfully start the flow when the node is started at 10.0.0.10 or an earlier fixpack you will need to deploy a new version of the flow which removes the references to Java 8 compiled class files.
 

  • If you try to run a message flow at 10.0.0.10 or an earlier fixpack, which was previously deployed at 10.0.0.11 or a later fixpack, and the flow contains or references Java 8 compiled class files then you may see one of the following errors:
    • JavaCompute node

    • BIP4367E: ( IIB10_MQ2.Server1 ) The method ''evaluate'' in Java node ''Java Compute'' has thrown the following exception: 'java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=Java18Test, offset=6'.
      BIP4395E: ( IIB10_MQ2.Server1 ) Java exception: ''java.lang.UnsupportedClassVersionError''; thrown from class name: ''java.lang.ClassLoader'', method name: ''defineClass'', file: ''ClassLoader.java'', line: '331'
    • Mapping node calling Java

    • BIP3947E: ( IIB10_MQ.Server1 ) The map processing for QName ''{default}:TestMap_Mapping'' has failed, with the following details: ''''.
      BIP3949E: ( IIB10_MQ.Server1 ) An error occurred during the processing of a message. The error message is ''JVMCFRE003 bad major version; class=Java18Test, offset=6''.

  • To successfully run the flow when the node is started at 10.0.0.10 or an earlier fixpack, you will need to deploy a new version of the flow which removes the references to Java 8 compiled class files.

[{"Product":{"code":"SSNQK6","label":"IBM Integration Bus"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Migration","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"},{"code":"PF035","label":"z\/OS"}],"Version":"10.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
23 March 2020

UID

swg27050571