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
    • 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
       

        Gliffy Diagrams

          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: