Tag: mq

MQDestination覆盖记帐标记值

我试图在我的系统从入站队列收到的消息上设置会计令牌。 我使用以下设置此令牌。 msg.setObjectProperty(JmsConstants.JMS_IBM_MQMD_ACCOUNTINGTOKEN,value) 我在JmsSUpport类中也有以下属性 ((JmsDestination) dest).setBooleanProperty(WMQConstants.WMQ_MQMD_READ_ENABLED, true); ((JmsDestination) dest).setBooleanProperty(WMQConstants.WMQ_MQMD_WRITE_ENABLED, true); ((MQDestination) dest).setMQMDWriteEnabled(true); ((MQDestination) dest).setMQMDReadEnabled(true); ((MQDestination) dest).setTargetClient(JMSC.MQJMS_CLIENT_NONJMS_MQ); 由于出站队列是MQDestination,我必须设置上述属性。 现在我观察到我正在设置出站消息的值。 但是当另一个应用程序从MQ读取消息时,它具有Accounting Token的默认值。 这可能是因为MQ以这种方式配置来覆盖值吗? 或者是因为其他应用程序没有正确读取MQ消息? 或者我应该使用任何其他属性来启用会计令牌? 是因为我正在设置((MQDestination)dest).setTargetClient(JMSC.MQJMS_CLIENT_NONJMS_MQ); msg被剥夺了MQMD标头?

需要访问MQ 7的队列深度

我的下面是代码适用于MQ6,但对于MQ7,它给出了exception ‘package javaapplication1; import java.io.*; import java.net.*; import java.util.*; import java.util.TimerTask; import com.ibm.mq.MQEnvironment; import com.ibm.mq.MQException; import com.ibm.mq.MQQueue; import com.ibm.mq.MQQueueManager; import com.ibm.mq.constants.CMQC; class Connectivity { public static void main(String args[]) throws MQException { String qManager=””; int port_num=0; int openOptions = CMQC.MQOO_FAIL_IF_QUIESCING + CMQC.MQOO_INPUT_SHARED; MQEnvironment.hostname = “Host_name”; MQEnvironment.port = port_num; MQEnvironment.channel = “Chn_name”; System.out.println(“Connecting to queue manager: […]

最有效 – 性能明智 – 用于JVM间通信

我有一个Java应用程序,需要在不同进程之间进行通信。 进程可以在相同的JVM或不同的JVM中运行,但可以在同一台机器上运行。 我的应用程序需要向另一个进程(相同或不同的JVM)提交“消息”并忘记它。 类似于IBM“MQ”之类的消息传递队列,但是简单,只使用内存,没有IO到硬盘以获得性能提升。 我不确定Performance prescriptive的最佳方法是什么。 我想知道RMI在性能方面是否有效,我认为它需要一些开销。 那么使用本地主机的TCP / IP套接字呢? 还有其他想法吗?