You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by js...@apache.org on 2006/07/27 18:39:10 UTC
svn commit: r426132 - in
/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker:
./ jmx/ region/
Author: jstrachan
Date: Thu Jul 27 09:39:09 2006
New Revision: 426132
URL: http://svn.apache.org/viewvc?rev=426132&view=rev
Log:
added a helper method on the broker for its default administration connection context to avoid various parts of the code spoofing one and to provide a single place we can register any particular security details for startup or runtime MBean based administration
Modified:
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/Broker.java
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerFilter.java
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/EmptyBroker.java
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/ErrorBroker.java
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MutableBrokerFilter.java
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/RegionBroker.java
Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/Broker.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/Broker.java?rev=426132&r1=426131&r2=426132&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/Broker.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/Broker.java Thu Jul 27 09:39:09 2006
@@ -238,4 +238,14 @@
* @return true if fault tolerant
*/
public boolean isFaultTolerantConfiguration();
+
+ /**
+ * @return the connection context used to make administration operations on startup or via JMX MBeans
+ */
+ public abstract ConnectionContext getAdminConnectionContext();
+
+ /**
+ * Sets the default administration connection context used when configuring the broker on startup or via JMX
+ */
+ public abstract void setAdminConnectionContext(ConnectionContext adminConnectionContext);
}
Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerFilter.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerFilter.java?rev=426132&r1=426131&r2=426132&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerFilter.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerFilter.java Thu Jul 27 09:39:09 2006
@@ -213,9 +213,16 @@
}
-
public boolean isFaultTolerantConfiguration(){
return next.isFaultTolerantConfiguration();
}
+ public ConnectionContext getAdminConnectionContext() {
+ return next.getAdminConnectionContext();
+ }
+
+ public void setAdminConnectionContext(ConnectionContext adminConnectionContext) {
+ next.setAdminConnectionContext(adminConnectionContext);
+ }
+
}
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=426132&r1=426131&r2=426132&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 Jul 27 09:39:09 2006
@@ -1202,16 +1202,41 @@
*/
protected void startDestinations() throws Exception {
if (destinations != null) {
- ConnectionContext context = new ConnectionContext();
- context.setBroker(getBroker());
-
+ ConnectionContext adminConnectionContext = getAdminConnectionContext();
+
for (int i = 0; i < destinations.length; i++) {
ActiveMQDestination destination = destinations[i];
- getBroker().addDestination(context, destination);
+ getBroker().addDestination(adminConnectionContext, destination);
}
}
}
+
+ /**
+ * Returns the broker's administration connection context used for configuring the broker
+ * at startup
+ */
+ public ConnectionContext getAdminConnectionContext() throws Exception {
+ ConnectionContext adminConnectionContext = getBroker().getAdminConnectionContext();
+ if (adminConnectionContext == null) {
+ adminConnectionContext = createAdminConnectionContext();
+ getBroker().setAdminConnectionContext(adminConnectionContext);
+ }
+ return adminConnectionContext;
+ }
+
+ /**
+ * Factory method to create the new administration connection context object.
+ * Note this method is here rather than inside a default broker implementation to
+ * ensure that the broker reference inside it is the outer most interceptor
+ */
+ protected ConnectionContext createAdminConnectionContext() throws Exception {
+ ConnectionContext context = new ConnectionContext();
+ context.setBroker(getBroker());
+ return context;
+ }
+
+
/**
* Start all transport and network connections, proxies and bridges
* @throws Exception
Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/EmptyBroker.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/EmptyBroker.java?rev=426132&r1=426131&r2=426132&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/EmptyBroker.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/EmptyBroker.java Thu Jul 27 09:39:09 2006
@@ -42,18 +42,18 @@
*
* @version $Revision$
*/
-public class EmptyBroker implements Broker{
+public class EmptyBroker implements Broker {
- public BrokerId getBrokerId(){
+ public BrokerId getBrokerId() {
return null;
}
- public String getBrokerName(){
+ public String getBrokerName() {
return null;
}
-
- public Broker getAdaptor(Class type){
- if (type.isInstance(this)){
+
+ public Broker getAdaptor(Class type) {
+ if (type.isInstance(this)) {
return this;
}
return null;
@@ -67,152 +67,159 @@
return Collections.EMPTY_SET;
}
- public void addConnection(ConnectionContext context,ConnectionInfo info) throws Exception{
+ public void addConnection(ConnectionContext context, ConnectionInfo info) throws Exception {
}
- public void removeConnection(ConnectionContext context,ConnectionInfo info,Throwable error) throws Exception{
+ public void removeConnection(ConnectionContext context, ConnectionInfo info, Throwable error) throws Exception {
}
- public void addSession(ConnectionContext context,SessionInfo info) throws Exception{
+ public void addSession(ConnectionContext context, SessionInfo info) throws Exception {
}
- public void removeSession(ConnectionContext context,SessionInfo info) throws Exception{
+ public void removeSession(ConnectionContext context, SessionInfo info) throws Exception {
}
- public void addProducer(ConnectionContext context,ProducerInfo info) throws Exception{
+ public void addProducer(ConnectionContext context, ProducerInfo info) throws Exception {
}
- public void removeProducer(ConnectionContext context,ProducerInfo info) throws Exception{
+ public void removeProducer(ConnectionContext context, ProducerInfo info) throws Exception {
}
- public Connection[] getClients() throws Exception{
+ public Connection[] getClients() throws Exception {
return null;
}
- public ActiveMQDestination[] getDestinations() throws Exception{
+ public ActiveMQDestination[] getDestinations() throws Exception {
return null;
}
- public TransactionId[] getPreparedTransactions(ConnectionContext context) throws Exception{
+ public TransactionId[] getPreparedTransactions(ConnectionContext context) throws Exception {
return null;
}
- public void beginTransaction(ConnectionContext context,TransactionId xid) throws Exception{
+ public void beginTransaction(ConnectionContext context, TransactionId xid) throws Exception {
}
- public int prepareTransaction(ConnectionContext context,TransactionId xid) throws Exception{
+ public int prepareTransaction(ConnectionContext context, TransactionId xid) throws Exception {
return 0;
}
- public void rollbackTransaction(ConnectionContext context,TransactionId xid) throws Exception{
+ public void rollbackTransaction(ConnectionContext context, TransactionId xid) throws Exception {
}
- public void commitTransaction(ConnectionContext context,TransactionId xid,boolean onePhase) throws Exception{
+ public void commitTransaction(ConnectionContext context, TransactionId xid, boolean onePhase) throws Exception {
}
- public void forgetTransaction(ConnectionContext context,TransactionId transactionId) throws Exception{
+ public void forgetTransaction(ConnectionContext context, TransactionId transactionId) throws Exception {
}
- public Destination addDestination(ConnectionContext context,ActiveMQDestination destination) throws Exception{
+ public Destination addDestination(ConnectionContext context, ActiveMQDestination destination) throws Exception {
return null;
}
- public void removeDestination(ConnectionContext context,ActiveMQDestination destination,long timeout) throws Exception{
+ public void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception {
}
- public Subscription addConsumer(ConnectionContext context,ConsumerInfo info) throws Exception{
+ public Subscription addConsumer(ConnectionContext context, ConsumerInfo info) throws Exception {
return null;
}
- public void removeConsumer(ConnectionContext context,ConsumerInfo info) throws Exception{
+ public void removeConsumer(ConnectionContext context, ConsumerInfo info) throws Exception {
}
- public void removeSubscription(ConnectionContext context,RemoveSubscriptionInfo info) throws Exception{
+ public void removeSubscription(ConnectionContext context, RemoveSubscriptionInfo info) throws Exception {
}
- public void send(ConnectionContext context,Message message) throws Exception{
+ public void send(ConnectionContext context, Message message) throws Exception {
}
- public void acknowledge(ConnectionContext context,MessageAck ack) throws Exception{
+ public void acknowledge(ConnectionContext context, MessageAck ack) throws Exception {
}
- public void gc(){
+ public void gc() {
}
- public void start() throws Exception{
+ public void start() throws Exception {
}
- public void stop() throws Exception{
+ public void stop() throws Exception {
}
- public void addBroker(Connection connection,BrokerInfo info){
-
+ public void addBroker(Connection connection, BrokerInfo info) {
+
}
-
- public void removeBroker(Connection connection,BrokerInfo info){
-
+
+ public void removeBroker(Connection connection, BrokerInfo info) {
+
}
- public BrokerInfo[] getPeerBrokerInfos(){
+ public BrokerInfo[] getPeerBrokerInfos() {
return null;
}
-
+
/**
* Notifiy the Broker that a dispatch has happened
+ *
* @param messageDispatch
*/
- public void processDispatch(MessageDispatch messageDispatch){
-
+ public void processDispatch(MessageDispatch messageDispatch) {
+
}
-
- public void processDispatchNotification(MessageDispatchNotification messageDispatchNotification) throws Exception{
-
+
+ public void processDispatchNotification(MessageDispatchNotification messageDispatchNotification) throws Exception {
+
}
-
- public boolean isSlaveBroker(){
+
+ public boolean isSlaveBroker() {
return false;
}
-
- public boolean isStopped(){
+
+ public boolean isStopped() {
return false;
}
-
- public Set getDurableDestinations(){
+
+ public Set getDurableDestinations() {
return null;
}
- public void addDestinationInfo(ConnectionContext context,DestinationInfo info) throws Exception{
+ public void addDestinationInfo(ConnectionContext context, DestinationInfo info) throws Exception {
}
- public void removeDestinationInfo(ConnectionContext context,DestinationInfo info) throws Exception{
+ public void removeDestinationInfo(ConnectionContext context, DestinationInfo info) throws Exception {
}
- public boolean isFaultTolerantConfiguration(){
+ public boolean isFaultTolerantConfiguration() {
return false;
}
-
-
+
+ public ConnectionContext getAdminConnectionContext() {
+ return null;
+ }
+
+ public void setAdminConnectionContext(ConnectionContext adminConnectionContext) {
+ }
+
}
Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/ErrorBroker.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/ErrorBroker.java?rev=426132&r1=426131&r2=426132&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/ErrorBroker.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/ErrorBroker.java Thu Jul 27 09:39:09 2006
@@ -38,7 +38,8 @@
import org.apache.activemq.command.TransactionId;
/**
- * Implementation of the broker where all it's methods throw an BrokerStoppedException.
+ * Implementation of the broker where all it's methods throw an
+ * BrokerStoppedException.
*
* @version $Revision$
*/
@@ -47,9 +48,9 @@
private final String message;
public ErrorBroker(String message) {
- this.message=message;
+ this.message = message;
}
-
+
public Map getDestinationMap() {
return Collections.EMPTY_MAP;
}
@@ -58,13 +59,13 @@
return Collections.EMPTY_SET;
}
- public Broker getAdaptor(Class type){
- if (type.isInstance(this)){
+ public Broker getAdaptor(Class type) {
+ if (type.isInstance(this)) {
return this;
}
return null;
}
-
+
public BrokerId getBrokerId() {
throw new BrokerStoppedException(this.message);
}
@@ -72,7 +73,7 @@
public String getBrokerName() {
throw new BrokerStoppedException(this.message);
}
-
+
public void addConnection(ConnectionContext context, ConnectionInfo info) throws Exception {
throw new BrokerStoppedException(this.message);
}
@@ -169,52 +170,57 @@
throw new BrokerStoppedException(this.message);
}
- public void addBroker(Connection connection,BrokerInfo info){
+ public void addBroker(Connection connection, BrokerInfo info) {
throw new BrokerStoppedException(this.message);
-
+
}
-
- public void removeBroker(Connection connection,BrokerInfo info){
+
+ public void removeBroker(Connection connection, BrokerInfo info) {
throw new BrokerStoppedException(this.message);
}
- public BrokerInfo[] getPeerBrokerInfos(){
+ public BrokerInfo[] getPeerBrokerInfos() {
throw new BrokerStoppedException(this.message);
}
-
- public void processDispatch(MessageDispatch messageDispatch){
+
+ public void processDispatch(MessageDispatch messageDispatch) {
throw new BrokerStoppedException(this.message);
}
-
- public void processDispatchNotification(MessageDispatchNotification messageDispatchNotification) throws Exception{
+
+ public void processDispatchNotification(MessageDispatchNotification messageDispatchNotification) throws Exception {
throw new BrokerStoppedException(this.message);
}
-
- public boolean isSlaveBroker(){
+
+ public boolean isSlaveBroker() {
throw new BrokerStoppedException(this.message);
}
-
- public boolean isStopped(){
+
+ public boolean isStopped() {
return true;
}
-
- public Set getDurableDestinations(){
+
+ public Set getDurableDestinations() {
+ throw new BrokerStoppedException(this.message);
+ }
+
+ public void addDestinationInfo(ConnectionContext context, DestinationInfo info) throws Exception {
throw new BrokerStoppedException(this.message);
}
- public void addDestinationInfo(ConnectionContext context,DestinationInfo info) throws Exception{
+ public void removeDestinationInfo(ConnectionContext context, DestinationInfo info) throws Exception {
throw new BrokerStoppedException(this.message);
-
}
- public void removeDestinationInfo(ConnectionContext context,DestinationInfo info) throws Exception{
+ public boolean isFaultTolerantConfiguration() {
throw new BrokerStoppedException(this.message);
-
}
- public boolean isFaultTolerantConfiguration(){
+ public ConnectionContext getAdminConnectionContext() {
throw new BrokerStoppedException(this.message);
}
-
-
+
+ public void setAdminConnectionContext(ConnectionContext adminConnectionContext) {
+ throw new BrokerStoppedException(this.message);
+ }
+
}
Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MutableBrokerFilter.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MutableBrokerFilter.java?rev=426132&r1=426131&r2=426132&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MutableBrokerFilter.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/MutableBrokerFilter.java Thu Jul 27 09:39:09 2006
@@ -229,4 +229,12 @@
return getNext().isFaultTolerantConfiguration();
}
+ public ConnectionContext getAdminConnectionContext() {
+ return getNext().getAdminConnectionContext();
+ }
+
+ public void setAdminConnectionContext(ConnectionContext adminConnectionContext) {
+ getNext().setAdminConnectionContext(adminConnectionContext);
+ }
+
}
Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java?rev=426132&r1=426131&r2=426132&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/jmx/BrokerView.java Thu Jul 27 09:39:09 2006
@@ -180,9 +180,7 @@
}
static public ConnectionContext getConnectionContext(Broker broker) {
- ConnectionContext context = new ConnectionContext();
- context.setBroker(broker);
- return context;
+ return broker.getAdminConnectionContext();
}
}
Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/RegionBroker.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/RegionBroker.java?rev=426132&r1=426131&r2=426132&view=diff
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/RegionBroker.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/RegionBroker.java Thu Jul 27 09:39:09 2006
@@ -85,6 +85,7 @@
private Map clientIdSet = new HashMap(); // we will synchronize access
protected PersistenceAdapter adaptor;
private final DestinationInterceptor destinationInterceptor;
+ private ConnectionContext adminConnectionContext;
public RegionBroker(BrokerService brokerService,TaskRunnerFactory taskRunnerFactory, UsageManager memoryManager, PersistenceAdapter adapter, DestinationInterceptor destinationInterceptor) throws IOException {
this.brokerService = brokerService;
@@ -533,5 +534,11 @@
return destinationInterceptor;
}
-
+ public ConnectionContext getAdminConnectionContext() {
+ return adminConnectionContext;
+ }
+
+ public void setAdminConnectionContext(ConnectionContext adminConnectionContext) {
+ this.adminConnectionContext = adminConnectionContext;
+ }
}