Bugs item #526696, was opened at 2002-03-06 15:18
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=526696&group_id=22866
Category: JBossMQ
Group: v2.4 (stable)
Status: Closed
Resolution: Fixed
Priority: 5
Submitted By: Kelly McTiernan (kellymct)
>Assigned to: Scott M Stark (starksm)
Summary: session.recover() doesn't work
Initial Comment:
All operating systems.
Any version of Java.
N/A.
Call session.recover().
According to the JMS spec, a call to session.recover()
from a transacted session should return an
IllegalStateException. This it does, with the message:
The session is trasacted.
When called with a non-transacted session, however,
recover still throws an IllegalStateException, this
time with the message:
The session is not transacted.
Looking into the code a little, it turns out that the
recover() method does a check for the session being
transacted, and throws the IllegalStateException with
the second message if it is. Then it proceeds to call
rollback(), which does a check for the session NOT
being transacted, and throws the IllegalStateException
with the second message if it's not.
----------------------------------------------------------------------
>Comment By: Scott M Stark (starksm)
Date: 2002-09-25 16:52
Message:
Logged In: YES
user_id=175228
A fix has been applied to 2.4 for the 2.4.10 release
----------------------------------------------------------------------
Comment By: Andreas Schaefer (schaefera)
Date: 2002-07-21 19:26
Message:
Logged In: YES
user_id=70434
ATTENTION: the fix is only done for JBoss 3.0.
----------------------------------------------------------------------
Comment By: Andreas Schaefer (schaefera)
Date: 2002-07-19 10:53
Message:
Logged In: YES
user_id=70434
HELP: could "thesitesman" or Seth send me the diff directly
to "[EMAIL PROTECTED]". Thanx otherwise I have to deal with
all these line wraps.
Andy
----------------------------------------------------------------------
Comment By: Andreas Schaefer (schaefera)
Date: 2002-07-19 10:16
Message:
Logged In: YES
user_id=70434
ATTENTION: STOP THIS DISCUSSION HERE !!!!
The bug reports are here to discuss a bug and only this bug.
Any other discussion should go either in the JBoss Forum or
the JBoss developer list.
Andy
----------------------------------------------------------------------
Comment By: Seth Sites (thesitesman)
Date: 2002-07-19 10:05
Message:
Logged In: YES
user_id=579275
the other problems that I see is that according to the
spec are:
1)It [the session] retains messages it consumes until
they have been acknowledged.
>From what I see, it loses its reference to the message as
soon as it passes it on. The only messages that it has
are ones that have not been consumed. We keep the
session reference in the message, but do keep the
message reference in the session.
2) With this option [Client ack], a client acknowledges a
message by calling the message�s acknowledge method.
Acknowledging a
consumed message automatically acknowledges the
receipt of all messages
that have been delivered by its session.
right now it only ack's the single message. another
reason we need to have a reference to all unack'd
messages in session.
3)My fix goes all the way back to the server to redeliver
and that is not spec. Spec says the session should do
it. My way you might not receive all of your messages if
their are other listeners on board. But the spec cleary
says all of your unacked messages that you had
received. I will rework to fix both of these problems.
I would like some input on whether to redeliver unacked
messages when a client unsibscribes, closes connection
or loses connection. According to spec, as long as you
set JMSRedelivered the client should be aware that this
message may have been delivered elsewhere and just
not acked.
----------------------------------------------------------------------
Comment By: Seth Sites (thesitesman)
Date: 2002-07-19 05:20
Message:
Logged In: YES
user_id=579275
upon reviewing the spec again for one of the other
bugs, it looks like some other minor modifications are
needed. The wording in the spec makes it seem that
when any client who closes connection (willfully or not)
with unack'd messages, those messages should get
redelivered.
pg 58
Closing a connection does NOT force an
acknowledgement of client-acknowledged sessions.
I would assume that these messages should be placed
back into the queue immediately and not only when the
server is restarted.
-Seth
----------------------------------------------------------------------
Comment By: Seth Sites (thesitesman)
Date: 2002-07-19 04:47
Message:
Logged In: YES
user_id=579275
This is my proposed fix for session.recover(). It also
handles redelivery of messages that are still
unacknowledged when a client's connection crashes.
I have tested this code in HEAD and it also did not break
any of the testsuite tests. It is a long fix and involves
17 files, so I hope they all the diff's fit in here.
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/C
onnection.java,v
retrieving revision 1.20
diff -u -r1.20 Connection.java
--- Connection.java 2 May 2002 02:44:28 -
0000 1.20
+++ Connection.java 19 Jul 2002 07:24:10 -
0000
@@ -75,7 +75,7 @@
* @author Norbert Lataille ([EMAIL PROTECTED])
* @author Hiram Chirino ([EMAIL PROTECTED])
* @author <a href="[EMAIL PROTECTED]">Peter Antman</a>
- * @version $Revision: 1.20 $
+ * @version $Revision: 1.21 $
* @created August 16, 2001
*/
public class Connection implements
java.io.Serializable, javax.jms.Connection
@@ -1139,7 +1139,20 @@
//This session should not be in the "destinations"
object anymore.
//We could check this, though
}
-
+
+ void recover ( Subscription s )
+ throws JMSException
+ {
+ try
+ {
+ serverIL.recover(connectionToken, s);
+ }
+ catch ( Exception e )
+ {
+ throw new SpyJMSException("Cannot recover
session", e);
+ }
+ }
+
void unsubscribe(DurableSubscriptionID id)
throws JMSException
{
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/S
pySession.java,v
retrieving revision 1.14
diff -u -w -r1.14 SpySession.java
--- SpySession.java 25 May 2002 22:51:03 -0000 1.14
+++ SpySession.java 19 Jul 2002 07:26:39 -
0000
@@ -37,7 +37,7 @@
* @author Norbert Lataille ([EMAIL PROTECTED])
* @author Hiram Chirino ([EMAIL PROTECTED])
* @created August 16, 2001
- * @version $Revision: 1.14 $
+ * @version $Revision: 1.15 $
*/
public abstract class SpySession
implements Session, XASession {
@@ -385,7 +385,43 @@
throw new IllegalStateException( "The session is
transacted" );
}
- rollback();
+ //stop message delivery
+ try
+ {
+ System.out.println( "stopped message delivery
for " + connection.getClientID() );
+ connection.stop();
+ }
+ catch (JMSException e)
+ {
+ throw new SpyJMSException("Could not stop
message delivery", e);
+ }
+
+ //we need a function to call on the server to
recover
+ if ( acknowledgeMode ==
Session.CLIENT_ACKNOWLEDGE ) {
+ try
+ {
+ Iterator i = connection.subscriptions.values
().iterator();
+ while ( i.hasNext() )
+ {
+ connection.recover ( ((SpyQueueReceiver)
i.next()).getSubscription() );
+ }
+ }
+ catch ( Exception e )
+ {
+ throw new SpyJMSException ("Unable to recover
session ", e );
+ }
+ }
+
+ //Restart the delivery sequence including all
unacknowledged messages that had been previously
delivered. Redelivered messages do not have to be
delivered in exactly their original delivery order.
+ try
+ {
+ System.out.println( "restarted message delivery
for " + connection.getClientID() );
+ connection.start();
+ }
+ catch ( JMSException e )
+ {
+ throw new SpyJMSException("Could not resume
message delivery", e);
+ }
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il
/Invoker.java,v
retrieving revision 1.1
diff -w -u -r1.1 Invoker.java
--- Invoker.java 4 May 2002 03:07:49 -0000 1.1
+++ Invoker.java 19 Jul 2002 07:28:56 -0000
@@ -28,7 +28,7 @@
* @author <a
href="[EMAIL PROTECTED]">Hiram Chirino</a>
* @author <a
href="[EMAIL PROTECTED]">Norbert Lataille</a>
* @author <a href="[EMAIL PROTECTED]">Peter Antman</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
* @created August 16, 2001
*/
public interface Invoker
@@ -264,5 +264,19 @@
* @exception JMSException if it can not find the
subscription.
*/
public Subscription getSubscription(ConnectionToken
dc,int subscriberId) throws JMSException;
+
+ /**
+ * recover the session.
+ *
+ * @exception JMSException if it can not find the
subscription.
+ */
+ public void recover(ConnectionToken
dc,Subscription s) throws JMSException;
+
+ /**
+ * recover all sessions for a failed connection.
+ *
+ * @exception JMSException if it can not find the
subscription.
+ */
+ public void recoverAll(ConnectionToken dc) throws
JMSException;
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il
/ServerIL.java,v
retrieving revision 1.6
diff -u -w -r1.6 ServerIL.java
--- ServerIL.java 4 May 2002 03:07:49 -0000 1.6
+++ ServerIL.java 19 Jul 2002 07:29:55 -0000
@@ -26,7 +26,7 @@
* @author <a
href="[EMAIL PROTECTED]">Hiram Chirino</a>
* @author <a
href="[EMAIL PROTECTED]">Norbert Lataille</a>
* @author <a href="[EMAIL PROTECTED]">Peter Antman</a>
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
* @created August 16, 2001
*/
public interface ServerIL
@@ -258,5 +258,14 @@
*/
public void ping(ConnectionToken dc, long
clientTime)
throws Exception;
+
+
+ /**
+ * @param dc
org.jboss.mq.ConnectionToken
+ * @param s org.jboss.mq.Subscription
+ * @exception java.lang.Exception The exception
description.
+ */
+ public void recover(org.jboss.mq.ConnectionToken
dc, org.jboss.mq.Subscription s)
+ throws java.lang.Exception;
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il
/uil/UILServerIL.java,v
retrieving revision 1.8
diff -u -w -r1.8 UILServerIL.java
--- UILServerIL.java 9 Mar 2002 06:11:47 -0000 1.8
+++ UILServerIL.java 19 Jul 2002 11:34:51 -
0000
@@ -37,7 +34,7 @@
* @author Hiram Chirino ([EMAIL PROTECTED])
* @author Norbert Lataille ([EMAIL PROTECTED])
* @author <a href="[EMAIL PROTECTED]">Peter Antman</a>
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
* @created August 16, 2001
*/
public class UILServerIL implements java.io.Serializable,
Cloneable, org.jboss.mq.il.ServerIL
@@ -63,6 +60,7 @@
final static int m_checkUser = 20;
final static int m_ping = 21;
final static int m_authenticate = 22;
+ final static int m_recover = 23;
/**
* Description of the Field
@@ -563,5 +561,20 @@
Exception e = (Exception)in.readObject();
throw e;
}
+ }
+
+ /**
+ * #Description of the Method
+ *
+ * @return Description of the Returned Value
+ * @exception Exception Description of Exception
+ */
+ public synchronized void recover( ConnectionToken
ct, org.jboss.mq.Subscription s)
+ throws Exception
+ {
+ checkConnection();
+ out.writeByte(m_recover);
+ out.writeObject(s);
+ waitAnswer();
}
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il
/uil/UILServerILService.java,v
retrieving revision 1.21
diff -u -w -r1.21 UILServerILService.java
--- UILServerILService.java 19 Jul 2002 03:53:11 -
0000 1.21
+++ UILServerILService.java 19 Jul 2002 07:45:20 -
0000
@@ -48,7 +48,7 @@
*
* @author Hiram Chirino ([EMAIL PROTECTED])
* @author <a href="[EMAIL PROTECTED]">Peter Antman</a>
- * @version $Revision: 1.21 $
+ * @version $Revision: 1.22 $
*
* @jmx:mbean
extends="org.jboss.mq.il.ServerILJMXServiceMBean"
*/
@@ -83,6 +83,7 @@
final static int m_checkUser = 20;
final static int m_ping = 21;
final static int m_authenticate = 22;
+ final static int m_recover = 23;
final static int SO_TIMEOUT = 5000;
/**
@@ -221,8 +222,16 @@
{
break;
}
-
log.warn("Connection failure (1).", e);
+
+ try
+ {
+ server.recoverAll( connectionToken );
+ }
+ catch ( JMSException ex )
+ {
+ log.warn( "Could not recover sessions", ex );
+ }
break;
}
@@ -310,6 +319,9 @@
case m_authenticate:
result = server.authenticate((String)
in.readObject(), (String)in.readObject());
break;
+ case m_recover:
+ server.recover(connectionToken,
(Subscription)in.readObject());
+ break;
default:
throw new RemoteException("Bad method
code !");
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il
/rmi/RMIServerIL.java,v
retrieving revision 1.6
diff -u -w -r1.6 RMIServerIL.java
--- RMIServerIL.java 4 May 2002 03:07:50 -
0000 1.6
+++ RMIServerIL.java 19 Jul 2002 07:48:20 -
0000
@@ -29,7 +26,7 @@
* @author Hiram Chirino ([EMAIL PROTECTED])
* @author Norbert Lataille ([EMAIL PROTECTED])
* @author <a href="[EMAIL PROTECTED]">Peter Antman</a>
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
* @created August 16, 2001
*/
public class RMIServerIL extends
java.rmi.server.UnicastRemoteObject implements
RMIServerILRemote
@@ -325,6 +322,18 @@
throws JMSException
{
server.ping(dc, clientTime);
+ }
+
+ /**
+ * #Description of the Method
+ *
+ * @return Description of the Returned Value
+ * @exception Exception Description of Exception
+ */
+ public void recover( ConnectionToken ct,
Subscription s)
+ throws Exception
+ {
+ server.recover( ct, s );
}
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il
/oil/OILConstants.java,v
retrieving revision 1.2
diff -w -u -r1.2 OILConstants.java
--- OILConstants.java 6 Mar 2002 17:27:49 -
0000 1.2
+++ OILConstants.java 19 Jul 2002 07:52:07 -
0000
@@ -10,7 +10,7 @@
*
*
* @author Brian Weaver ([EMAIL PROTECTED])
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
* @created January 10, 2002
*/
final class OILConstants
@@ -49,6 +49,7 @@
final static int PONG = 28;
final static int CLOSE = 29;
final static int AUTHENTICATE = 30;
+ final static int RECOVER = 31;
}
/*
vim:tabstop=3:expandtab:shiftwidth=3
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il
/oil/OILServerIL.java,v
retrieving revision 1.9
diff -u -w -r1.9 OILServerIL.java
--- OILServerIL.java 9 Mar 2002 06:11:47 -0000 1.9
+++ OILServerIL.java 19 Jul 2002 07:53:27 -
0000
@@ -35,7 +32,7 @@
*
* @author Hiram Chirino ([EMAIL PROTECTED])
* @author Norbert Lataille ([EMAIL PROTECTED])
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
* @created August 16, 2001
*/
public final class OILServerIL
@@ -532,5 +529,20 @@
Exception e = (Exception)in.readObject();
throw e;
}
+ }
+
+ /**
+ * #Description of the Method
+ *
+ * @return Description of the Returned Value
+ * @exception Exception Description of Exception
+ */
+ public synchronized void recover( ConnectionToken
ct, Subscription s)
+ throws Exception
+ {
+ checkConnection();
+ out.writeByte(OILConstants.RECOVER);
+ out.writeObject(s);
+ waitAnswer();
}
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il
/oil/OILServerILService.java,v
retrieving revision 1.23
diff -u -w -r1.23 OILServerILService.java
--- OILServerILService.java 19 Jul 2002 03:53:10 -
0000 1.23
+++ OILServerILService.java 19 Jul 2002 07:56:35 -
0000
@@ -48,7 +48,7 @@
* Implements the ServerILJMXService which is used to
manage the JVM IL.
*
* @author Hiram Chirino ([EMAIL PROTECTED])
- * @version $Revision: 1.23 $
+ * @version $Revision: 1.24 $
*
* @jmx:mbean
extends="org.jboss.mq.il.ServerILJMXServiceMBean"
*/
@@ -207,6 +207,15 @@
break;
}
log.warn("Connection failure (1).", e);
+
+ try
+ {
+ server.recoverAll( connectionToken );
+ }
+ catch ( JMSException ex )
+ {
+ log.warn( "Could not recover sessions", ex );
+ }
break;
}
@@ -315,6 +324,10 @@
result = server.authenticate((String)
in.readObject(), (String)in.readObject());
break;
+ case OILConstants.RECOVER:
+ server.recover( connectionToken,
(Subscription)in.readObject() );
+ break;
+
default:
throw new RemoteException("Bad method
code !");
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/il
/jvm/JVMServerIL.java,v
retrieving revision 1.8
diff -u -w -r1.8 JVMServerIL.java
--- JVMServerIL.java 4 May 2002 03:07:50 -
0000 1.8
+++ JVMServerIL.java 19 Jul 2002 08:02:45 -
0000
@@ -29,7 +26,7 @@
* @author Hiram Chirino ([EMAIL PROTECTED])
* @author Norbert Lataille ([EMAIL PROTECTED])
* @author <a href="[EMAIL PROTECTED]">Peter Antman</a>
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
* @created August 16, 2001
*/
public class JVMServerIL implements
org.jboss.mq.il.ServerIL
@@ -339,5 +336,17 @@
throws JMSException
{
server.ping(dc, clientTime);
+ }
+
+ /**
+ * #Description of the Method
+ *
+ * @return Description of the Returned Value
+ * @exception Exception Description of Exception
+ */
+ public void recover( ConnectionToken ct,
org.jboss.mq.Subscription s)
+ throws Exception
+ {
+ server.recover(ct, s);
}
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/s
erver/BasicQueue.java,v
retrieving revision 1.20
diff -u -w -r1.20 BasicQueue.java
--- BasicQueue.java 24 May 2002 02:38:30 -
0000 1.20
+++ BasicQueue.java 19 Jul 2002 11:05:37 -
0000
@@ -36,7 +36,7 @@
* @author Norbert Lataille ([EMAIL PROTECTED])
* @author David Maplesden
([EMAIL PROTECTED])
* @created August 16, 2001
- * @version $Revision: 1.20 $
+ * @version $Revision: 1.21 $
*/
//abstract public class BasicQueue implements
Runnable {
public class BasicQueue {
@@ -375,6 +375,30 @@
}
}
+ public void recoverSession ( Subscription sub )
+ throws JMSException
+ {
+
+ if ( !hasUnackedMessages( sub.subscriptionId ) )
+ {
+ System.out.println("Subscriber " +
sub.subscriptionId + " has no unacked messages.");
+ return;
+ }
+ synchronized (unacknowledgedMessages) {
+ for (Iterator it =
unacknowledgedMessages.keySet().iterator(); it.hasNext
();)
+ {
+ AcknowledgementRequest ack =
(AcknowledgementRequest)it.next();
+ if (ack.subscriberId == sub.subscriptionId)
+ {
+ MessageReference messageRef = (
MessageReference )unacknowledgedMessages.get( ack );
+ messageRef.getMessage().setJMSRedelivered(
true );
+
+ restoreMessage( messageRef );
+ }
+ }
+ }
+ }
+
protected void checkRemovedSubscribers(int subId) {
Integer id = new Integer(subId);
synchronized (removedSubscribers) {
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/s
erver/JMSDestination.java,v
retrieving revision 1.11
diff -u -w -r1.11 JMSDestination.java
--- JMSDestination.java 9 May 2002 04:19:21 -
0000 1.11
+++ JMSDestination.java 19 Jul 2002 11:30:39 -
0000
@@ -30,7 +30,7 @@
* @author Hiram Chirino ([EMAIL PROTECTED])
* @author David Maplesden
([EMAIL PROTECTED])
* @created August 16, 2001
- * @version $Revision: 1.11 $
+ * @version $Revision: 1.12 $
*/
public abstract class JMSDestination {
@@ -75,6 +75,8 @@
public abstract void removeReceiver( Subscription
sub );
public abstract void restoreMessage(
MessageReference message );
+
+ public abstract void recoverSession (Subscription
sub);
public abstract void clientConsumerStopped(
ClientConsumer clientConsumer );
public abstract boolean isInUse();
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/s
erver/JMSDestinationManager.java,v
retrieving revision 1.2
diff -u -w -r1.2 JMSDestinationManager.java
--- JMSDestinationManager.java 4 May 2002
15:26:59 -0000 1.2
+++ JMSDestinationManager.java 19 Jul 2002
11:09:41 -0000
@@ -52,7 +52,7 @@
* @author Hiram Chirino ([EMAIL PROTECTED])
* @author David Maplesden
([EMAIL PROTECTED])
* @author <a href="mailto:[EMAIL PROTECTED]">Peter
Antman</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class JMSDestinationManager extends
JMSServerInterceptorSupport
{
@@ -587,6 +587,15 @@
{
//We should try again :) This behavior should under
control of a Failure-Plugin
log.error("The connection to client " +
dc.getClientID() + " failed.");
+ ClientConsumer cq = (ClientConsumer)
clientConsumers.get(dc);
+
+ Iterator i = cq.subscriptions.keySet().iterator();
+ while ( i.hasNext() )
+ {
+ Integer subId = ( Integer )i.next();
+ Subscription sub = ( Subscription )
cq.subscriptions.get( subId );
+ recover( dc, sub );
+ }
connectionClosing(dc);
}
@@ -883,5 +892,23 @@
public Subscription getSubscription(ConnectionToken
dc,int subscriberId) throws JMSException {
ClientConsumer clientConsumer =
getClientConsumer(dc);
return clientConsumer.getSubscription
(subscriberId);
+ }
+
+ public void recover ( ConnectionToken dc,
Subscription sub )
+ throws JMSException
+ {
+ JMSDestination dest = (JMSDestination)
destinations.get(sub.destination);
+ if ( dest instanceof JMSQueue )
+ {
+ JMSQueue queue = (JMSQueue)dest;
+
+ queue.queue.recoverSession( sub );
+ }
+ }
+
+ public void recoverAll ( ConnectionToken dc )
+ throws JMSException
+ {
+ this.connectionFailure(dc);
}
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/s
erver/JMSServerInterceptor.java,v
retrieving revision 1.1
diff -u -w -r1.1 JMSServerInterceptor.java
--- JMSServerInterceptor.java 4 May 2002 03:07:52 -
0000 1.1
+++ JMSServerInterceptor.java 19 Jul 2002
11:11:48 -0000
@@ -34,7 +34,7 @@
*
*
* @author <a href="mailto:[EMAIL PROTECTED]">Peter
Antman</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public interface JMSServerInterceptor {
@@ -279,4 +279,18 @@
* @exception JMSException if it can not find the
subscription.
*/
public Subscription getSubscription(ConnectionToken
dc,int subscriberId) throws JMSException;
+
+ /**
+ * recover session.
+ *
+ * @exception JMSException if it can not find the
subscription.
+ */
+ public void recover(ConnectionToken dc,
Subscription sub) throws JMSException;
+
+ /**
+ * recover session.
+ *
+ * @exception JMSException if it can not find the
subscription.
+ */
+ public void recoverAll(ConnectionToken dc) throws
JMSException;
}
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/s
erver/JMSServerInterceptorSupport.java,v
retrieving revision 1.1
diff -u -w -r1.1 JMSServerInterceptorSupport.java
--- JMSServerInterceptorSupport.java 4 May 2002
03:07:52 -0000 1.1
+++ JMSServerInterceptorSupport.java 19 Jul 2002
11:12:49 -0000
@@ -30,7 +30,7 @@
* A pass through JMSServerInvoker.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Peter
Antman</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class JMSServerInterceptorSupport implements
JMSServerInterceptor {
@@ -317,4 +317,15 @@
return nextInterceptor.getSubscription
(dc,subscriberId);
}
+ public void recover(ConnectionToken dc,
Subscription sub)
+ throws JMSException
+ {
+ nextInterceptor.recover( dc, sub );
+ }
+
+ public void recoverAll(ConnectionToken dc)
+ throws JMSException
+ {
+ nextInterceptor.recoverAll( dc );
+ }
} // JMSServerInvokerSupport
RCS
file: /cvsroot/jboss/jbossmq/src/main/org/jboss/mq/s
erver/JMSServerInvoker.java,v
retrieving revision 1.2
diff -u -w -r1.2 JMSServerInvoker.java
--- JMSServerInvoker.java 4 May 2002 03:07:52 -
0000 1.2
+++ JMSServerInvoker.java 19 Jul 2002 11:14:10 -
0000
@@ -33,7 +33,7 @@
* A pass through JMSServerInvoker.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Peter
Antman</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class JMSServerInvoker implements Invoker {
@@ -317,6 +317,18 @@
public Subscription getSubscription(ConnectionToken
dc,int subscriberId) throws JMSException {
return nextInterceptor.getSubscription
(dc,subscriberId);
+ }
+
+ public void recover(ConnectionToken dc,
Subscription sub)
+ throws JMSException
+ {
+ nextInterceptor.recover(dc,sub);
+ }
+
+ public void recoverAll(ConnectionToken dc)
+ throws JMSException
+ {
+ nextInterceptor.recoverAll(dc);
}
If you need any further information, please let me know.
-Seth
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=526696&group_id=22866
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development