ProgJ 2020-02-23 15:00 采纳率: 50%
浏览 423

stomp各位怎么做到复用连接的呢

做毕设在前端使用stomp创建了sender(生产消息)和listener(监听消息),为了保持数据最新,我设置了10秒的定时器每过一会就调用一次sender发送消息去后端请求数据,再通过listener接收后端传回的数据。
但是我发现每次调用sender都会创建一个connection(通过activemq后台查看的),如图(可以看到有很多个连接了):

图片说明

所以怎么样能让连接可以多次使用?或者保证我的连接数量不这样每发一次消息就增加一个连接?

  • 写回答

1条回答 默认 最新

  • lshen01 2023-03-17 08:52
    关注

    参考GPT和自己的思路:

    感谢您的问题,关于如何实现 stomp 连接的复用,我提供以下几种方法:

    1. 使用连接池技术。连接池技术的基本思路是在应用程序初始化时,创建一定数量的连接并将其存入连接池,当需要连接时,从连接池中检索一个连接,使用后将其释放回连接池,从而实现连接的复用。常用的连接池技术有 C3P0、DBCP、Jedis 等。

    2. 在前端代码中实现连接复用。具体做法是,在 FrontController 初始化中创建 stomp 客户端连接,然后在发送消息时,先检查是否已经建立了连接,如果已经建立,则直接使用已有连接发送消息,否则创建新连接。需要注意的是,在关闭连接时,应该判断当前连接是否正在使用,如果正在使用,则等待其彻底关闭之后再关闭。

    3. 使用持久连接。持久连接是指在客户端和服务器之间建立一条长连接,保持连接的同时,可以发送多个请求和接收多个响应,从而实现连接的复用。需要注意的是,持久连接需要特殊的配置参数,如超时时间、心跳间隔等,否则可能会引起连接丢失或断开。

    希望以上建议可以解决您的问题!

    评论

报告相同问题?

悬赏问题

  • ¥15 一道python难题2
  • ¥15 一道python难题
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备