简体   繁体   中英

Active MQ in Spring MVC application throws error in JBoss deployment

I am trying to use ActiveMQ in my spring web application and it works fine in tomcat 7. When I try to deploy the same in jboss, I am facing a weird exception like

INFO  [org.jboss.as.jpa] (MSC service thread 1-6) JBAS011401: Read persistence.xml for activemq
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.module.service."deployment.message.war".main: org.jboss.msc.service.StartException in service jboss.module.service."deployment.message.war".main: JBAS018759: Failed to load module: deployment.message.war:main
    at org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:91) [jboss-as-server-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
-
-
Caused by: org.jboss.modules.ModuleNotFoundException: org.jboss.as.jpa.openjpa:main
    at org.jboss.modules.Module.addPaths(Module.java:1030) [jboss-modules.jar:1.3.0.Final-redhat-2]

Following is my context.xml

<bean id="jmsFactory" class="com.sample.config.CustomActiveMqConnectionFactory">
<property name="brokerURL" value="failover:(tcp://localhost:61616)?randomize=true" />
    <property name="userName" value="admin" />
    <property name="password" value="admin" />
    </bean>

    <bean id="producerJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
        <property name="connectionFactory">
            <bean class="org.springframework.jms.connection.SingleConnectionFactory">
                <property name="targetConnectionFactory" ref="jmsFactory" />
            </bean>
        </property>
    </bean>
<!-- ActiveMQ destinations to use -->
    <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue"
        autowire="constructor">
        <constructor-arg value="sampleMQ" />
    </bean>



    <bean id="jmsMessageProducer" class="com.sample.service.MessageProducer">
        <property name="template" ref="producerJmsTemplate" />
        <property name="destination" ref="destination" />
    </bean>


    <bean id="messageListener" class="com.sample.service.MessageListener" />


    <bean id="jmsContainer" class="com.sample.service.CustomMessageListenerContainer">
        <property name="connectionFactory" ref="jmsFactory" />
        <property name="destination" ref="destination" />
        <property name="messageListener" ref="messageListener" />
    </bean>

. My POM.Xml has the following dependencies

<dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-core</artifactId>
       <version>5.7.0</version>
      </dependency>
     <dependency>
      <groupId>org.apache.activemq</groupId>
      <artifactId>activemq-all</artifactId>
      <version>5.1.0</version>
        </dependency>

    <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-jpa-store</artifactId>
        <version>5.2.0</version>
    </dependency>
 <dependency>
     <groupId>org.jboss.as</groupId>
     <artifactId>jboss-as-jpa-openjpa</artifactId>
     <version>7.2.0.Final</version>
     <type>pom</type>
    </dependency>

Initially POM file did not have an entry of jboss-as-jpa-openjpa dependency. Even after adding it explicitly I am facing the error above. I couldnt understand the link between open jpa and activemQ. Let me know if any info is to be added up in the question. Please help me out. Thanks in Advance

can you try putting

<property name="openjpa.MetaDataFactory" value="jpa"/>  

into your persistance.xml properties section

See this for more - https://community.jboss.org/thread/231784?_sscc=t

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM