- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们使用 IBM MQ 作为具有多实例设置的消息传递层。使用 XMS 客户端(7.5 版)的 .NET 应用程序将从多个队列中读取消息。由于消息量很大,我为每个队列创建了大约 5 个连接来读取消息。并且有4个这样的队列。所以在应用程序中的任何时间点,都有 20 个连接和 20 个 session 打开。使用此设置,我面临两个问题:
我经常在打开连接时遇到两个 XMS 异常。一个是 MQRC_HOST_NOT_AVAILABLE((2538,X'9EA')尝试将对话分配给远程系统失败。)另一个是 MQRC_CONNECTION_BROKEN(连接队列管理器丢失。)
关闭应用程序时,关闭所有 session 和连接需要更多时间,因为它们太多了。
所以我在考虑减少连接数。只需为每个队列创建一个连接并为每个队列打开 5 个 session 。这样,连接数将减少到 4 个(从 20 个)。所以我认为上述两个问题都将得到解决(尚未尝试)
因此希望有知情人士分享他们处理上述情况的最佳实践的经验。与每个连接打开一个 session 相比,如果我们为每个连接打开多个 session ,传递消息会有任何延迟吗?
我使用的代码如下:
private XMSFactoryFactory xMSFactoryFactory;
private IConnectionFactory connectionFactory;
private IConnection connectionWMQ;
private ISession sessionWMQ;
private IDestination destination;
private IMessageConsumer messageConsumer;
xMSFactoryFactory= XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
connectionFactory = _xMSFactoryFactory.CreateConnectionFactory();
// Set queue manager name, set server names, channel, use
// XMSC.WMQ_CM_CLIENT as WMQ_CONNECTION_MODE
connectionWMQ = _connectionFactory.CreateConnection();
sessionWMQ = _connectionWMQ.CreateSession(true, AcknowledgeMode.SessionTransacted);
destination = sessionWMQ.CreateQueue(_queueSettings.QueueName);
messageConsumer = sessionWMQ.CreateConsumer(_destination);
messageConsumer.MessageListener = new MessageListener(ProcessNewMessage)
最佳答案
适当调整后的 QMgr 可以处理数千个连接。 MQRC_HOST_NOT_AVAILABLE
表明您正在遇到资源限制,MQRC_CONNECTION_BROKEN
错误表明您的 session 没有干净地结束并且被孤立。
不幸的是,没有足够的信息来用所写的问题来诊断这个问题。如果我尝试诊断,我想知道所有相关调整参数的配置设置:
在操作上,我想知道发生这种情况时有多少 channel 实例在运行。
我还想知道在全局错误日志和 QMgr 的错误日志中看到了什么错误(如果有的话)。
我会查询未提交的事务并在错误日志中查找回滚事件。使用默认调整的 QMgr,如果不处理异常,事务回滚可能会导致 channel 丢失,这不是人们直观地寻找的东西。
这些问题的答案可能会导致调整 QMgr、增强应用程序或进行更多诊断,之后我会再试一次。
但是这个问题目前甚至还没有包含基本的诊断信息,因此无法有把握地确定根本原因。根据所写的问题,我可以说的是,我不会做的一件事是尝试通过减少应用程序中的连接数来解决这个问题,因为该应用程序设计为 20 个合法连接对于任何 QMgr 来说都是微不足道的。
关于c# - IBM MQ Connection 和 session 数的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31515239/
IBM Watson 和 IBM Inforsphere BigInsights (IBM Hadoop)/Streams 之间有什么区别? Watson 带来了 BigInsights 无法提供的哪
据我所知,Rational 是一种测试工具,而 Rational Rose 是一种建模工具。 最佳答案 Rational 是一家为软件开发生命周期制作工具的公司。 Rational Rose 就是这样
我尝试将 ibm-eventstreams-dev v 0.1.1 安装到 IBM Cloud Private 中,但收到一条错误消息: 内部服务错误:图表与 Tiller v2.6.0 不兼容 最佳
我正在尝试配置连接到集群MQ的集群Websphere应用程序服务器。 但是,我所掌握的信息是两个具有不同主机名,服务器通道和队列管理器的MQ实例的详细信息,这些主机名属于同一MQ集群名称。 在Webs
我想问问你们中的一些聪明人 :) 是否可以在 IBM Connections 文件中使用目录结构。还有图书馆,但我无法通过 webdav/smdb 映射它,也许这是关于我的信息差距,但我可以安装桌面插
我一次又一次地读到 IBM i 是一个支持多种编程语言的现代系统。除了 COBOL 和 RPG 之外,我如何确定哪些可供我使用? 维基百科上提供了一份 list ,我对 C、C++、BASIC、Sma
是否可以将 IBM HTTP 服务器设置为非 IBM Websphere 应用程序服务器(Glassfish、Apache Tomcat 或其他 Java 应用程序服务器)的前端?IBM 支持吗?我试
我有一个在 IBM Bluemix 上运行的简单 JSF 应用程序,与以下 J2EE 依赖项配合良好。 javax javaee-web-api 6.
我正在查看一个 RPG 程序。有一些这样的子程序:有没有工具哪个会将其创建为一个过程,可以在单独的过程中使用? C Eval FinQty# = 0
我正在设计一个新的体系结构大数据,我的客户将其作为IBM MQ代理使用。我们曾经在大数据架构中与Kafka一起工作,因为我想它比其他选择更快,更可靠,更强大,并且因为风暴和火花流在Kafka中更容易工
我偶然发现了一些 FMTDTA,它似乎是一种查询/排序语言,早于旧 RPG 系统中的 SQL。我试图解开它的用法。 例子: 物理文件布局: ORNO S 9 0 1
除了许可之外,IBM Worklight 的企业版和消费者版之间在功能方面是否存在任何差异? 最佳答案 企业版的销售目的是在组织内使用 (B2E)。许可证是“每台设备”。消费者版旨在以 B2C 的形式
我希望使用 IBM Worklight v5.0.5 Fix pack 1 设置 Eclipse 开发环境。 我可以获得有关旧版本 Worklight 的安装链接的一些指示吗? 最佳答案 查看下面的可
是否可以保留已检索且不再位于队列中的消息历史记录(包含消息内容将是完美的)? 在应用程序中,我可以看到发送者何时尝试将消息放入队列以及接收者何时尝试拾取消息,但我想查看消息何时真正到达队列以及消息何时
我正在向远程队列发送消息,但我无法控制该队列。 我发送一个 xml 文件作为消息,但是当应用程序读取消息时,它会得到一个消息头,例如 jms_text \0\0\0lqueue:///TEST128
在什么情况下队列管理器可能会失去与集群环境中存储库的连接?我的环境中队列管理器经常失去与存储库的连接,我需要刷新集群来修复此问题并重新建立与集群中其他队列管理器的通信。 我们的集群有 100 个队列管
我们正在为助手实现 Watson 技术,以帮助某些用户。 对话有些复杂,有时需要针对某些问题做跳答,这样做的坏处是用户可以再问一遍问题,以防不明白这就是问题所在。 当想进入后续进入的节点时,该节点进行
我们有一个启用了 DevOps 交付管道的 NodeJS Cloud Foundry 应用程序。 最初,我们将管道设置为使用 Bluemix 中交付管道的 Active Deploy 扩展来部署应用程
请注意,此问题特定于“IBM DB2 for i”,即 IBM i 操作系统的 version of DB2 . 下面的屏幕截图显示了一个故意错误的 INSERT 语句,它产生了 SQL0407 的
我想使用 IBM Websphere MQ 客户端 v7.5。我正在编写独立的 JMS 客户端应用程序来发送和使用来自 IBM WebsphereMQ 服务器的消息(它在其他地方运行,但我有权发送/接
我是一名优秀的程序员,十分优秀!