[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: JBMESSAGING-519 - Failover(HA) design discussion
clebert.suconic@jboss.com
do-not-reply at jboss.com
Wed Oct 11 16:41:04 EDT 2006
public void testSimpleWithOneProducerTransacted() throws Exception
| {
| JBossConnection conn = (JBossConnection)this.factoryServer1.createConnection();
| Session session = conn.createSession(true,Session.AUTO_ACKNOWLEDGE);
| Destination destination = (Destination)getCtx1().lookup("queue/testQueue");
| MessageProducer producer = session.createProducer(destination);
|
| Message message = session.createTextMessage("Hello Before");
| producer.send(message);
|
| ClientConnectionDelegate delegate = (ClientConnectionDelegate)conn.getDelegate();
| ConnectionState state = (ConnectionState)delegate.getState();
|
| JBossConnection conn2 = (JBossConnection)this.factoryServer2.createConnection();
| conn.getDelegate().failOver(conn2.getDelegate());
|
| message = session.createTextMessage("Hello After");
| producer.send(message);
| session.commit();
| }
|
Just completing my last post, if I used the same testcase in a transacted scenario (with pending transactions) I would get this exception:
| org.jboss.aop.NotFoundInDispatcherException: Object with oid: 47 was not found in the Dispatcher
| at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:85)
| at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:127)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:1008)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:857)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:454)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:541)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:261)
| at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:172)
| at org.jboss.remoting.Client.invoke(Client.java:589)
| at org.jboss.remoting.Client.invoke(Client.java:581)
| at org.jboss.jms.client.delegate.DelegateSupport.invoke(DelegateSupport.java:111)
| at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N4986868250254447300.invokeNext(ClientConnectionDelegate$sendTransaction_N4986868250254447300.java)
|
I guess I should throw an exception if there are pending transactions and a failover happened. I think that would be the expected signature. (Anyone disagrees?)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3977688#3977688
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3977688
More information about the jboss-dev-forums
mailing list