FUSE Message Broker
  1. FUSE Message Broker
  2. MB-769

Get error 'NATURAL JSON notation configured, but JAXB RI 2.1.10 not found' when starting ActiveMQ

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Major Major
    • Resolution: Done
    • Affects Version/s: 5.4.1-fuse-00-00
    • Fix Version/s: 5.5.0-fuse-00-00
    • Component/s: broker
    • Labels:
      None
    • Environment:
      Linux (but probably all environments!)
    • Similar Issues:
      Show 9 results 

      Description

      The error seems to be caused by the Camel component of ActiveMQ's web console. To get rid of the error, you have to comment out the Camel webapp from the jetty.xml file:

                              <!--
                              <bean class="org.eclipse.jetty.webapp.WebAppContext">
                                  <property name="contextPath" value="/camel" />
                                  <property name="resourceBase" value="${activemq.home}/webapps/camel" />
                                  <property name="logUrlOnStart" value="true" />
                              </bean>
                              -->
      

      The error & stack trace:

       
      SEVERE: NATURAL JSON notation configured, but JAXB RI 2.1.10 not found. For the recent builds to get this working correctly, you need even at least JAXB version 2.1.12. Please add it to your classpath!
      11-Nov-2010 11:03:05 com.sun.jersey.core.spi.component.ProviderFactory __getComponentProvider
      SEVERE: The provider class, class org.apache.camel.web.util.JAXBContextResolverOSGI, could not be instantiated. Processing will continue but the class will not be utilized
      java.lang.RuntimeException: NATURAL JSON notation configured, but JAXB RI 2.1.10 not found. For the recent builds to get this working correctly, you need even at least JAXB version 2.1.12. Please add it to your classpath!
              at com.sun.jersey.api.json.JSONConfiguration.natural(JSONConfiguration.java:378)
              at org.apache.camel.web.util.JAXBContextResolverOSGI.<init>(JAXBContextResolverOSGI.java:39)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
              at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
              at java.lang.Class.newInstance0(Class.java:355)
              at java.lang.Class.newInstance(Class.java:308)
              at com.sun.jersey.core.spi.component.ComponentConstructor._getInstance(ComponentConstructor.java:153)
              at com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:141)
              at com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(ProviderFactory.java:163)
              at com.sun.jersey.core.spi.component.ProviderFactory._getComponentProvider(ProviderFactory.java:156)
              at com.sun.jersey.core.spi.component.ioc.IoCProviderFactory._getComponentProvider(IoCProviderFactory.java:90)
              at com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:150)
              at com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:227)
              at com.sun.jersey.core.spi.component.ProviderServices.getProviders(ProviderServices.java:124)
              at com.sun.jersey.core.spi.factory.ContextResolverFactory.<init>(ContextResolverFactory.java:78)
              at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:804)
              at com.sun.jersey.spi.spring.container.servlet.SpringServlet.initiate(SpringServlet.java:99)
              at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:252)
              at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:550)
              at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:201)
              at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:307)
              at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:641)
              at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:74)
              at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
              at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:668)
              at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:204)
              at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:994)
              at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:588)
              at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:380)
              at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
              at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165)
              at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
              at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92)
              at org.eclipse.jetty.security.SecurityHandler.doStart(SecurityHandler.java:338)
              at org.eclipse.jetty.security.ConstraintSecurityHandler.doStart(ConstraintSecurityHandler.java:229)
              at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
              at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165)
              at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
              at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92)
              at org.eclipse.jetty.server.Server.doStart(Server.java:242)
              at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1536)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
              at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
              at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
              at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
              at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
              at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
              at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
              at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
              at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
              at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)
              at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)
              at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:96)
              at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)
              at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)
              at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
              at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)
              at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
              at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
              at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:143)
              at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
              at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:85)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.apache.activemq.console.Main.runTaskClass(Main.java:251)
              at org.apache.activemq.console.Main.main(Main.java:107)
      11-Nov-2010 11:03:05 com.sun.jersey.api.wadl.config.WadlGeneratorLoader loadWadlGenerator
      
      

        Activity

        Hide
        Dave Stanley
        added a comment -

        Upgrading to jaxb r1 2.1.10 resolves the error, however there are some residual warnings (due to use of deprecated
        classes) that would be nice to cleanup.

        Mar 22, 2011 11:20:30 AM com.sun.jersey.server.impl.application.DeferredResourceConfig getApplication
        INFO: Instantiating the Application class, named org.apache.camel.web.util.CamelResourceConfig
        Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader loadWadlGenerator
        INFO: Loading wadlGenerator com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc
        Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader setProperty
        WARNING: Configuring the WadlGeneratorApplicationDoc with the file based property applicationDocsFile is deprecated and will be removed in future versions of jersey! You should use the InputStream based property instead.
        Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader loadWadlGenerator
        INFO: Loading wadlGenerator com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport
        Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader setProperty
        WARNING: Configuring the WadlGeneratorGrammarsSupport with the file based property grammarsFile is deprecated and will be removed in future versions of jersey! You should use the InputStream based property instead.
        Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader loadWadlGenerator
        INFO: Loading wadlGenerator com.sun.jersey.server.wadl.generators.resourcedoc.WadlGeneratorResourceDocSupport
        Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader setProperty
        WARNING: Configuring the WadlGeneratorResourceDocSupport with the file based property resourceDocFile is deprecated and will be removed in future versions of jersey! You should use the InputStream based property instead.
        

        Regards
        /Dave

        Show
        Dave Stanley
        added a comment - Upgrading to jaxb r1 2.1.10 resolves the error, however there are some residual warnings (due to use of deprecated classes) that would be nice to cleanup. Mar 22, 2011 11:20:30 AM com.sun.jersey.server.impl.application.DeferredResourceConfig getApplication INFO: Instantiating the Application class, named org.apache.camel.web.util.CamelResourceConfig Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader loadWadlGenerator INFO: Loading wadlGenerator com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader setProperty WARNING: Configuring the WadlGeneratorApplicationDoc with the file based property applicationDocsFile is deprecated and will be removed in future versions of jersey! You should use the InputStream based property instead. Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader loadWadlGenerator INFO: Loading wadlGenerator com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader setProperty WARNING: Configuring the WadlGeneratorGrammarsSupport with the file based property grammarsFile is deprecated and will be removed in future versions of jersey! You should use the InputStream based property instead. Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader loadWadlGenerator INFO: Loading wadlGenerator com.sun.jersey.server.wadl.generators.resourcedoc.WadlGeneratorResourceDocSupport Mar 22, 2011 11:20:31 AM com.sun.jersey.api.wadl.config.WadlGeneratorLoader setProperty WARNING: Configuring the WadlGeneratorResourceDocSupport with the file based property resourceDocFile is deprecated and will be removed in future versions of jersey! You should use the InputStream based property instead. Regards /Dave
        Hide
        Dejan Bosanac
        added a comment -

        While inspecting this issue, I noted that for the upcoming 5.5.0-fuse release we can remove jaxb as we now request JDK 6 and jaxb is included.

        I'll resolve the issue for now, if anyone need any more work on it, please reopen it.

        BTW. I didn't manage to reproduce it, as it probably environmentally specific

        Show
        Dejan Bosanac
        added a comment - While inspecting this issue, I noted that for the upcoming 5.5.0-fuse release we can remove jaxb as we now request JDK 6 and jaxb is included. I'll resolve the issue for now, if anyone need any more work on it, please reopen it. BTW. I didn't manage to reproduce it, as it probably environmentally specific

          People

          • Assignee:
            Dejan Bosanac
            Reporter:
            Adrian Trenaman
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: