2011-09-13 2 views
0

私たちはActiveMQ 5.2を使用しており、ActiveMQ 5.5へのアップグレードを検討しています。ActiveMQ 5.5にアップグレードするとjava.lang.ClassNotFoundExceptionがスローされます:org.slf4j.Logger

devフレームモードで実行しているときには、Springフレームワーク(2.5.6)を使用し、Jetty(6.1.2)を使用します。

私はapplicationContextファイルを変更せずにクラスパスを変更して、新しいjarファイル(activemq-core-5.5.0.jar、xbean-spring-3.7.jar)が含まれるようにしました。

しかし、DEVのインスタンスは、次のエラーメッセージで失敗します。私はまた、追加のジャー(SLF4J-API-1.5.11.jar)を試み

org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [applicationContext-activemq.xml]; nested exception is java.lang.NoClassDefFoundError: org/slf4j/Logger at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:92) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543) at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:447) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:222) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:543) at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421) at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035) at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783) at com.google.gwt.dev.DevMode.main(DevMode.java:275) Caused by: java.lang.NoClassDefFoundError: org/slf4j/Logger at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.getDeclaredMethods(Unknown Source) at java.beans.Introspector$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.beans.Introspector.getPublicDeclaredMethods(Unknown Source) at java.beans.Introspector.getTargetMethodInfo(Unknown Source) at java.beans.Introspector.getBeanInfo(Unknown Source) at java.beans.Introspector.getBeanInfo(Unknown Source) at java.beans.Introspector.getBeanInfo(Unknown Source) at java.beans.Introspector.(Unknown Source) at java.beans.Introspector.getBeanInfo(Unknown Source) at org.apache.xbean.spring.context.v2c.XBeanQNameHelper.getBeanInfo(XBeanQNameHelper.java:78) at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.getPropertyDescriptor(XBeanNamespaceHandler.java:581) at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.addAttributeProperties(XBeanNamespaceHandler.java:333) at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parseBeanFromExtensionElement(XBeanNamespaceHandler.java:225) at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parseBeanFromExtensionElement(XBeanNamespaceHandler.java:276) at org.apache.xbean.spring.context.v2c.XBeanNamespaceHandler.parse(XBeanNamespaceHandler.java:156) at org.apache.xbean.spring.context.v2.XBeanNamespaceHandler.parse(XBeanNamespaceHandler.java:49) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1297) at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1287) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398) ... 31 more Caused by: java.lang.ClassNotFoundException: org.slf4j.Logger at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension.findClass(JettyLauncher.java:354) at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:366) at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337) at java.lang.ClassLoader.loadClassInternal(Unknown Source) ... 56 more

クラスパスにロガーインタフェースを含むが、依然として同じ例外を得。 ApplicationContextのの

キュー定義は、私が5.5にActiveMQのをアップグレードするために作成する必要がありますか、他にどのような変化この

`

<bean id="connectionFactory" 
    class="org.apache.activemq.spring.ActiveMQConnectionFactory"> 
    <property name="brokerURL" value="vm://localhost?async=false" /> 
    <property name="redeliveryPolicy" ref="redeliveryPolicy"/> 
</bean> 

<bean id="jmsTemplate" 
    class="org.springframework.jms.core.JmsTemplate"> 
    <property name="connectionFactory" ref="connectionFactory" /> 
    <property name="defaultDestination" ref="httpPostQueue" /> 
</bean> 

<!-- brokers --> 
<amq:broker id="broker" start="false" useJmx="false"> 
    <amq:destinationPolicy> 
     <amq:policyMap> 
      <amq:policyEntries> 
       <amq:policyEntry queue="emailQueue"> 
        <amq:deadLetterStrategy> 
         <amq:individualDeadLetterStrategy queuePrefix="DLQ."/> 
        </amq:deadLetterStrategy> 
       </amq:policyEntry> 
      </amq:policyEntries> 
     </amq:policyMap> 
    </amq:destinationPolicy> 
    <amq:persistenceAdapter> 
     <amq:jdbcPersistenceAdapter dataSource="#dataSource" useDatabaseLock="false"/> 
    </amq:persistenceAdapter> 
</amq:broker>` 

のように見えますか?

ありがとうございます。

答えて

0

AMQ 5.5はSLF4Jを使用し、ActiveMQの、すべてにSLF4J-APIを提供していますが、アプリケーションがバインダーのいずれかを含むべきである(http://www.slf4j.org/codes.html#StaticLoggerBinderを参照)

+0

私は実際にSLF4Jのために必要なすべてのjarファイル(SLF4J-API-1.5.11、SLF4J-log4j12-1.5.11.jar)を追加する必要がありました:私たちのMaven POMファイルでは、私はにSLF4Jの依存関係を更新しますJettyのWEB-INF/lib。これはちょっと変わったですが、クラスパス以外でこのフォルダにjarを指定しなければならない場合がいくつかありました。 – user941479

0

のActiveMQ 5.5にアップグレードするとき、私は同じ問題を抱えていました。 ActiveMQ 5.5では新しいバージョンのslf4jが使用されています。私たちはまだ1.4.2を使用していましたが、これは古すぎます。

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    <version>1.6.4</version> 
</dependency> 
関連する問題