- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是一名 Java 开发人员。为了连接到 IBM MQ,我在 WAS 8.0.0.10 中创建了队列连接工厂和队列。我想测试超时场景,因此我特意关闭了 IBM MQ。大约用了 2-3 分钟就得到了预期的超时结果。我想减少超时的值,但是,我在那里找不到任何配置。
我可以知道是否可以配置超时值吗?因为我尝试了几乎所有的超时配置,但都没有帮助。谢谢。
最佳答案
这取决于您尝试配置的超时。
可以通过将 Connect_Timeout
值设置为您希望连接等待初始 TCP 连接的秒数来配置初始连接的 TCP 连接超时。例如,如果服务器关闭或与服务器的网络连接关闭,这将适用。如果服务器已启动并可通过网络访问,并且只有 MQ 监听器(或所有 MQ)关闭,则服务器对 MQ 监听器端口连接的响应将是立即的“连接被拒绝”,您永远不会点击TCP 连接超时。
您可以通过多种方式设置Connect_Timeout
,其中两种是:
TCP 节中的 mqclient.ini 文件(参见 Location of the client configuration file),例如:
TCP:
Connect_Timeout=30
传递一个等价于上面的java系统属性,例如:
-Dcom.ibm.mq.cfg.TCP.Connect_Timeout=30
如果您正在寻找如何设置与 MQ 的现有连接的超时,则需要注意以下几点:
IBM MQ 客户端/队列管理器默认情况下会在 channel 空闲时发送心跳消息。 SVRCONN
channel 的 HBINT
将定义发送心跳消息的时间间隔(以秒为单位),如果没有其他流量通过 JMS MQ 客户端的 channel 。
正常情况下,客户端应该始终启动 HB,队列管理器将响应。如果队列管理器在 HBINT
+5 秒内未收到 HB 请求,它将向客户端启动 HB 并期待响应。
对于小于 60 秒的 HBINT
,超时基于 2*HBINT
,对于 HBINT,超时基于
超过 60 秒。 HBINT
+ 60 SVRCONN
上的默认 HBINT
是 300,因此 MQ 连接到具有默认 HBINT
的 channel 的超时将为 360 秒。你提到 2 - 3 分钟,我怀疑如果你在 watch 上计时,它会是 6 分钟。
如果您想将超时设置为 30 秒,那么您可以将 SVRCONN
channel HBINT
更改为 15 秒,例如:
ALTER CHL(CHL.NAME) CHLTYPE(SVRCONN) HBINT(15)
请注意,该值仅在您下次与 channel 建立客户端连接时生效,它不会影响已运行 channel 的 HBINT。
另外请注意,当连接到 MQ 队列管理器 v6 或更早版本时,客户端 HB 消息仅在客户端处于 GET with WAIT 操作时发送,其他时间不发送。
关于jms - 如何减少 WAS 8.0.0.10 中队列连接工厂的超时值(默认为 2-3 分钟)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48545556/
我是一名优秀的程序员,十分优秀!