Der Versuch, die camel/Spring-Konfiguration zu ermitteln, um ApplicationIdData mithilfe von JMS festzulegen.Wie Sie ApplicationIdData mithilfe von MQQueueConnectionFactory festlegen?
ich die Java-Art und Weise wissen, dass es, wie unten zu tun, habe ich MQOO_SET_IDENTITY_CONTEXT unter
int putOptions = MQConstants.MQPMO_SET_IDENTITY_CONTEXT;
pmo.options =putOptions;
mit und stellen Sie dann i applicationIdData wie:
MQMessage msg = new MQMessage();
msg.applicationIdData = "SomeId";
msg.writeString(qmessage);
queue.put (msg, PMO);
Frage ist, wie setze ich ApplicationIdData mit JMS/camel/Spring Konfiguration. Unten ist meine aktuelle Kamelkonfiguration.
<bean class="org.apache.camel.component.jms.JmsComponent" id="jmsConnection">
<property name="connectionFactory" ref="mqConnectionFactoryWrapper" />
<property name="acknowledgementModeName" value="AUTO_ACKNOWLEDGE" />
</bean>
<bean id="connectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory">
<property name="hostName" value="${HOSTMNAME}" />
<property name="port" value="${PORT}" />
<property name="queueManager" value="${MQ_QMNAME}" />
<property name="channel" value="${MQ_INTERNAL_CHANNEL}" />
<property name="transportType" value="1" />
<!-- Transport type 1 means pure TCP/IP without any local client -->
</bean>
<bean id="mqConnectionFactoryWrapper"
class="org.springframework.jms.connection.CachingConnectionFactory">
<property name="targetConnectionFactory" ref="connectionFactory" />
<property name="sessionCacheSize" value="500" />
</bean>
<bean id="jmsTransactionManager"
class="org.springframework.jms.connection.JmsTransactionManager">
<property name="connectionFactory" ref="mqConnectionFactoryWrapper" />
</bean>
<bean id="PROPAGATION_REQUIRES_NEW"
class="org.apache.camel.spring.spi.SpringTransactionPolicy">
<property name="transactionManager" ref="jmsTransactionManager" />
<property name="propagationBehaviorName" value="PROPAGATION_REQUIRES_NEW" />
</bean>
Ich habe durch Verbindungen unten gegangen, hätte nicht die richtige Antwort
http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.0.1/com.ibm.mq.csqzaw.doc/jm41030_.htm
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q032010_.htm
'queue.put (msg, pmo);' Sieht wie eine Erweiterung von JMS aus und ist daher nicht mit der Standard-JMS-API verfügbar - also ist es mit Spring JMS nicht möglich, es sei denn, es gibt eine andere Methode zB über einen Nachrichtenkopf). –
Danke Gary, aber ich denke, dass es einen Weg/Workaround geben sollte. Will weiter versuchen ... –
IBM hat eine Möglichkeit vorgeschlagen, es als Eigenschaft festzulegen und es [IBMs Vorschlag] (http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.0.1/com.ibm.mq.csqzaw .doc/jm41030_.htm) –