在web项目中如何启动activemq? 15

不要随便在网上找个例子给我,那些我都看过了。... 不要随便在网上找个例子给我,那些我都看过了。 展开
 我来答
胃疼一辈子
2017-07-13 · 超过23用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:22.9万
展开全部

看到这个问题我真是很难过,我现在工程一启动就把activemq自动启动起来,但是我不想这么搞啊!怎么都弄不掉,发上配置问题给你看看

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:amq="http://activemq.apache.org/schema/core"
    xmlns:jms="http://www.springframework.org/schema/jms"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
        http://www.springframework.org/schema/jms
        http://www.springframework.org/schema/jms/spring-jms-4.1.xsd
        http://activemq.apache.org/schema/core
        http://activemq.apache.org/schema/core/activemq-core-5.12.1.xsd"
        >
    
    <context:component-scan base-package="com.lottery.i" />
    <mvc:annotation-driven />
        
    <amq:connectionFactory id="amqConnectionFactory" 
        brokerURL="tcp://${activemq.url}:${activemq.port}" 
        userName="${activemq.name}" 
        password="${activemq.password}" />
    
    <!-- 配置JMS连接工长 -->
    <bean id="connectionFactory"
        class="org.springframework.jms.connection.CachingConnectionFactory">
        <constructor-arg ref="amqConnectionFactory" />
        <property name="sessionCacheSize" value="100" />
    </bean>
    
    <!-- 定义消息Topic -->
    <bean id="topicDestination"  class="org.apache.activemq.command.ActiveMQTopic">
<!-- 投注推送容器 -->
        <constructor-arg value="resultTopic"/>
    </bean>
    
    
    <!-- 配置JMS模板(Topic),Spring提供的JMS工具类,它发送、接收消息。 -->
    <bean id="jmsTemplate4T" class="org.springframework.jms.core.JmsTemplate">
        <property name="connectionFactory" ref="connectionFactory" />
        <property name="defaultDestination" ref="topicDestination" />
        <property name="receiveTimeout" value="1000" />
        <!-- true是topic,false是queue,默认是false,此处显示写出false -->
        <property name="pubSubDomain" value="true" />
        <!-- 发送模式
             DeliveryMode.NON_PERSISTENT=1:非持久 ;
             DeliveryMode.PERSISTENT=2:持久
        -->
        <property name="deliveryMode" value="2"/>
    </bean>
    
    <bean id="topicProducer" class="com.lottery.i.server.impl.TopicProducerService">
    </bean>
    
     <!-- 配置JMS连接工厂(投注推送) -->
    <bean id="consumerConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL" value="failover:(tcp://${activemq.url}:${activemq.port})" />
        <property name="useAsyncSend" value="true" />
        <property name="clientID" value="${activemq.clientBettingId}" /><!-- 这个clientID各个服务器要唯一 -->
    </bean>
    <!-- 消息订阅客户端1 -->
    <bean id="consumerListenerClient1" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
        <property name="connectionFactory" ref="consumerConnectionFactory" />
        <!-- 开启订阅模式 -->
        <property name="pubSubDomain" value="true"/>
        <property name="destination" ref="topicDestination" />
        <property name="subscriptionDurable" value="true"/>
        <!---这里是设置接收客户端的ID,在持久化时,但这个客户端不在线时,消息就存在数据库里,直到被这个ID的客户端消费掉-->
        <property name="clientId" value="${activemq.clientBettingId}"/><!-- 这个clientID各个服务器要唯一 -->
        <property name="messageListener" ref="consumerMessageListenerBetting" />
        <!-- 消息应答方式
             Session.AUTO_ACKNOWLEDGE  消息自动签收
             Session.CLIENT_ACKNOWLEDGE  客户端调用acknowledge方法手动签收
             Session.DUPS_OK_ACKNOWLEDGE 不必必须签收,消息可能会重复发送
        -->
        <property name="sessionAcknowledgeMode" value="1"/>
    </bean>
    <!-- 配置消息消费监听者 -->
    <bean id="consumerMessageListenerBetting" class="com.lottery.i.server.impl.ConsumerMessageListenerBetting" />
    
    
 </beans>
appor86
2017-04-17
知道答主
回答量:34
采纳率:0%
帮助的人:5.3万
展开全部
工程中导入activemq-broker-5.10.0.jar执行下面的语句就能启动一个代理服务。这就算起来了,这样就可以收发消息了,当然路径要改一下。
至于什么时候启动这个服务,自己在xml文件里去配置就可以了。

BrokerService broker = new BrokerService();
broker.addConnector("tcp://localhost:61616");
broker.setBrokerName("mybroker");
broker.start();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式