最近、Open JDK 7 のバージョンをバージョン 1.7.0_u21 にアップグレードしましたが、そのバージョンに含まれる Camel と JAXB で問題が発生し始めました。1.7.0_u9 以下で始まるバージョンは、期待どおりに動作するようです。私たちは OSGi コンテナで実行しており、JAXB-API はバージョン 2.2.7 で、JAXB-IMPL は JDK から取得されています。他の体がこの問題に遭遇した場合、それを解決する方法はありますか?
org.springframework.beans.factory.config.BeanPostProcessor is an interface, and JAXB can't handle interfaces.
this problem is related to the following location:
at org.springframework.beans.factory.config.BeanPostProcessor
at public org.springframework.beans.factory.config.BeanPostProcessor org.apache.camel.spring.CamelContextFactoryBean.getBeanPostProcessor()
at org.apache.camel.spring.CamelContextFactoryBean
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:212) ~[jaxb-api_2.2.7.jar:na]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:146) ~[jaxb-api_2.2.7.jar:na]
... 159 common frames omitted
Caused by: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 39 counts of IllegalAnnotationExceptions
at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:91) ~[na:1.7.0_21]
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:451) ~[na:1.7.0_21]
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:283) ~[na:1.7.0_21]
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:126) ~[na:1.7.0_21]
at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1148) ~[na:1.7.0_21]
at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:130) ~[na:1.7.0_21]
at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:221) ~[na:1.7.0_21]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_21]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_21]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_21]
at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_21]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:186) ~[jaxb-api_2.2.7.jar:na]
... 160 common frames omitted
更新: もう少し情報を追加します。Oracle JDK 7 で実行すると、すべてが期待どおりに動作するようです。ただし、Open JDK 7 を使用する必要があるため、ランダムな Open JDK を試して何が機能するかを確認する以外に、修正があるかどうかを確認できれば幸いです。