博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring4.2 集成ActiveMQ5.14
阅读量:4449 次
发布时间:2019-06-07

本文共 6335 字,大约阅读时间需要 21 分钟。

1:libs

2:web.xml

org.springframework.web.context.ContextLoaderListener
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
encodingFilter
/*
TestServlet
com.test.TestServlet
TestServlet
/TestServlet

 

3:applicationContext.xml

${amq.broker.url}
${amq.username}
${amq.password}

 

4:config.properties

#JMS消息服务信息amq.broker.url=tcp://127.0.0.1:61616#failover:(tcp://192.168.3.100:61616,tcp://192.168.3.110:61616,tcp://192.168.3.120:61616)amq.username=adminamq.password=adminamq.max.connections=100amq.session.cache.size=100amq.queue=test.queueamq.concurrent.consumers=5amq.concurrency=3-10amq.max.concurrent.consumers=100

 

5:SendService.java

package com.microwisdom.jms;import java.util.logging.Level;import java.util.logging.Logger;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.Session;import javax.jms.TextMessage;import org.springframework.jms.core.JmsTemplate;import org.springframework.jms.core.MessageCreator;/** * @作者 yan * @创建日期  * @版本 V1.0 * @描述  */public class SendService {private JmsTemplate jmsQueueTemplate;    public void setJmsQueueTemplate(JmsTemplate jmsQueueTemplate) {        this.jmsQueueTemplate = jmsQueueTemplate;    }        /**     * 发送JMS消息     * @param msg     * @return      */    public String sendMsg(final String msg) {        Message replyMsg = this.jmsQueueTemplate.sendAndReceive(new MessageCreator(){            public Message createMessage(Session sn) throws JMSException {                TextMessage txtMsg = sn.createTextMessage(msg);                return txtMsg;            }        });                TextMessage txtMsg = (TextMessage)replyMsg;                String result = null;                try {            result = txtMsg.getText();        } catch (JMSException ex) {            Logger.getLogger(SendService.class.getName()).log(Level.SEVERE, null, ex);        }                return result;    }}

 

6:JmsReceiver.java

package com.microwisdom.jms;import java.util.logging.Level;import java.util.logging.Logger;import javax.jms.JMSException;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.TextMessage;import org.springframework.jms.listener.SessionAwareMessageListener;import org.springframework.jms.support.JmsUtils;/** * @作者 yan * @创建日期  * @版本 V1.0 * @描述 JMS消息异步接收处理 */public class JmsReceiver implements SessionAwareMessageListener
{ public void onMessage(TextMessage m, Session sn) { MessageProducer producer = null; String path; TextMessage txtMsg; try { path = m.getText(); System.out.println("===========jms_receiver,收到消息:"+path); txtMsg = sn.createTextMessage("jms_receiver,消息处理返回........."); producer = sn.createProducer(null); producer.send(m.getJMSReplyTo(), txtMsg); } catch (JMSException ex) { Logger.getLogger(JmsReceiver.class.getName()).log(Level.SEVERE, null, ex); } finally { JmsUtils.closeMessageProducer(producer); } }}

 

7:TestServlet.java

package com.test;import com.microwisdom.jms.SendService;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.context.WebApplicationContext;import org.springframework.web.context.support.WebApplicationContextUtils;public class TestServlet extends HttpServlet {    SendService sendService;         @Override    public void init() throws ServletException {        ServletContext sc = this.getServletContext();        WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(sc);        sendService = wac.getBean("sendService", SendService.class);    }       protected void processRequest(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {        response.setContentType("text/html;charset=UTF-8");        request.setCharacterEncoding("UTF-8");                String path = request.getParameter("path");                PrintWriter out = response.getWriter();                        try {            out.print(sendService.sendMsg(path));        } finally {            out.close();        }    }     @Override    protected void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {        processRequest(request, response);    }     @Override    protected void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {        processRequest(request, response);    }}

 

转载于:https://www.cnblogs.com/yshyee/p/7448808.html

你可能感兴趣的文章
九度oj 题目1252:回文子串
查看>>
面向对象
查看>>
移动端调用电话、短信、唤起QQ和使用百度地图
查看>>
开发时间及内容(二)
查看>>
C++primer 10.2.1节练习
查看>>
perl 执行mysql select 返回多条记录
查看>>
mojo 关闭utf8
查看>>
tomcat架构分析(valve机制)
查看>>
消息队列RabbitMQ基础知识详解
查看>>
接口、抽象类、方法复写、类Equals方法重写
查看>>
快学Scala习题解答—第十章 特质
查看>>
Ffmpeg 定位文件(seek file)
查看>>
数据结构与算法随学随记
查看>>
微软Azure已开始支持hadoop--大数据云计算
查看>>
统计_statistics_不同的人_大样本_分析_统计方法_useful ?
查看>>
wampserver 绑定域名 外部可以正常访问
查看>>
将博客搬至CSDN
查看>>
sqoop/1.4.6/下载
查看>>
https协议及与http协议的比较
查看>>
mongodb数据备份与恢复
查看>>