[jboss-cvs] jboss-jms/src/main/org/jboss/jms/client/state ...
Timothy Fox
tim.fox at jboss.com
Mon Jul 17 13:14:45 EDT 2006
User: timfox
Date: 06/07/17 13:14:45
Modified: src/main/org/jboss/jms/client/state ConsumerState.java
SessionState.java
Log:
Many changes including implementation of prefetch, SEDAisation of server, changing of recovery
Revision Changes Path
1.9 +12 -3 jboss-jms/src/main/org/jboss/jms/client/state/ConsumerState.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ConsumerState.java
===================================================================
RCS file: /cvsroot/jboss/jboss-jms/src/main/org/jboss/jms/client/state/ConsumerState.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- ConsumerState.java 10 Mar 2006 19:46:38 -0000 1.8
+++ ConsumerState.java 17 Jul 2006 17:14:45 -0000 1.9
@@ -33,9 +33,9 @@
* State corresponding to a Consumer. This state is acessible inside aspects/interceptors.
*
* @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
- * @version <tt>$Revision: 1.8 $</tt>
+ * @version <tt>$Revision: 1.9 $</tt>
*
- * $Id: ConsumerState.java,v 1.8 2006/03/10 19:46:38 timfox Exp $
+ * $Id: ConsumerState.java,v 1.9 2006/07/17 17:14:45 timfox Exp $
*/
public class ConsumerState extends HierarchicalStateSupport
{
@@ -51,8 +51,11 @@
private MessageCallbackHandler messageCallbackHandler;
+ private int prefetchSize;
+
public ConsumerState(SessionState parent, ConsumerDelegate delegate, Destination dest,
- String selector, boolean noLocal, int consumerID, boolean isCC)
+ String selector, boolean noLocal, int consumerID, boolean isCC,
+ int prefetchSize)
{
super(parent, delegate);
children = Collections.EMPTY_SET;
@@ -61,6 +64,7 @@
this.noLocal = noLocal;
this.consumerID = consumerID;
this.isConnectionConsumer = isCC;
+ this.prefetchSize = prefetchSize;
}
public Destination getDestination()
@@ -103,6 +107,11 @@
return parent.getVersionToUse();
}
+ public int getPrefetchSize()
+ {
+ return prefetchSize;
+ }
+
}
1.12 +60 -2 jboss-jms/src/main/org/jboss/jms/client/state/SessionState.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SessionState.java
===================================================================
RCS file: /cvsroot/jboss/jboss-jms/src/main/org/jboss/jms/client/state/SessionState.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- SessionState.java 21 Apr 2006 12:41:12 -0000 1.11
+++ SessionState.java 17 Jul 2006 17:14:45 -0000 1.12
@@ -21,8 +21,15 @@
*/
package org.jboss.jms.client.state;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import javax.jms.Session;
+
+import org.jboss.jms.client.remoting.MessageCallbackHandler;
import org.jboss.jms.delegate.SessionDelegate;
import org.jboss.jms.server.Version;
import org.jboss.jms.tx.MessagingXAResource;
@@ -34,9 +41,9 @@
* State corresponding to a session. This state is acessible inside aspects/interceptors.
*
* @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
- * @version <tt>$Revision: 1.11 $</tt>
+ * @version <tt>$Revision: 1.12 $</tt>
*
- * $Id: SessionState.java,v 1.11 2006/04/21 12:41:12 timfox Exp $
+ * $Id: SessionState.java,v 1.12 2006/07/17 17:14:45 timfox Exp $
*/
public class SessionState extends HierarchicalStateSupport
{
@@ -53,6 +60,12 @@
//Executor used for executing onMessage methods
private QueuedExecutor executor;
+ private boolean recoverCalled;
+
+ private List toAck;
+
+ private Map callbackHandlers;
+
public SessionState(ConnectionState parent, SessionDelegate delegate,
boolean transacted, int ackMode, boolean xa)
{
@@ -72,6 +85,21 @@
currentTxId = parent.getResourceManager().createLocalTx();
}
executor = new QueuedExecutor(new LinkedQueue());
+
+ if (ackMode == Session.CLIENT_ACKNOWLEDGE || ackMode == Session.AUTO_ACKNOWLEDGE ||
+ ackMode == Session.DUPS_OK_ACKNOWLEDGE)
+ {
+ toAck = new ArrayList();
+ }
+
+ //TODO could optimise this to use the same map of callbackmanagers (which holds refs
+ //to callbackhandlers) in the connection, instead of maintaining another map
+ callbackHandlers = new HashMap();
+ }
+
+ public List getToAck()
+ {
+ return toAck;
}
public int getAcknowledgeMode()
@@ -104,6 +132,11 @@
return currentTxId;
}
+ public boolean isRecoverCalled()
+ {
+ return recoverCalled;
+ }
+
public void setCurrentTxId(Object id)
{
this.currentTxId = id;
@@ -114,5 +147,30 @@
return parent.getVersionToUse();
}
+ public void setRecoverCalled(boolean recoverCalled)
+ {
+ this.recoverCalled = recoverCalled;
+ }
+
+ public MessageCallbackHandler getCallbackHandler(int consumerID)
+ {
+ return (MessageCallbackHandler)callbackHandlers.get(new Integer(consumerID));
+ }
+
+ public void addCallbackHandler(MessageCallbackHandler handler)
+ {
+ callbackHandlers.put(new Integer(handler.getConsumerId()), handler);
+ }
+
+ public void removeCallbackHandler(MessageCallbackHandler handler)
+ {
+ callbackHandlers.remove(new Integer(handler.getConsumerId()));
+ }
+
+ public List getCallbackHandlers()
+ {
+ return new ArrayList(callbackHandlers.values());
+ }
+
}
More information about the jboss-cvs-commits
mailing list