Author: rajdavies
Date: Thu Aug 31 10:32:02 2006
New Revision: 438994
URL: http://svn.apache.org/viewvc?rev=438994&view=rev
Log: (empty)
Modified:
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
Modified:
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
URL:
http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java?rev=438994&r1=438993&r2=438994&view=diff
==============================================================================
---
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
(original)
+++
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
Thu Aug 31 10:32:02 2006
@@ -34,6 +34,8 @@
import org.apache.activemq.broker.jmx.NetworkConnectorView;
import org.apache.activemq.broker.jmx.NetworkConnectorViewMBean;
import org.apache.activemq.broker.jmx.ProxyConnectorView;
+import org.apache.activemq.broker.region.DestinationFactory;
+import org.apache.activemq.broker.region.DestinationFactoryImpl;
import org.apache.activemq.broker.region.CompositeDestinationInterceptor;
import org.apache.activemq.broker.region.DestinationInterceptor;
import org.apache.activemq.broker.region.RegionBroker;
@@ -111,6 +113,7 @@
private UsageManager memoryManager;
private PersistenceAdapter persistenceAdapter;
private PersistenceAdapterFactory persistenceFactory;
+ private DestinationFactory destinationFactory;
private MessageAuthorizationPolicy messageAuthorizationPolicy;
private List transportConnectors = new CopyOnWriteArrayList();
private List networkConnectors = new CopyOnWriteArrayList();
@@ -532,6 +535,10 @@
this.persistenceFactory = persistenceFactory;
}
+ public void setDestinationFactory(DestinationFactory destinationFactory) {
+ this.destinationFactory = destinationFactory;
+ }
+
public boolean isPersistent() {
return persistent;
}
@@ -1106,16 +1113,20 @@
else {
destinationInterceptor = createDefaultDestinationInterceptor();
}
-
- RegionBroker regionBroker = null;
+ RegionBroker regionBroker = null;
+ if (destinationFactory == null) {
+ destinationFactory = new
DestinationFactoryImpl(getMemoryManager(), getTaskRunnerFactory(),
getPersistenceAdapter());
+ }
if (isUseJmx()) {
MBeanServer mbeanServer = getManagementContext().getMBeanServer();
regionBroker = new ManagedRegionBroker(this, mbeanServer,
getBrokerObjectName(), getTaskRunnerFactory(), getMemoryManager(),
- getPersistenceAdapter(), destinationInterceptor);
+ destinationFactory, destinationInterceptor);
}
else {
- regionBroker = new
RegionBroker(this,getTaskRunnerFactory(), getMemoryManager(),
getPersistenceAdapter(), destinationInterceptor);
+ regionBroker = new RegionBroker(this,getTaskRunnerFactory(),
getMemoryManager(), destinationFactory, destinationInterceptor);
}
+ destinationFactory.setRegionBroker(regionBroker);
+
regionBroker.setKeepDurableSubsActive(keepDurableSubsActive);
regionBroker.setBrokerName(getBrokerName());
return regionBroker;
@@ -1375,4 +1386,5 @@
masterConnector = (MasterConnector) service;
}
}
+
}