Mam MDB w WebSphere 6. MessageListener jest połączony z kolejką Tibco EMS. W komponencie MDB próbuję pisać do kolejki produktu WebSphere MQ. Pojawia się następujący błąd:Niedozwolona próba zatwierdzenia zasobu jednofazowego z istniejącymi zasobami dwufazowymi
WMSG0042I: MDB Listener LoanIQ Payments Inbound started successfully for JMSDestination jms/eid/payments
WTRN0063E: An illegal attempt to commit a one phase capable resource with existing two phase capable resources has occurred.
WTRN0086I: XAException encountered during prepare phase for transaction 00000131...0001. Local resources follow.
WTRN0089I: [email protected] 3fbe3fbe XAResource: [email protected] enlisted: true mcWrapper.hashCode()1038237154: Vote: commit.
WTRN0089I: [email protected]:4e2e4e2e LocalTransaction:com.ibm.ejs.jms.JMSManagedSession$JMS [email protected] enlisted:true registeredForSynctruemcWrapper.hashcode()1032076676: Vote: none.
Instancja QueueConnectionFactory jest com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle
. Czy mogę uzyskać od tego XAConnection? Czy muszę? Wolałbym pozostać przy wanilii JMS, jeśli to możliwe.
Realizacja MDB jest zbliżona do:
public void onMessage(Message message) {
// ^^ incoming message delivered from EMS queue via WAS MessageListener
TextMessage textMessage = (TextMessage) message;
QueueConnectionFactory factory = (QueueConnectionFactory) context.lookup(factoryName);
Queue queue = (Queue) context.lookup(queueName);
QueueConnection connection = factory.createQueueConnection();
connection.start();
QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
QueueSender sender = session.createSender(queue);
TextMessage message = session.createTextMessage("some new payload");
sender.send(message);
// ^^ outgoing message sent to WebSphere MQ queue
}
MQ został włączony XA. Wygląda na to, że sterowniki EMS nie były. Włączono [Enabling LPS] (https://www.ibm.com/developerworks/wikis/display/xdcomputegrid/Enabling+last+participant+support). Dziękuję Ci. – Synesso
Link do włączenia LPS znajduje się tutaj. http://www-01.ibm.com/support/docview.wss?uid=swg21244805 – asgs