1

プロジェクトをSpring 3.0.7からSpring 3.2.3にアップグレードしようとしています。私は現在、activemq の依存関係の問題で立ち往生しており、そもそもどの jar が必要か、または競合しているのかわかりません。以下は私のスタックトレースです

run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner. java:467) org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) で org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) でorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 原因: org.springframework.beans.factory.BeanCreationException: 'org.apache.activemq.xbean.クラスパス リソース [producerServiceContext-test.xml] で定義された XBeanBrokerService#0': Bean の初期化に失敗しました。ネストされた例外は、org.springframework.beans で java.lang.NoSuchFieldError: NULL です。

以下は私のactivemq pomの依存関係です

    <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-core</artifactId>
        <version>5.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-pool</artifactId>
        <version>5.5.0</version>
    </dependency>

さらに、Spring 3.2.3 の配布バンドルを使用しています。かなりの依存関係があるため、ここにコピーして貼り付けるのは避けたいと思います。むしろ、これを簡潔かつ要点にとどめます。

これはロードされない私のアプリケーションコンテキストです

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">

    <!--  lets create an embedded ActiveMQ Broker -->
    <amq:broker useJmx="false" persistent="false">
        <amq:transportConnectors>
            <amq:transportConnector uri="tcp://localhost:0" />
        </amq:transportConnectors>
    </amq:broker>

    <!--  ActiveMQ destinations to use  -->
    <amq:queue id="destination" physicalName="org.apache.activemq.spring.Test.spring.embedded" />

    <!-- JMS ConnectionFactory to use, configuring the embedded broker using XML -->
    <amq:connectionFactory id="jmsFactory" brokerURL="vm://localhost?broker.persistent=false" />


    <!-- Spring JMS Template -->
    <bean id="fastJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
        <property name="connectionFactory">
            <!-- lets wrap in a pool to avoid creating a connection per send -->
            <bean class="org.springframework.jms.connection.SingleConnectionFactory">
                <property name="targetConnectionFactory">
                    <ref local="jmsFactory" />
                </property>
            </bean>
        </property>
    </bean>

    <bean id="consumerJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
        <property name="connectionFactory" ref="jmsFactory" />
    </bean>

    <bean id="fastJmsProducer" class="com.emakina.truvo.ssls.fast.service.util.FastJmsProducer">
        <property name="template">
            <ref bean="fastJmsTemplate"></ref>
        </property>

        <property name="destination">
            <ref bean="destination" />
        </property>
    </bean>

    <bean id="consumer" class="com.emakina.truvo.ssls.fast.service.util.SimpleFastJmsConsumer">
        <property name="template" ref="consumerJmsTemplate" />
        <property name="destination" ref="destination" />
    </bean>

</beans>

誰かが同じ統合の問題に遭遇した場合は、フィードバックをいただければ幸いです。

4

1 に答える 1