JMS ActiveMQ 和 Netbeans

JMS ActiveMQ and Netbeans

我是来询问有关JMS的一些信息的。 我正在使用 Netbeans 和 ActiveMQ 创建一个简单的主题并订阅

在实验室 class 我们只开发了一个消费者(因为教授已经创建了一个服务器)但是在我家我需要生产和消费者来做一些东西。

我从这个例子开始https://javainsider.wordpress.com/tag/jms-with-activemq-sample-example/

我在 Netbeans 中为 Producer 创建了一个 Java Web 应用程序并将其作为午餐。 在我为消费者创建 Java 应用程序之后。 我们午餐(服务器和客户端)我只收到这条消息

" INFO | 成功连接到 tcp://localhost:61616"

所以我知道我在创建项目时犯了一些错误。 如果我在 ActiveMQ 的 localost 中看到,在查询中我什么都没有。

任何人都可以帮我解决这个问题。 谢谢,

您使用的是哪个框架?

如果您正在使用 spring 框架工作,您需要在应用程序上下文文件中建立连接。

您可以使用以下代码作为参考。 (我使用队列而不是主题)

用于设置生产者:

 <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL" value="tcp://localhost:61616"/>
    </bean>
    <bean id="ExportQueue" class="org.apache.activemq.command.ActiveMQQueue">
        <constructor-arg value="ExportQueue"/>
    </bean>
    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
        <property name="connectionFactory" ref="connectionFactory"/>
        <property name="receiveTimeout" value="10000"/>
    </bean>  
    <bean id="JMSExportProducer" class="com.krawler.spring.accounting.jms.JMSExportProducer">
        <property name="jmsTemplate" ref="jmsTemplate"/>
    </bean>

对于消费者:

<bean id="JMSExportConsumer" class="com.krawler.spring.accounting.reports.JMSExportConsumer">
        <property name="destination" ref="ExportQueue"/>
        <property name="jmsTemplate" ref="jmsTemplate"/>
 </bean>

    <bean id="jmsExportContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
        <property name="concurrentConsumers">
            <value>25</value>
        </property>
        <property name="connectionFactory" ref="connectionFactory"/>
        <property name="destination" ref="ExportQueue"/>
        <property name="messageListener" ref="JMSExportConsumer"/>
    </bean>