Hi Stephan,

We need it in lib/boot but I think we can remove jab-impl from 
etc/startup.properties.

Running more tests...
-------------
Freeman(Yue) Fang

Red Hat, Inc. 
FuseSource is now part of Red Hat



> On Sep 12, 2018, at 3:13 PM, Siano, Stephan <stephan.si...@sap.com> wrote:
> 
> Hi,
>  
> I have seen that issue twice (with Java 8). A restart of the VM usually fixed 
> this in my case.
>  
> I have browsed through the internet about this issue and it seems that this 
> may happen if two JAXB implementations are in the classpath (there is also 
> one included in the JVM, so removing the third one from CXF might not resolve 
> the issue).
>  
> I have tried setting the system property 
> "com.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize" to "true" but I don't 
> know whether this helps because the issue appears in my setup only very 
> sporadically.
>  
> IMO it might also be worth a try to remove the JAXB bundles from the lib/boot 
> directory before starting karaf. Having JAXB in the JDK and the boot 
> classpath might also cause issues.
>  
> Best regards
> Stephan
>  
>  
> From: Freeman Fang <freeman.f...@gmail.com <mailto:freeman.f...@gmail.com>> 
> Sent: Mittwoch, 12. September 2018 09:08
> To: user@karaf.apache.org <mailto:user@karaf.apache.org>
> Subject: Re: Karaf 4.2.1: cannot be cast to 
> com.sun.xml.internal.bind.v2.runtime.reflect.Accessor
>  
> Hello,
>  
> This ClassCastException normally means you have two jaxb-impl bundles(with 
> different version) installed in the Karaf container.
>  
> Could you please double check it?
>  
> You can use Karaf command 
> package:exports |grep com.sun.xml.bind
> 
> 
> And paste what the output you get here
> 
> 
> Thanks!
> -------------
> Freeman(Yue) Fang
> 
> Red Hat, Inc. 
> FuseSource is now part of Red Hat
>  
>  
>  
> On Sep 10, 2018, at 10:26 PM, Lukasz Lech <l.l...@ringler.ch 
> <mailto:l.l...@ringler.ch>> wrote:
>  
> Hello,
>  
> After finding out that Karaf 4.2.1 includes Eclipselink version with 
> PostgreSQL Bug Fix (https://bugs.eclipse.org/bugs/show_bug.cgi?id=522408 
> <https://bugs.eclipse.org/bugs/show_bug.cgi?id=522408>) I’ve tested it with 
> my code.
>  
> But another library has backfired, and I feel helpless about finding out what 
> is going on.
>  
> I’m using JAXB to deserialize XML. I have 2 bundles, which have effectively 
> the same code for deserializing XML from the same schema (some configuration 
> data). In one of the bundles, everything works fine, in another one I get the 
> exception:
>  
> JAXBContext.newInstance(targetClass): 
>  
> Caused by: java.lang.ClassCastException: 
> com.example.MyType$JaxbAccessorF_value cannot be cast to 
> com.sun.xml.internal.bind.v2.runtime.reflect.Accessor
>                 at 
> com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.instanciate(OptimizedAccessorFactory.java:190)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:179)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:271)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.<init>(TransducedAccessor.java:220)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.runtime.reflect.TransducedAccessor.get(TransducedAccessor.java:160)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.model.impl.RuntimeClassInfoImpl.calcTransducer(RuntimeClassInfoImpl.java:230)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.model.impl.RuntimeClassInfoImpl.getTransducer(RuntimeClassInfoImpl.java:204)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.model.impl.RuntimeClassInfoImpl.link(RuntimeClassInfoImpl.java:181)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.link(ModelBuilder.java:439)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.link(RuntimeModelBuilder.java:118)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:443)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:277)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:124)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1123)
>  ~[?:?]
>                 at 
> com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:147)
>  ~[?:?]
>                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method) ~[?:?]
>                 at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[?:?]
>                 at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:?]
>                 at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
>                 at 
> javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:247) ~[?:?]
>                 at 
> javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:234) ~[?:?]
>                 at javax.xml.bind.ContextFinder.find(ContextFinder.java:462) 
> ~[?:?]
>                 at 
> javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:641) ~[?:?]
>                 at 
> javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584) ~[?:?]
>  
> I don’t see any substantial difference between those 2 bundles. They have 
> other config files, but the same code parsing them. They use similar package 
> imports etc.
>  
> However, one of them always starts, the other one not.
>  
> How to start debugging that issue? Have you experienced similar behavior or 
> have hints, what can cause them?
>  
> The previous version, in that everything was working stable, was Karaf 4.1.3
>  
> Best regards,
> Lukasz Lech

Reply via email to