ActiveMq的安装及使用

来源:互联网 发布:肠道益生菌 知乎 编辑:程序博客网 时间:2024/06/06 03:06

ActiveMq的安装

  1. 解压缩ActiveMq的压缩包
  2. 启动ActiveMq 在解压目录下bin中使用 activemq start

java操作ActiveMq

消息发布者的使用

    ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("");    Connection connection=connectionFactory.createConnection();    connection.start();    Session session=connection.createSession(false, Session.AUTO_ACKNOWLEDGE);    Queue queue=session.createQueue("");    MessageProducer  producer=session.createProducer(queue);    TextMessage textMessage=session.createTextMessage();    textMessage.setText("");    producer.send(textMessage);    producer.close();    session.close();    connection.close();

消息接受者

    ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("");    Connection connection=connectionFactory.createConnection();    connection.start();    Session session=connection.createSession(false, Session.AUTO_ACKNOWLEDGE);    Queue queue=session.createQueue("");    MessageConsumer consumer=session.createConsumer(queue);    consumer.setMessageListener(new MessageListener() {        @Override        public void onMessage(Message message) {            TextMessage textMessage=(TextMessage) message;            try {                textMessage.getText();            } catch (JMSException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }    });     consumer.close();    session.close();    connection.close();

ActiveMq与Spring的整合

消息生产者

  1. 先配置jms的connectionFactory
  2. 然后配置singleConnectionFactory
  3. 配置queue或者topic
  4. 配置JmsTemplate

    <!-- 真正可以产生Connection的ConnectionFactory,由对应的 JMS服务厂商提供 --><bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">    <property name="brokerURL" value="tcp://192.168.25.168:61616" /></bean><!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory --><bean id="connectionFactory"    class="org.springframework.jms.connection.SingleConnectionFactory">    <!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->    <property name="targetConnectionFactory" ref="targetConnectionFactory" /></bean><!-- 配置生产者 --><!-- Spring提供的JMS工具类,它可以进行消息发送、接收等 --><bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">    <!-- 这个connectionFactory对应的是我们定义的Spring提供的那个ConnectionFactory对象 -->    <property name="connectionFactory" ref="connectionFactory" /></bean><!--这个是队列目的地,点对点的 --><bean id="queueDestination" class="org.apache.activemq.command.ActiveMQQueue">    <constructor-arg>    <value>spring-queue</value>    </constructor-arg></bean>




    消费者的配置

    <bean id="targetConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">    <property name="brokerURL" value="tcp://192.168.25.168:61616" /></bean><!-- Spring用于管理真正的ConnectionFactory的ConnectionFactory --><bean id="connectionFactory"    class="org.springframework.jms.connection.SingleConnectionFactory">    <!-- 目标ConnectionFactory对应真实的可以产生JMS Connection的ConnectionFactory -->    <property name="targetConnectionFactory" ref="targetConnectionFactory" /></bean><bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">    <property name="connectionFactory" ref="connectionFactory" />    <property name="destination" ref="queueDestination" />    <property name="messageListener" ref="myMessageListener" /></bean><!--这个是队列目的地,点对点的 --><bean id="queueDestination" class="org.apache.activemq.command.ActiveMQQueue">    <constructor-arg>    <value>spring-queue</value>    </constructor-arg></bean>




原创粉丝点击