- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有类似 MQ 消息的消息转发器/路由器之类的东西。我正在尝试根据某些规则转发消息。这种转发是通过从一个队列接收消息,创建一个新消息(具有相同或修改的内容)并将其放入另一个队列来完成的。转发器的存在应该尽可能透明。
目前我的问题是 PutApplicationType
消息属性。看起来我无法更改此属性。我有 .NET 和 Java 示例实现,我只是想简单地使用:
MQMessage forwardedMessage = new MQMessage();
forwardedMessage.putApplicationType = CMQC.MQAT_UNIX;
我尝试使用什么值并不重要。 .NET 版本始终使用 MQAT_DEFAULT
/MQAT_WINDOWS_NT
发送消息,而 Java 版本始终使用 MQAT_JAVA
发送消息。
是否可以更改此 header ?如果我不更改该值,是否会导致遗留系统出现问题?为什么不能更改值?
顺便说一句。转发原始消息也不起作用 - 我的应用程序也会更改 PutApplicationType
属性。
编辑:如果我使用 native C API,我是否能够控制此属性的内容?
最佳答案
正如 T.Rob 所说,您需要阅读手册(WMQ Using Java 或 WMQ Using .Net)。转发消息不是上面列出的简单任务。有几个选项/参数需要正确设置。
下面是一段删除了所有异常处理的 Java 代码片段:
int openInputOptions = MQC.MQOO_INQUIRE + MQC.MQOO_FAIL_IF_QUIESCING + MQC.MQOO_INPUT_SHARED + MQC.MQOO_SAVE_ALL_CONTEXT;
int openOutputOptions = MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING + MQC.MQOO_PASS_ALL_CONTEXT;
MQQueue _inQ = _qMgr.accessQueue( inQueueName, openInputOptions, null, null, null );
MQQueue _outQ = _qMgr.accessQueue( outputQueueName, openOutputOptions, null, null, null );
MQGetMessageOptions getOptions = new MQGetMessageOptions();
getOptions.options = MQC.MQGMO_NO_WAIT + MQC.MQGMO_FAIL_IF_QUIESCING;
MQMessage mqMsg = new MQMessage();
mqMsg.correlationId = MQC.MQCI_NONE;
mqMsg.messageId = MQC.MQMI_NONE;
_inQ.get(mqMsg, getOptions);
MQPutMessageOptions pmo = new MQPutMessageOptions();
pmo.options = MQC.MQPMO_FAIL_IF_QUIESCING + MQC.MQPMO_PASS_ALL_CONTEXT;
pmo.contextReference = _inQ;
_outQ.put(mqMsg, pmo);
关于java - 是否可以更改传出 MQMessage 的 PutApplicationType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11396731/
我有类似 MQ 消息的消息转发器/路由器之类的东西。我正在尝试根据某些规则转发消息。这种转发是通过从一个队列接收消息,创建一个新消息(具有相同或修改的内容)并将其放入另一个队列来完成的。转发器的存在应
我是一名优秀的程序员,十分优秀!