diff options
Diffstat (limited to 'qpid/java/broker/src/main')
-rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerInstance.java | 15 | ||||
-rwxr-xr-x | qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/BrokerReceiver.java | 5 |
2 files changed, 14 insertions, 6 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerInstance.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerInstance.java index 453a319502..ad4e40a562 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerInstance.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerInstance.java @@ -28,6 +28,7 @@ import java.util.HashSet; import java.util.List; import java.util.Properties; import java.util.Set; +import java.util.concurrent.atomic.AtomicLong; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; @@ -57,6 +58,14 @@ public class BrokerInstance { private static Logger _logger; + // Unique identity generator for connections to the broker + private static AtomicLong _idGenerator; + + public static long getNextConnectionId() + { + return _idGenerator.incrementAndGet(); + } + public void shutdown() { ApplicationRegistry.remove(); @@ -102,7 +111,7 @@ public class BrokerInstance catch (NumberFormatException e) { System.err.println("Log watch configuration value of " + watch + " is invalid. Must be " - + "a non-negative integer. Using default of zero (no watching configured"); + + "a non-negative integer. Using default of zero (no watching configured)"); } String log4j = options.getValue(BrokerOptions.LOG4J, System.getProperty("log4j.configuration")); @@ -110,14 +119,13 @@ public class BrokerInstance if (log4j != null) { logConfigFile = new File(log4j); - configureLogging(logConfigFile, logWatchTime); } else { File configFileDirectory = configFile.getParentFile(); logConfigFile = new File(configFileDirectory, BrokerOptions.DEFAULT_LOG_CONFIG_FILENAME); - configureLogging(logConfigFile, logWatchTime); } + configureLogging(logConfigFile, logWatchTime); ConfigurationFileApplicationRegistry config = new ConfigurationFileApplicationRegistry(configFile); ServerConfiguration serverConfig = config.getConfiguration(); @@ -127,6 +135,7 @@ public class BrokerInstance // Initialise application registry ApplicationRegistry.initialise(config); + _idGenerator = new AtomicLong(0L); // We have already loaded the BrokerMessages class by this point so we // need to refresh the locale setting in case we had a different value in diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/BrokerReceiver.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/BrokerReceiver.java index 05409cd5f8..2fdf27d1aa 100755 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/BrokerReceiver.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/BrokerReceiver.java @@ -28,6 +28,7 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicLong; import org.apache.log4j.Logger; +import org.apache.qpid.server.BrokerInstance; import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.server.logging.actors.GenericActor; import org.apache.qpid.server.logging.messages.ConnectionMessages; @@ -44,8 +45,6 @@ public class BrokerReceiver implements Receiver<java.nio.ByteBuffer>, LogSubject { private static final Logger _logger = Logger.getLogger(BrokerReceiver.class); - private static final AtomicLong _idGenerator = new AtomicLong(0); - private long _connectionId; private NetworkConnection _network; private NetworkTransport _transport; @@ -68,7 +67,7 @@ public class BrokerReceiver implements Receiver<java.nio.ByteBuffer>, LogSubject _transport = transport; _network = network; _sender = _network.getSender(); - _connectionId = _idGenerator.incrementAndGet(); + _connectionId = BrokerInstance.getNextConnectionId(); GenericActor.getInstance(this).message(ConnectionMessages.OPEN(null, null, false, false)); } |