[jboss-user] [Messaging, JMS & JBossMQ] - Re: XA Recovery of messages sent to a Topic
adrian@jboss.org
do-not-reply at jboss.com
Fri May 30 10:48:15 EDT 2008
Ok, I see the problem. So there's two ways to fix it.
1) We come up with some mechanism where the ServerIL's transact() request
can vote READONLY in this case.
This would require a mixin interface like the Recovery interface
such that newer clients can take advantage of it.
i.e. something like
| public interface NewTxProtocol
| {
| TransactionResult transact2(ConnectionToken dc, TransactionRequest t) throws Exception;
| }
|
| with the necessary know on changes throughout the Invoker layer.
|
| Then have the client side can use it (if the server side supports it)
|
| org.jboss.mq.Connection;
| protected TransactionResult send(TransactionRequest transaction) throws JMSException
| {
| checkClosed();
| if (trace)
| log.trace("Transact request=" + transaction + " " + this);
|
| try
| {
| if (serverIL instanceof NewTxProtocol)
| {
| return serverIL.transact2(connectionToken, transaction);
| }
| else
| {
| serverIL.transact2(connectionToken, transaction);
| return null;
| }
| }
| catch (Throwable t)
| {
| SpyJMSException.rethrowAsJMSException("Cannot process a transaction", t);
| }
| }
|
|
2) We disable the lazy insert of the tx record in the jdbc2 persistence manager
when it is a real XID.
(2) is obviously easier, but it is not as efficient as (1).
I'll do (2) but do you want to have a go at trying to do (1) ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4154677#4154677
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4154677
More information about the jboss-user
mailing list