首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMS连接和会话池

JMS连接和会话池
EN

Stack Overflow用户
提问于 2017-02-27 09:36:10
回答 1查看 953关注 0票数 0

我目前正在开发一种产品,该产品有自己的JMS提供者,其实现没有得到详细的文档说明。我必须在Java中准备一个独立的客户机应用程序,该应用程序将把消息发送到JMS队列。我期望有一个庞大的数据量,因此我正在考虑实现JMS连接池和会话池。

在任何对象池中,在将对象返回给客户端之前,我们需要确定对象是否健康。JMS似乎没有提供"isHealthy()“方法。另外,我无法依赖ExceptionListener,主要是因为我不确定JMS实现,而且ExceptionListener调用也是异步的。我想知道如果在调用onException之前将连接移交给客户端会发生什么情况。

作为解决方案,我计划使用TCP空闲连接超时。我的理解是,只有当TCP空闲时间连接超时结束或JMS提供者关闭时,连接才会变得不健康。

因此,我计划创建一个池连接包装器对象,当连接创建或客户端返回到池时,该对象将存储“最后使用时间”。在将连接移交给客户端之前,池将检查“上次使用时间”是否小于3分钟(假设默认TCP空闲连接超时时间为5分钟)。

我的理解和实施是否正确?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-28 11:49:58

以下是我要做的事:

如果失败了,我的连接就死定了。然后,GenericObjectPool将自动调用工厂来创建一个全新的连接(#makeObject)来替换已死的连接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42482192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档