Camel
  1. Camel
  2. CAMEL-4955

Camel should run in a Java 7 environment

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.9.0
    • Fix Version/s: 2.10.0
    • Component/s: None
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      End of life for Java 6 is July 2012.
      If we release Camel 2.10.0 3 month after 2.9.0, it's round about March/April. The next Camel release after 2.10.0 (may be 3.0.0) will be not available before July 2012.
      Because of this, I think Camel 2.10.0 must be able to run in an Java 7 environment to give our users the possibility to migrate to Java 7 before it reaches EOL.

      http://www.oracle.com/technetwork/java/eol-135779.html

        Issue Links

          Activity

          Hide
          Claus Ibsen added a comment -

          Oracle is extending the EOL of Java6. More news in a couple of weeks.

          Show
          Claus Ibsen added a comment - Oracle is extending the EOL of Java6. More news in a couple of weeks.
          Hide
          Christian Müller added a comment -

          May be this is than not a MUST feature for the next release, but I still think this is a SHOULD feature - unless there is a good reason not to support Java 7 which I cannot imagine.

          Show
          Christian Müller added a comment - May be this is than not a MUST feature for the next release, but I still think this is a SHOULD feature - unless there is a good reason not to support Java 7 which I cannot imagine.
          Hide
          Christian Müller added a comment -
          Show
          Christian Müller added a comment - It's extended until Nov. 2012: https://blogs.oracle.com/henrik/entry/updated_java_6_eol_date
          Hide
          Christian Müller added a comment - - edited

          Today I downloaded the latest JDK 7 preview for MacOS and give it a try:

          christian-muellers-macbook-pro:camel cmueller$ mvn -v
          Apache Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100)
          Maven home: /Applications/apache-maven-3.0.4
          Java version: 1.7.0-u4-b10, vendor: Oracle Corporation
          Java home: /System/Library/Java/JavaVirtualMachines/1.7.0u-dev.jdk/Contents/Home/jre
          Default locale: en_US, platform encoding: UTF-8
          OS name: "mac os x", version: "10.7.3", arch: "amd64", family: "mac"
          

          and there are only two unit test in camel-core which failed. Much less than I expected:

          Results :
          
          Failed tests: 
            testResultType(org.apache.camel.builder.SimpleBuilderTest): expected:<9> but was:<null>
          
          Tests in error: 
            testToDomSourceByStAXSource(org.apache.camel.converter.jaxp.XmlConverterTest): java.lang.NullPointerException
          
          Tests run: 4083, Failures: 1, Errors: 1, Skipped: 0
          
          Show
          Christian Müller added a comment - - edited Today I downloaded the latest JDK 7 preview for MacOS and give it a try: christian-muellers-macbook-pro:camel cmueller$ mvn -v Apache Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100) Maven home: /Applications/apache-maven-3.0.4 Java version: 1.7.0-u4-b10, vendor: Oracle Corporation Java home: /System/Library/Java/JavaVirtualMachines/1.7.0u-dev.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "10.7.3", arch: "amd64", family: "mac" and there are only two unit test in camel-core which failed. Much less than I expected: Results : Failed tests: testResultType(org.apache.camel.builder.SimpleBuilderTest): expected:<9> but was:<null> Tests in error: testToDomSourceByStAXSource(org.apache.camel.converter.jaxp.XmlConverterTest): java.lang.NullPointerException Tests run: 4083, Failures: 1, Errors: 1, Skipped: 0
          Hide
          Christian Müller added a comment -

          From Java 6 to 7, Oracle did the following change which cause the unit test org.apache.camel.builder.SimpleBuilderTest.testResultType to fail:
          Java 6:
          sun.beans.editors.IntEditor calls Integer.valueOf("09") which succeed

          Java 7:
          sun.beans.editors.IntegerEditor calls Integer.decode("09") which fails with a NumberFormatException

          Should we remove this unit tests because "09" is indeed not a valid int value or should we "work around" this issue? What do you think?

          With Java 7, we also support the following conversions (but not with Java 6):

          assertEquals(11540255, SimpleBuilder.simple("#B0171F", int.class).evaluate(exchange, Object.class)); // HexDigit
          assertEquals(11540255, SimpleBuilder.simple("0XB0171F", int.class).evaluate(exchange, Object.class)); // HexDigit
          assertEquals(11540255, SimpleBuilder.simple("0xB0171F", int.class).evaluate(exchange, Object.class)); // HexDigit
          assertEquals(74, SimpleBuilder.simple("0112", int.class).evaluate(exchange, Object.class)); // OctalDigit
          
          Show
          Christian Müller added a comment - From Java 6 to 7, Oracle did the following change which cause the unit test org.apache.camel.builder.SimpleBuilderTest.testResultType to fail: Java 6: sun.beans.editors.IntEditor calls Integer.valueOf("09") which succeed Java 7: sun.beans.editors.IntegerEditor calls Integer.decode("09") which fails with a NumberFormatException Should we remove this unit tests because "09" is indeed not a valid int value or should we "work around" this issue? What do you think? With Java 7, we also support the following conversions (but not with Java 6): assertEquals(11540255, SimpleBuilder.simple( "#B0171F" , int .class).evaluate(exchange, Object .class)); // HexDigit assertEquals(11540255, SimpleBuilder.simple( "0XB0171F" , int .class).evaluate(exchange, Object .class)); // HexDigit assertEquals(11540255, SimpleBuilder.simple( "0xB0171F" , int .class).evaluate(exchange, Object .class)); // HexDigit assertEquals(74, SimpleBuilder.simple( "0112" , int .class).evaluate(exchange, Object .class)); // OctalDigit
          Hide
          Christian Müller added a comment -

          The error in org.apache.camel.converter.jaxp.XmlConverterTest.testToDomSourceByStAXSource() is a bug in the JDK, in my opinion. I opened an issue in the openjdk project to solve it: https://bugs.openjdk.java.net/show_bug.cgi?id=100228
          However, I will also try the official Java 7 version from Oracle on Windows 7...

          setting the XML version explicitly solve the problem:

          StAXSource source = conv.toStAXSource("<?xml version=\"1.0\" encoding=\"UTF-8\"?><foo>bar</foo>", null);
          
          Show
          Christian Müller added a comment - The error in org.apache.camel.converter.jaxp.XmlConverterTest.testToDomSourceByStAXSource() is a bug in the JDK, in my opinion. I opened an issue in the openjdk project to solve it: https://bugs.openjdk.java.net/show_bug.cgi?id=100228 However, I will also try the official Java 7 version from Oracle on Windows 7... setting the XML version explicitly solve the problem: StAXSource source = conv.toStAXSource( "<?xml version=\" 1.0\ " encoding=\" UTF-8\ "?><foo>bar</foo>" , null );
          Hide
          Christian Müller added a comment -

          org.apache.camel.converter.jaxp.XmlConverterTest.testToDomSourceByStAXSource() works with Java 1.7.0_03 from Oracle in Windows:

          Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)
          Maven home: C:\Program Files\apache-maven-3.0.3\bin\..
          Java version: 1.7.0_03, vendor: Oracle Corporation
          Java home: C:\Program Files\Java\jdk1.7.0_03\jre
          Default locale: en_US, platform encoding: Cp1252
          OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
          C:\Users\Christian Mueller\camel\camel-core>
          
          C:\Users\Christian Mueller\camel\camel-core>mvn test -Dtest=org.apache.camel.converter.jaxp.XmlConverterTest
          [INFO] Scanning for projects...
          [INFO]
          [INFO] ------------------------------------------------------------------------
          [INFO] Building Camel :: Core 2.10-SNAPSHOT
          [INFO] ------------------------------------------------------------------------
          [INFO]
          [INFO] --- maven-antrun-plugin:1.6:run (create-prop) @ camel-core ---
          [INFO] Executing tasks
          
          main:
               [echo] Maven version: 2.10-SNAPSHOT
               [echo] OSGi version: 2.10.0.SNAPSHOT
          [INFO] Executed tasks
          [INFO]
          [INFO] --- properties-maven-plugin:1.0-alpha-2:read-project-properties (default) @ camel-core ---
          [INFO]
          [INFO] --- maven-remote-resources-plugin:1.1:process (default) @ camel-core ---
          [INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'.
          [INFO] Setting property: velocimacro.messages.on => 'false'.
          [INFO] Setting property: resource.loader => 'classpath'.
          [INFO] Setting property: resource.manager.logwhenfound => 'false'.
          [INFO]
          [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ camel-core ---
          [INFO] Using 'UTF-8' encoding to copy filtered resources.
          [INFO] Copying 35 resources
          [INFO] Copying 3 resources
          [INFO]
          [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ camel-core ---
          [INFO] Nothing to compile - all classes are up to date
          [INFO]
          [INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ camel-core ---
          [INFO] Using 'UTF-8' encoding to copy filtered resources.
          [INFO] Copying 86 resources
          [INFO] Copying 3 resources
          [INFO]
          [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ camel-core ---
          [INFO] Nothing to compile - all classes are up to date
          [INFO]
          [INFO] --- maven-surefire-plugin:2.8:test (default-test) @ camel-core ---
          [INFO] Surefire report directory: C:\Users\Christian Mueller\camel\camel-core\target\surefire-reports
          
          -------------------------------------------------------
           T E S T S
          -------------------------------------------------------
          Running org.apache.camel.converter.jaxp.XmlConverterTest
          Tests run: 45, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.109 sec
          
          Results :
          
          Tests run: 45, Failures: 0, Errors: 0, Skipped: 0
          
          [INFO] ------------------------------------------------------------------------
          [INFO] BUILD SUCCESS
          [INFO] ------------------------------------------------------------------------
          [INFO] Total time: 10.859s
          [INFO] Finished at: Mon Feb 20 08:34:39 CET 2012
          [INFO] Final Memory: 14M/33M
          [INFO] ------------------------------------------------------------------------
          
          Show
          Christian Müller added a comment - org.apache.camel.converter.jaxp.XmlConverterTest.testToDomSourceByStAXSource() works with Java 1.7.0_03 from Oracle in Windows: Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100) Maven home: C:\Program Files\apache-maven-3.0.3\bin\.. Java version: 1.7.0_03, vendor: Oracle Corporation Java home: C:\Program Files\Java\jdk1.7.0_03\jre Default locale: en_US, platform encoding: Cp1252 OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows" C:\Users\Christian Mueller\camel\camel-core> C:\Users\Christian Mueller\camel\camel-core>mvn test -Dtest=org.apache.camel.converter.jaxp.XmlConverterTest [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Camel :: Core 2.10-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-antrun-plugin:1.6:run (create-prop) @ camel-core --- [INFO] Executing tasks main: [echo] Maven version: 2.10-SNAPSHOT [echo] OSGi version: 2.10.0.SNAPSHOT [INFO] Executed tasks [INFO] [INFO] --- properties-maven-plugin:1.0-alpha-2:read-project-properties (default) @ camel-core --- [INFO] [INFO] --- maven-remote-resources-plugin:1.1:process (default) @ camel-core --- [INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus.velocity.ContextClassLoaderResourceLoader'. [INFO] Setting property: velocimacro.messages.on => 'false'. [INFO] Setting property: resource.loader => 'classpath'. [INFO] Setting property: resource.manager.logwhenfound => 'false'. [INFO] [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ camel-core --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 35 resources [INFO] Copying 3 resources [INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ camel-core --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ camel-core --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 86 resources [INFO] Copying 3 resources [INFO] [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ camel-core --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-surefire-plugin:2.8:test (default-test) @ camel-core --- [INFO] Surefire report directory: C:\Users\Christian Mueller\camel\camel-core\target\surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.apache.camel.converter.jaxp.XmlConverterTest Tests run: 45, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.109 sec Results : Tests run: 45, Failures: 0, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 10.859s [INFO] Finished at: Mon Feb 20 08:34:39 CET 2012 [INFO] Final Memory: 14M/33M [INFO] ------------------------------------------------------------------------
          Hide
          Kangsik Jung added a comment -

          Due to a bug of JAXB RI included in JDK 7, (see http://java.net/jira/browse/JAXB-860)
          NPE raised while creating CamelContext in camel-spring. I't a show-stopper for everyone using camel-spring with JDK 7.

          related mailing list thread: http://mail-archives.apache.org/mod_mbox/camel-users/201108.mbox/%3CCAJ_S2Sn+Y692R48yrYBZoB66Pz1YPC6H-i=ZozBFPa=G54D78w@mail.gmail.com%3E

          Show
          Kangsik Jung added a comment - Due to a bug of JAXB RI included in JDK 7, (see http://java.net/jira/browse/JAXB-860 ) NPE raised while creating CamelContext in camel-spring. I't a show-stopper for everyone using camel-spring with JDK 7. related mailing list thread: http://mail-archives.apache.org/mod_mbox/camel-users/201108.mbox/%3CCAJ_S2Sn+Y692R48yrYBZoB66Pz1YPC6H-i=ZozBFPa=G54D78w@mail.gmail.com%3E
          Hide
          Babak Vahdat added a comment -

          @Kangsik

          Not really! Just make use of the JAXB version having this already fixed, see also:

          http://camel.465427.n5.nabble.com/null-pointer-exception-td5537826.html

          Show
          Babak Vahdat added a comment - @Kangsik Not really! Just make use of the JAXB version having this already fixed, see also: http://camel.465427.n5.nabble.com/null-pointer-exception-td5537826.html
          Hide
          Kangsik Jung added a comment -

          @Babak

          As you know, Camel does not explicitly depend on any JAXB implementation.
          Current JDK 7 version(~update 3) comes with JAXB RI 2.2.4_1, but the bug causing NPE fixed in 2.2.5.
          (see http://jaxb.java.net/guide/Which_JAXB_RI_is_included_in_which_JDK_.html)
          So without manually including JAXB in their pom.xml, many users are likely to see the NPE.

          Show
          Kangsik Jung added a comment - @Babak As you know, Camel does not explicitly depend on any JAXB implementation. Current JDK 7 version(~update 3) comes with JAXB RI 2.2.4_1, but the bug causing NPE fixed in 2.2.5. (see http://jaxb.java.net/guide/Which_JAXB_RI_is_included_in_which_JDK_.html ) So without manually including JAXB in their pom.xml, many users are likely to see the NPE.
          Hide
          Babak Vahdat added a comment - - edited

          @Kangsik

          At least camel-jaxb does explicitly declare to depend both on a specific JAXB-API (2.1) as well as an implementation of it (Sun-Impl 2.1.13). And we could probably upgrade those dependencies so that there would be nothing the users should manually do about a potential NPE in JDK 7. But before that it should be made sure that this upgrade doesn't break anything existing.

          Then the idea would be even if the users don't really need JaxbDataFormat they would still declare a dependency to camel-jaxb so that the proper jars would come along so that there would be no necessity to take over proper jars manually. However I see this option just as a workaorund until it's properly fixed inside JDK 7 itself.

          ~/dev/workspace/camel/components/camel-jaxb>mvn dependency:tree
          [INFO] Scanning for projects...
          [INFO]                                                                         
          [INFO] ------------------------------------------------------------------------
          [INFO] Building Camel :: JAXB 2.10-SNAPSHOT
          [INFO] ------------------------------------------------------------------------
          [INFO] 
          [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ camel-jaxb ---
          [INFO] org.apache.camel:camel-jaxb:bundle:2.10-SNAPSHOT
          [INFO] +- org.apache.camel:camel-core:jar:2.10-SNAPSHOT:compile
          [INFO] |  \- org.slf4j:slf4j-api:jar:1.6.1:compile
          [INFO] +- javax.xml.bind:jaxb-api:jar:2.1:compile
          [INFO] |  +- javax.xml.stream:stax-api:jar:1.0-2:compile
          [INFO] |  \- javax.activation:activation:jar:1.1:compile
          [INFO] +- com.sun.xml.bind:jaxb-impl:jar:2.1.13:compile
          [INFO] +- junit:junit:jar:4.8.1:test
          [INFO] +- org.apache.camel:camel-test-spring:jar:2.10-SNAPSHOT:test
          [INFO] |  +- org.apache.camel:camel-test:jar:2.10-SNAPSHOT:test
          [INFO] |  \- org.apache.camel:camel-spring:jar:2.10-SNAPSHOT:test
          [INFO] |     +- org.springframework:spring-context:jar:3.0.7.RELEASE:test
          [INFO] |     |  +- org.springframework:spring-beans:jar:3.0.7.RELEASE:test
          [INFO] |     |  +- org.springframework:spring-core:jar:3.0.7.RELEASE:test
          [INFO] |     |  |  \- commons-logging:commons-logging:jar:1.1.1:test
          [INFO] |     |  +- org.springframework:spring-expression:jar:3.0.7.RELEASE:test
          [INFO] |     |  \- org.springframework:spring-asm:jar:3.0.7.RELEASE:test
          [INFO] |     +- org.springframework:spring-aop:jar:3.0.7.RELEASE:test
          [INFO] |     |  \- aopalliance:aopalliance:jar:1.0:test
          [INFO] |     \- org.springframework:spring-tx:jar:3.0.7.RELEASE:test
          [INFO] +- org.apache.camel:camel-spring-javaconfig:jar:2.10-SNAPSHOT:test
          [INFO] |  \- org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar:2.1_3_6:test
          [INFO] +- org.slf4j:slf4j-log4j12:jar:1.6.1:test
          [INFO] |  \- log4j:log4j:jar:1.2.16:test
          [INFO] +- org.codehaus.woodstox:woodstox-core-asl:jar:4.1.1:test
          [INFO] |  \- org.codehaus.woodstox:stax2-api:jar:3.1.1:test
          [INFO] +- org.mockito:mockito-core:jar:1.8.5:test
          [INFO] |  +- org.hamcrest:hamcrest-core:jar:1.1:test
          [INFO] |  \- org.objenesis:objenesis:jar:1.0:test
          [INFO] \- org.springframework:spring-test:jar:3.0.7.RELEASE:test
          [INFO] ------------------------------------------------------------------------
          [INFO] BUILD SUCCESS
          [INFO] ------------------------------------------------------------------------
          [INFO] Total time: 1.377s
          [INFO] Finished at: Wed Mar 07 09:03:22 CET 2012
          [INFO] Final Memory: 10M/1011M
          [INFO] ------------------------------------------------------------------------
          
          Show
          Babak Vahdat added a comment - - edited @Kangsik At least camel-jaxb does explicitly declare to depend both on a specific JAXB-API (2.1) as well as an implementation of it (Sun-Impl 2.1.13). And we could probably upgrade those dependencies so that there would be nothing the users should manually do about a potential NPE in JDK 7. But before that it should be made sure that this upgrade doesn't break anything existing. Then the idea would be even if the users don't really need JaxbDataFormat they would still declare a dependency to camel-jaxb so that the proper jars would come along so that there would be no necessity to take over proper jars manually. However I see this option just as a workaorund until it's properly fixed inside JDK 7 itself. ~/dev/workspace/camel/components/camel-jaxb>mvn dependency:tree [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Camel :: JAXB 2.10-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-dependency-plugin:2.1:tree ( default -cli) @ camel-jaxb --- [INFO] org.apache.camel:camel-jaxb:bundle:2.10-SNAPSHOT [INFO] +- org.apache.camel:camel-core:jar:2.10-SNAPSHOT:compile [INFO] | \- org.slf4j:slf4j-api:jar:1.6.1:compile [INFO] +- javax.xml.bind:jaxb-api:jar:2.1:compile [INFO] | +- javax.xml.stream:stax-api:jar:1.0-2:compile [INFO] | \- javax.activation:activation:jar:1.1:compile [INFO] +- com.sun.xml.bind:jaxb-impl:jar:2.1.13:compile [INFO] +- junit:junit:jar:4.8.1:test [INFO] +- org.apache.camel:camel-test-spring:jar:2.10-SNAPSHOT:test [INFO] | +- org.apache.camel:camel-test:jar:2.10-SNAPSHOT:test [INFO] | \- org.apache.camel:camel-spring:jar:2.10-SNAPSHOT:test [INFO] | +- org.springframework:spring-context:jar:3.0.7.RELEASE:test [INFO] | | +- org.springframework:spring-beans:jar:3.0.7.RELEASE:test [INFO] | | +- org.springframework:spring-core:jar:3.0.7.RELEASE:test [INFO] | | | \- commons-logging:commons-logging:jar:1.1.1:test [INFO] | | +- org.springframework:spring-expression:jar:3.0.7.RELEASE:test [INFO] | | \- org.springframework:spring-asm:jar:3.0.7.RELEASE:test [INFO] | +- org.springframework:spring-aop:jar:3.0.7.RELEASE:test [INFO] | | \- aopalliance:aopalliance:jar:1.0:test [INFO] | \- org.springframework:spring-tx:jar:3.0.7.RELEASE:test [INFO] +- org.apache.camel:camel-spring-javaconfig:jar:2.10-SNAPSHOT:test [INFO] | \- org.apache.servicemix.bundles:org.apache.servicemix.bundles.cglib:jar:2.1_3_6:test [INFO] +- org.slf4j:slf4j-log4j12:jar:1.6.1:test [INFO] | \- log4j:log4j:jar:1.2.16:test [INFO] +- org.codehaus.woodstox:woodstox-core-asl:jar:4.1.1:test [INFO] | \- org.codehaus.woodstox:stax2-api:jar:3.1.1:test [INFO] +- org.mockito:mockito-core:jar:1.8.5:test [INFO] | +- org.hamcrest:hamcrest-core:jar:1.1:test [INFO] | \- org.objenesis:objenesis:jar:1.0:test [INFO] \- org.springframework:spring-test:jar:3.0.7.RELEASE:test [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.377s [INFO] Finished at: Wed Mar 07 09:03:22 CET 2012 [INFO] Final Memory: 10M/1011M [INFO] ------------------------------------------------------------------------
          Hide
          Christian Müller added a comment -

          Counting down from 241 failures to 194 failures...

          Show
          Christian Müller added a comment - Counting down from 241 failures to 194 failures...
          Hide
          Christian Müller added a comment -

          I will go ahead and add a Java 7 profile which will only be enabled if we are running Java 7. This profile will set the JAXB API to version 2.2 and JAXB impl to 2.2.5 to be able to go ahead without a new Java version which includes a fix for JAXB-860.

          Show
          Christian Müller added a comment - I will go ahead and add a Java 7 profile which will only be enabled if we are running Java 7. This profile will set the JAXB API to version 2.2 and JAXB impl to 2.2.5 to be able to go ahead without a new Java version which includes a fix for JAXB-860 .
          Hide
          Christian Müller added a comment -

          The new Java 7 profile is enabled by default if the used Java version is Java 7. This profile use JAXB API version 2.2 and JAXB impl 2.2.5 to avoid the JAXB issue:

          Caused by: java.lang.NullPointerException
          	at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.checkOverrideProperties(ClassBeanInfoImpl.java:190)
          	at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:171)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:513)
          	at com.sun.xml.internal.bind.v2.runtime.property.ArrayReferenceNodeProperty.<init>(ArrayReferenceNodeProperty.java:72)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
          	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
          	at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113)
          	at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494)
          	at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:153)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:513)
          	at com.sun.xml.internal.bind.v2.runtime.property.ArrayReferenceNodeProperty.<init>(ArrayReferenceNodeProperty.java:72)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
          	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
          	at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113)
          	at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:513)
          	at com.sun.xml.internal.bind.v2.runtime.property.ArrayReferenceNodeProperty.<init>(ArrayReferenceNodeProperty.java:72)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
          	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
          	at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113)
          	at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494)
          	at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:153)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:513)
          	at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.<init>(SingleElementNodeProperty.java:90)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
          	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
          	at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113)
          	at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:513)
          	at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementProperty.<init>(ArrayElementProperty.java:97)
          	at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementNodeProperty.<init>(ArrayElementNodeProperty.java:47)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
          	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
          	at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113)
          	at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:311)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:126)
          	at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1142)
          	at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:130)
          	at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:221)
          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:601)
          	at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:172)
          	at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132)
          	at javax.xml.bind.ContextFinder.find(ContextFinder.java:347)
          	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431)
          	at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:394)
          
          Show
          Christian Müller added a comment - The new Java 7 profile is enabled by default if the used Java version is Java 7. This profile use JAXB API version 2.2 and JAXB impl 2.2.5 to avoid the JAXB issue: Caused by: java.lang.NullPointerException at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.checkOverrideProperties(ClassBeanInfoImpl.java:190) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:171) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:513) at com.sun.xml.internal.bind.v2.runtime.property.ArrayReferenceNodeProperty.<init>(ArrayReferenceNodeProperty.java:72) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:153) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:513) at com.sun.xml.internal.bind.v2.runtime.property.ArrayReferenceNodeProperty.<init>(ArrayReferenceNodeProperty.java:72) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:513) at com.sun.xml.internal.bind.v2.runtime.property.ArrayReferenceNodeProperty.<init>(ArrayReferenceNodeProperty.java:72) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:153) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:513) at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.<init>(SingleElementNodeProperty.java:90) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:513) at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementProperty.<init>(ArrayElementProperty.java:97) at com.sun.xml.internal.bind.v2.runtime.property.ArrayElementNodeProperty.<init>(ArrayElementNodeProperty.java:47) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:494) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:311) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:126) at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1142) at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:130) at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:221) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:172) at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:132) at javax.xml.bind.ContextFinder.find(ContextFinder.java:347) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:431) at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:394)
          Hide
          Christian Müller added a comment -
          Show
          Christian Müller added a comment - The first build in Java 7 passed in Jenkins: https://builds.apache.org/view/A-F/view/Camel/job/Camel.trunk.fulltest.java7/86/
          Hide
          Christian Müller added a comment -

          Half the modules was skipped

          Show
          Christian Müller added a comment - Half the modules was skipped
          Hide
          Babak Vahdat added a comment -

          I assume by now we can close this ticket.

          Show
          Babak Vahdat added a comment - I assume by now we can close this ticket.
          Hide
          Christian Müller added a comment -

          Build 118 was running without any error or failure.

          Show
          Christian Müller added a comment - Build 118 was running without any error or failure.

            People

            • Assignee:
              Christian Müller
              Reporter:
              Christian Müller
            • Votes:
              5 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development