2016-01-22 71 views
1

有关应用程序中会话的最佳做法是什么,该应用程序旨在每5秒从MQ服务器获取消息?IBM Websphere MQ会话生存期

我应该在整个时间内打开一个会话(可能是几周或更长时间),还是更好地打开会话,获取消息,然后再次关闭会话?

我正在使用.net IBM XMS v8客户端库。

回答

0

我不确定你在调用会话,但通常应用程序连接到启动时为其提供服务的队列管理器,并在运行时保持该连接。 5秒钟后,我看不到断开连接重新连接的理由。

至于保持队列打开,这取决于你的环境。 如果没有特殊情况,我会保持队列打开。

我认为最值得考虑的是如何发出GET来阅读消息。

+0

会话是一个会话;) 你什么时候打电话: ''''的ISession会议= conn.CreateSession(假,AcknowledgeMode.ClientAcknowledge);'''' – MuhKuh

1

添加到@Attila Repasi的回复中,我会为消费者添加消息监听器。只要消息需要传递给应用程序,消息监听器就会被调用。这避免了应用程序显式调用receive()以从队列中检索消息,并在队列中没有消息时浪费CPU周期。