Author: chirino
Date: Mon Jun 22 22:55:55 2009
New Revision: 787432
URL: http://svn.apache.org/viewvc?rev=787432&view=rev
Log:
Adding the default session.. Makes the JmsRedeliveredTest test happier.
Modified:
activemq/sandbox/activemq-flow/activemq-openwire/src/main/java/org/apache/activemq/broker/openwire/OpenwireProtocolHandler.java
Modified:
activemq/sandbox/activemq-flow/activemq-openwire/src/main/java/org/apache/activemq/broker/openwire/OpenwireProtocolHandler.java
URL:
http://svn.apache.org/viewvc/activemq/sandbox/activemq-flow/activemq-openwire/src/main/java/org/apache/activemq/broker/openwire/OpenwireProtocolHandler.java?rev=787432&r1=787431&r2=787432&view=diff
==============================================================================
---
activemq/sandbox/activemq-flow/activemq-openwire/src/main/java/org/apache/activemq/broker/openwire/OpenwireProtocolHandler.java
(original)
+++
activemq/sandbox/activemq-flow/activemq-openwire/src/main/java/org/apache/activemq/broker/openwire/OpenwireProtocolHandler.java
Mon Jun 22 22:55:55 2009
@@ -21,7 +21,6 @@
import java.util.HashMap;
import java.util.LinkedList;
-import org.apache.activemq.Service;
import org.apache.activemq.apollo.WindowLimiter;
import org.apache.activemq.apollo.broker.Broker;
import org.apache.activemq.apollo.broker.BrokerConnection;
@@ -71,7 +70,6 @@
import org.apache.activemq.filter.FilterException;
import org.apache.activemq.filter.LogicExpression;
import org.apache.activemq.filter.NoLocalExpression;
-import org.apache.activemq.flow.AbstractLimitedFlowResource;
import org.apache.activemq.flow.Flow;
import org.apache.activemq.flow.FlowController;
import org.apache.activemq.flow.IFlowController;
@@ -125,33 +123,38 @@
}
};
connections.put(info.getConnectionId(), connection);
+
+ // Connections have an implicitly created "default"
session identified by session id = -1
+ SessionId sessionId = new
SessionId(info.getConnectionId(), -1);
+ addSession(sessionId, connection);
}
return ack(info);
}
public Response processAddSession(final SessionInfo info) throws
Exception {
- ClientContext connection =
connections.get(info.getSessionId().getParentId());
+ final SessionId sessionId = info.getSessionId();
+ ClientContext connection =
connections.get(sessionId.getParentId());
if (connection == null) {
- throw new IllegalStateException(host.getHostName() + "
Cannot add a session to a connection that had not been registered: " +
info.getSessionId().getParentId());
+ throw new IllegalStateException(host.getHostName() + "
Cannot add a session to a connection that had not been registered: " +
sessionId.getParentId());
}
- if (!sessions.containsKey(info.getSessionId())) {
-
- ClientContext session = new
AbstractClientContext<MessageDelivery>(info.getSessionId().toString(),
connection) {
- SessionInfo sessioninfo = info;
-
- public void close() {
- super.close();
- sessions.remove(sessioninfo.getSessionId());
- }
- };
-
- sessions.put(info.getSessionId(), session);
+ if (!sessions.containsKey(sessionId)) {
+ addSession(sessionId, connection);
}
return ack(info);
}
+ private void addSession(final SessionId sessionId, ClientContext
connection) {
+ ClientContext session = new
AbstractClientContext<MessageDelivery>(sessionId.toString(), connection) {
+ public void close() {
+ super.close();
+ sessions.remove(sessionId);
+ }
+ };
+ sessions.put(sessionId, session);
+ }
+
public Response processAddProducer(ProducerInfo info) throws
Exception {
ClientContext session =
sessions.get(info.getProducerId().getParentId());
if (session == null) {