将MQ与JMS api一起使用时,如何获得与ibm专有的mq api的openOptions相同的效果?
JMS API中甚至没有openOptions的概念?如果是这样,那么在API类/方法方面有什么等效之处?
Related stackoverflow question - migrating-from-ibm-mq-to-javax-jms-weblogic
最佳答案
您正在比较苹果和桔子。是的,两者都是水果,但它们是完全不同的水果。两者之间没有直接比较。
1)具有“ transacted”和“ createSender”的JMS会话基本上是带有同步点的开放输出。
即
// Open Options
int oo = MQC.MQOO_OUTPUT + MQC.MQOO_INQUIRE + MQC.MQOO_FAIL_IF_QUIESCING;
// Put Msg Options
MQPutMessageOptions pmo = new MQPutMessageOptions();
pmo.options = MQC.MQPMO_SYNCPOINT + MQC.MQPMO_FAIL_IF_QUIESCING;
2)使用“ createReceiver”(未事务处理)的JMS会话基本上是一个开放输入。
即
int oo = MQC.MQOO_INPUT_AS_Q_DEF + MQC.MQOO_INQUIRE + MQC.MQOO_FAIL_IF_QUIESCING;
// Get Msg Options
MQGetMessageOptions gmo = new MQGetMessageOptions();
gmo.options = MQC.MQGMO_FAIL_IF_QUIESCING;