From 9b1345bb320363c1da3e31560ca46f4124c81168 Mon Sep 17 00:00:00 2001 From: "Hiram R. Chirino" Date: Tue, 13 Dec 2005 21:02:04 +0000 Subject: [PATCH] - Updated the config xml to use new discovery syntax. - Using specific version of activeio as that may change a bit soon. - The vm transport now support specifing a broker config file: vm://localhost?brokerConfig=xbean:/path/to/config/file - Starting the JMX connector was taking a LONG time to start up... so I switch to starting it up async. - The object name for a managed transport connection could be invalid so we now encode the name so that it's not. git-svn-id: https://svn.apache.org/repos/asf/incubator/activemq/trunk@356616 13f79535-47bb-0310-9956-ffa450edef68 --- .../broker/jmx/ManagedTransportConnection.java | 3 ++- .../activemq/broker/jmx/ManagementContext.java | 18 ++++++++++++------ .../transport/vm/VMTransportFactory.java | 9 +++++++-- activemq-ra/src/main/rar/broker-config.xml | 6 +++--- assembly/src/release/conf/activemq.xml | 10 ++-------- etc/project.properties | 2 +- 6 files changed, 27 insertions(+), 21 deletions(-) diff --git a/activemq-core/src/main/java/org/activemq/broker/jmx/ManagedTransportConnection.java b/activemq-core/src/main/java/org/activemq/broker/jmx/ManagedTransportConnection.java index d6913f5345..7da96d8bf0 100644 --- a/activemq-core/src/main/java/org/activemq/broker/jmx/ManagedTransportConnection.java +++ b/activemq-core/src/main/java/org/activemq/broker/jmx/ManagedTransportConnection.java @@ -25,6 +25,7 @@ import org.activemq.command.Response; import org.activemq.thread.TaskRunnerFactory; import org.activemq.transport.Transport; import org.activemq.util.IOExceptionSupport; +import org.activemq.util.JMXSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -116,7 +117,7 @@ public class ManagedTransportConnection extends TransportConnection { Hashtable map = new Hashtable(connectorName.getKeyPropertyList()); map.put("Type", "Connection"); String jmxConnectionId = ObjectName.quote(connectionId); - map.put("Connection", jmxConnectionId); + map.put("Connection", JMXSupport.encodeObjectNamePart(connectionId)); try { return new ObjectName(connectorName.getDomain(), map); } diff --git a/activemq-core/src/main/java/org/activemq/broker/jmx/ManagementContext.java b/activemq-core/src/main/java/org/activemq/broker/jmx/ManagementContext.java index bb4abd4f3d..e35d4870d2 100644 --- a/activemq-core/src/main/java/org/activemq/broker/jmx/ManagementContext.java +++ b/activemq-core/src/main/java/org/activemq/broker/jmx/ManagementContext.java @@ -82,12 +82,18 @@ public class ManagementContext implements Service { getMBeanServer().invoke(namingServiceObjectName, "start", null, null); } catch (Throwable ignore) { } - try { - connectorServer.start(); - log.info("JMX consoles can connect to " + connectorServer.getAddress()); - } catch (IOException e) { - log.warn("Failed to start jmx connector: "+e.getMessage()); - } + Thread t = new Thread("JMX connector") { + public void run() { + try { + connectorServer.start(); + log.info("JMX consoles can connect to " + connectorServer.getAddress()); + } catch (IOException e) { + log.warn("Failed to start jmx connector: "+e.getMessage()); + } + } + }; + t.setDaemon(true); + t.start(); } } diff --git a/activemq-core/src/main/java/org/activemq/transport/vm/VMTransportFactory.java b/activemq-core/src/main/java/org/activemq/transport/vm/VMTransportFactory.java index 9e6eb75722..9be322cae4 100755 --- a/activemq-core/src/main/java/org/activemq/transport/vm/VMTransportFactory.java +++ b/activemq-core/src/main/java/org/activemq/transport/vm/VMTransportFactory.java @@ -76,8 +76,13 @@ public class VMTransportFactory extends TransportFactory { try { host = location.getHost(); options = URISupport.parseParamters(location); - Map brokerOptions = IntrospectionSupport.extractProperties(options, "broker."); - brokerURI = new URI("broker://()/"+host+"?"+URISupport.createQueryString(brokerOptions)); + String config = (String) options.remove("brokerConfig"); + if( config != null ) { + brokerURI = new URI(config); + } else { + Map brokerOptions = IntrospectionSupport.extractProperties(options, "broker."); + brokerURI = new URI("broker://()/"+host+"?"+URISupport.createQueryString(brokerOptions)); + } } catch (URISyntaxException e1) { throw IOExceptionSupport.create(e1); } diff --git a/activemq-ra/src/main/rar/broker-config.xml b/activemq-ra/src/main/rar/broker-config.xml index 71ac62d620..eb7ea6d5d8 100755 --- a/activemq-ra/src/main/rar/broker-config.xml +++ b/activemq-ra/src/main/rar/broker-config.xml @@ -32,12 +32,12 @@ - + - + @@ -46,4 +46,4 @@ - \ No newline at end of file + diff --git a/assembly/src/release/conf/activemq.xml b/assembly/src/release/conf/activemq.xml index 78a525b469..3f5094d691 100755 --- a/assembly/src/release/conf/activemq.xml +++ b/assembly/src/release/conf/activemq.xml @@ -29,19 +29,13 @@ - - - + - - + diff --git a/etc/project.properties b/etc/project.properties index 843e235566..2a81873141 100755 --- a/etc/project.properties +++ b/etc/project.properties @@ -75,7 +75,7 @@ jmock_cglib_version=1.0.1 commons_beanutils_version=1.6.1 javacc_version=2.1 activecluster_version=1.1-SNAPSHOT -activeio_version=2.2-SNAPSHOT +activeio_version=2.1 drools_core_version=2.0-beta-13 xerces_version=2.6.2 xml_parser_apis_version=2.2.1