IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> activemq在springboot中的使用(包括websocket)以及源文件 -> 正文阅读

[网络协议]activemq在springboot中的使用(包括websocket)以及源文件

消费者

public class Consumers implements MessageListener {

    private static final Logger LOGGER = LoggerFactory.getLogger(Consumers.class);

    private static final String BROKER_URL = "failover://tcp://localhost:61616";
    private ConnectionFactory connectionFactory;
    private Connection conn;
    private Session session;
    private Destination dest;
    private MessageConsumer consumer;




    public void creatConn() throws JMSException {

        connectionFactory = new ActiveMQConnectionFactory("admin", "admin", BROKER_URL);
        //创建mq连接
         conn = connectionFactory.createConnection();
        //启动连接
        conn.start();
        //创建会话
        session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
    }
    public void connQueue(String SUBJECT) throws JMSException {
        //通过会话创建目标
        dest = session.createQueue(SUBJECT);

        //创建mq消息的消费者
        consumer = session.createConsumer(dest);
        //初始化MessageListener
        Consumers me = new Consumers();

        //给消费者设定监听对象
        consumer.setMessageListener(me);
    }

    public void closeConn()throws JMSException{
        //关闭mq连接
//        consumer.close();
//        session.close();
        conn.close();

        System.out.println("消费者链接关闭" +"======="+conn);
    }

    public void onMessage(Message message) {
        System.out.println(message);
        TextMessage txtMessage = (TextMessage)message;
        try {
            msg=txtMessage.getText();
            JSONObject jsonObject = JSON.parseObject(msg);
            String textMessage = jsonObject.getString("message");
            String from = jsonObject.getString("uname");
            String to = jsonObject.getString("to");
            Map<String, Object> mp1 = new HashMap<>();
            mp1.put("messageType", 4);
            mp1.put("textMessage", textMessage);
            mp1.put("fromUser", from);
            webSocket.sendMessageTo(JSON.toJSONString(mp1), to);
        } catch (JMSException e) {
            e.printStackTrace();
        }
    }
    private static WebSocket webSocket= new WebSocket();

    private String msg;

}

生产者

public class Producers {
    private static final Logger LOGGER = LoggerFactory.getLogger(Producers.class);

private static final String BROKER_URL = "failover://tcp://localhost:61616";
    //动态队列SUBJECT

    //初始化连接工厂
    private ConnectionFactory connectionFactory;
    //获得连接
    private Connection conn;
     //创建Session,此方法第一个参数表示会话是否在事务中执行,第二个参数设定会话的应答模式
     private Session session;
    //创建队列
    private Destination dest;
    //通过session可以创建消息的生产者
    private MessageProducer producer;

    public void createConn() throws JMSException {
        connectionFactory = new ActiveMQConnectionFactory("admin", "admin", BROKER_URL);
        conn = connectionFactory.createConnection();
        //启动连接
        conn.start();
        session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
    }

    public void closeConn()throws JMSException{
        //关闭mq连接
        conn.close();
    }

    public void createQueue(String SUBJECT) throws JMSException{
        dest = session.createQueue(SUBJECT);
        producer = session.createProducer(dest);
    }

    public void  sendMsg(String msg) throws Exception {
        //初始化一个mq消息
        TextMessage message = session.createTextMessage(msg );
        //发送消息
        producer.send(message);

        LOGGER.debug("send message");
    }
}

源码包链接(websocket+activemq)

https://download.csdn.net/download/Caiabcd/20628919?spm=1001.2014.3001.5503

websocket博文

https://blog.csdn.net/Caiabcd/article/details/118556245

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 13:06:15  更:2021-07-30 13:06:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 3:28:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码