ClassCastException: Cannot be cast to com.sun.xml.internal.bind.v2.runtime.reflect.Accessor
I hate to answer my own question, but I wanted to make sure the solution I ended up going with was documented clearly.
The root issue was that the jaxb-impl jar brought in by camel-jaxb was conflicting with the JDK 8 provided version.
This answer describes what is happening more clearly:
I encountered the same error when I tried to upgrade JAXB to a newer version than what came with the JDK. Java encountered two or more instances of JAXB at runtime and could not decide which version to use.
In my case, I simply excluded the jaxb-impl that came with camel-jaxb and the application started working correctly.
I ran into this error when trying to run my JUnit tests through Maven even though they passed locally in Eclipse. My solution was to in a @BeforeClass
put:
System.setProperty("javax.xml.bind.JAXBContext", "com.sun.xml.internal.bind.v2.ContextFactory");