Author: chirino
Date: Wed Mar 12 20:09:48 2008
New Revision: 636609
URL: http://svn.apache.org/viewvc?rev=636609&view=rev
Log:
Allow the region broker implemenation to get changed by subclasses of
BrokerService.
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MutableBrokerFilter.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/TransportBrokerTestSupport.java
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java?rev=636609&r1=636608&r2=636609&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
Wed Mar 12 20:09:48 2008
@@ -126,7 +126,7 @@
private SystemUsage consumerSystemUsaage;
private PersistenceAdapter persistenceAdapter;
private PersistenceAdapterFactory persistenceFactory;
- private DestinationFactory destinationFactory;
+ protected DestinationFactory destinationFactory;
private MessageAuthorizationPolicy messageAuthorizationPolicy;
private List<TransportConnector> transportConnectors = new
CopyOnWriteArrayList<TransportConnector>();
private List<NetworkConnector> networkConnectors = new
CopyOnWriteArrayList<NetworkConnector>();
@@ -1370,11 +1370,11 @@
}
protected PersistenceAdapter
registerPersistenceAdapterMBean(PersistenceAdapter adaptor) throws IOException {
- MBeanServer mbeanServer = getManagementContext().getMBeanServer();
- if (mbeanServer != null) {
-
-
- }
+// MBeanServer mbeanServer = getManagementContext().getMBeanServer();
+// if (mbeanServer != null) {
+//
+//
+// }
return adaptor;
}
@@ -1487,17 +1487,16 @@
// Add a filter that will stop access to the broker once stopped
broker = new MutableBrokerFilter(broker) {
public void stop() throws Exception {
- setNext(new ErrorBroker("Broker has been stopped: " + this) {
+ Broker old = this.next.getAndSet(new ErrorBroker("Broker has
been stopped: " + this) {
// Just ignore additional stop actions.
public void stop() throws Exception {
}
});
- super.stop();
+ old.stop();
}
};
- RegionBroker rBroker = (RegionBroker)regionBroker;
- rBroker.getDestinationStatistics().setEnabled(enableStatistics);
+// RegionBroker rBroker = (RegionBroker)regionBroker;
if (isUseJmx()) {
ManagedRegionBroker managedBroker =
(ManagedRegionBroker)regionBroker;
@@ -1537,10 +1536,14 @@
configureServices(destinationInterceptors);
DestinationInterceptor destinationInterceptor = new
CompositeDestinationInterceptor(destinationInterceptors);
- RegionBroker regionBroker = null;
if (destinationFactory == null) {
destinationFactory = new DestinationFactoryImpl(this,
getTaskRunnerFactory(), getPersistenceAdapter());
}
+ return createRegionBroker(destinationInterceptor);
+ }
+
+ protected Broker createRegionBroker(DestinationInterceptor
destinationInterceptor) throws IOException {
+ RegionBroker regionBroker;
if (isUseJmx()) {
MBeanServer mbeanServer = getManagementContext().getMBeanServer();
regionBroker = new ManagedRegionBroker(this, mbeanServer,
getBrokerObjectName(), getTaskRunnerFactory(), getConsumerSystemUsage(),
destinationFactory,
@@ -1552,8 +1555,10 @@
regionBroker.setKeepDurableSubsActive(keepDurableSubsActive);
regionBroker.setBrokerName(getBrokerName());
- return regionBroker;
- }
+ regionBroker.getDestinationStatistics().setEnabled(enableStatistics);
+
+ return regionBroker;
+ }
/**
* Create the default destination interceptor
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MutableBrokerFilter.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MutableBrokerFilter.java?rev=636609&r1=636608&r2=636609&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MutableBrokerFilter.java
(original)
+++
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MutableBrokerFilter.java
Wed Mar 12 20:09:48 2008
@@ -51,7 +51,7 @@
*/
public class MutableBrokerFilter implements Broker {
- private AtomicReference<Broker> next = new AtomicReference<Broker>();
+ protected AtomicReference<Broker> next = new AtomicReference<Broker>();
public MutableBrokerFilter(Broker next) {
this.next.set(next);
Modified:
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/TransportBrokerTestSupport.java
URL:
http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/TransportBrokerTestSupport.java?rev=636609&r1=636608&r2=636609&view=diff
==============================================================================
---
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/TransportBrokerTestSupport.java
(original)
+++
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/transport/TransportBrokerTestSupport.java
Wed Mar 12 20:09:48 2008
@@ -28,7 +28,7 @@
public abstract class TransportBrokerTestSupport extends BrokerTest {
- private TransportConnector connector;
+ protected TransportConnector connector;
private ArrayList<StubConnection> connections = new
ArrayList<StubConnection>();
protected void setUp() throws Exception {
@@ -49,7 +49,9 @@
connection.stop();
iter.remove();
}
- connector.stop();
+ if( connector!=null ) {
+ connector.stop();
+ }
super.tearDown();
}