tomcat监听activemq jms配置

当从webservice接收到信息的时候,消息生产者producer立刻把收到的消息放入到jms里面,消费者cusomer这时要设置一个监听,当生产者发送消息时,只要消息被发出来,消费者就会接收到消息,然后进行相应的操作。

在tomcat里面,要进行配置。

首先在tomcat安装目录里面,对conf/context.xml进行配置,加入以下代码:

<Resource

        name="jms/FailoverConnectionFactory"

        auth="Container"

        type="org.apache.activemq.ActiveMQConnectionFactory"

        description="JMS Connection Factory"

        factory="org.apache.activemq.jndi.JNDIReferenceFactory"

    brokerURL="failover:(tcp://localhost:61616)?initialReconnectDelay=100&amp;maxReconnectAttempts=5"

        brokerName="localhost"

        useEmbeddedBroker="false"/>

    <Resource

        name="jms/NormalConnectionFactory"

        auth="Container"

        type="org.apache.activemq.ActiveMQConnectionFactory"

        description="JMS Connection Factory"

        factory="org.apache.activemq.jndi.JNDIReferenceFactory"

        brokerURL="tcp://localhost:61616"

        brokerName="localhost"

        useEmbeddedBroker="false"/>

    <Resource name="jms/topic/MyTopic"

        auth="Container"

        type="org.apache.activemq.command.ActiveMQTopic"

        factory="org.apache.activemq.jndi.JNDIReferenceFactory"

        physicalName="MY.TEST.FOO"/>

    <Resource name="jms/queue/MyQueue"

        auth="Container"

        type="org.apache.activemq.command.ActiveMQQueue"

        factory="org.apache.activemq.jndi.JNDIReferenceFactory"

        physicalName="MY.TEST.FOO.QUEUE"/> 

具体也不晓得这个是做什么的,看上去貌似是配置jndi的,我没用jndi的方式,加上这个,也正常运行。所以还是加上吧。

然后在web.xml里面,加入监听的类,这个类是自己写的。

  <!-- 添加jms监听 -->
  <servlet>
    <servlet-name>jms-listener</servlet-name>
    <servlet-class>
        com.message.JMSListener
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

然后就建立这个类:

package com.message;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import javax.servlet.http.HttpServlet;

import org.apache.activemq.ActiveMQConnection;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.log4j.Logger;public class JMSListener extends HttpServlet implements MessageListener {
    /**
     *
     */
    private static final long serialVersionUID = -8455543162505698971L;
    private Logger logger=Logger.getLogger(JMSListener.class);

    ConnectionFactory connectionFactory;
    Connection connection=null;
    Session session;
    Destination destination;
    MessageConsumer consumer;
    int i;

    public JMSListener(){
        String url = "tcp://localhost:61616";
        String queue ="NewNocPacket";
        connectionFactory = new ActiveMQConnectionFactory(
                ActiveMQConnection.DEFAULT_USER,
                ActiveMQConnection.DEFAULT_PASSWORD, url);
                try {
                    connection = connectionFactory.createConnection();
                    session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
                    destination = session.createQueue(queue);
                    consumer = session.createConsumer(destination);
                    consumer.setMessageListener(this);
                    connection.start();
                } catch (JMSException e) {
                    // TODO Auto-generated catch block
                    logger.error("===========cusumer create error");
                    e.printStackTrace();
                }
    }

    @Override
    public void onMessage(Message message) {
        // TODO Auto-generated method stub
        ObjectMessage msg=(ObjectMessage) message;try {
                logger.info("=========hello ===========");
                i++;
            } catch (JMSException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    }

}

原理大概是这样,上面代码不要照抄的。

然后就ok了,部署一下项目,建立一个消息的发送者,消息到达后,监听就会自动执行,打印出onmessage里面的话。

tomcat监听activemq jms配置,布布扣,bubuko.com

时间: 2024-10-24 15:18:59

tomcat监听activemq jms配置的相关文章

配置Tomcat监听80端口 配置Tomcat虚拟主机 Tomcat日志

配置Tomcat监听80端口 • vim /usr/local/tomcat/conf/server.xml Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protocol="HTTP/1.1" • /usr/local/tomcat/bin/shutdown.sh • /usr/local/tomcat/bin/startup.sh 配置Tom

配置Tomcat监听80端口、配置Tomcat的虚拟主机、Tomcat的日志

配置Tomcat监听80端口 配置Tomcat的虚拟主机 Tomcat的日志 原文地址:http://blog.51cto.com/13515599/2093922

16.4 配置Tomcat监听80端口;16.5、16.6、16.7配置Tomcat的虚拟主机(上中下);16.8 Tomcat日志

扩展: 邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37 JAR.WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725 tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26bdd0100gwpk.html resin安装 http://fangniuwa.blog.51cto.com/10209

16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志

16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志 扩展 邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37 JAR.WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725 tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26b

Tomcat(介绍,JDK安装,Tomcat安装,配置Tomcat监听80端口)

一.Tomcat介绍 目前有很多网站是用Java编写的,所以解析Java程序就必须有相关的软件来完成,Tomcat就是其中之一 Tomcat是Apache软件基金会,的Jakarta项目中的一个核心项目,由apache.sun和其他一些公司及个人共同开发而成,Tomcat技术先进,性能稳定而且免费,因而深受Java爱好者的喜欢,并得到部分开发商的认可,成为目前比较流行的web因公服务器. Java程序写的网站用Tomcat+jdk来运行的. tomcat是一个中间件,真正起作用的,解析java脚

Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

配置Tomcat监听80端口 1.配置Tomcat服务的访问端口 Tomcat默认启动的端口是8080,如果你想修改为80,则需要修改server.xml文件. [[email protected] src]# vim /usr/local/tomcat/conf/server.xml 按如下需求更改: 找到Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protoc

配置Tomcat监听80端口, 配置Tomcat虚拟主机,Tomcat日志

配置Tomcat监听80端口 编辑配置文件vim /usr/local/tomcat/conf/server.xml在里面找到8080<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />将里面的8080改为80,然后保存退出.然后先关闭tomcat/usr/local/tomcat/bin/

配置Tomcat监听80端口、配置Tomcat的虚拟主机、日志配置

配置Tomcat监听80端口 编辑配置文件vim /usr/local/tomcat/bin/startup.sh 搜索关键字:Connector port ,将8080修改为80 更改完后保存退出,并且重启服务/usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh 这是可以查看tomcat监听的端口是否为80netstat -lntp |grep java 配置Tomcat的虚拟主机 编辑配置文件vim /usr/lo

配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

一. 配置Tomcat监听80端口 vim /usr/local/tomcat/conf/server.xmlConnector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protocol="HTTP/1.1"/usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh 二.配置Tomcat虚