You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/10/05 23:05:52 UTC

svn commit: r453380 - in /incubator/activemq/trunk/activemq-core/src: main/java/org/apache/activemq/transport/vm/VMTransportFactory.java test/java/org/apache/activemq/ActiveMQConnectionFactoryTest.java

Author: chirino
Date: Thu Oct  5 14:05:52 2006
New Revision: 453380

URL: http://svn.apache.org/viewvc?view=rev&rev=453380
Log:
http://issues.apache.org/activemq/browse/AMQ-958

Modified:
    incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/vm/VMTransportFactory.java
    incubator/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQConnectionFactoryTest.java

Modified: incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/vm/VMTransportFactory.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/vm/VMTransportFactory.java?view=diff&rev=453380&r1=453379&r2=453380
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/vm/VMTransportFactory.java (original)
+++ incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/transport/vm/VMTransportFactory.java Thu Oct  5 14:05:52 2006
@@ -56,6 +56,7 @@
         URI brokerURI;
         String host;
         Map options;
+        boolean create=true;
         CompositeData data=URISupport.parseComposite(location);
         if(data.getComponents().length==1&&"broker".equals(data.getComponents()[0].getScheme())){
             brokerURI=data.getComponents()[0];
@@ -79,6 +80,9 @@
                     Map brokerOptions=IntrospectionSupport.extractProperties(options,"broker.");
                     brokerURI=new URI("broker://()/"+host+"?"+URISupport.createQueryString(brokerOptions));
                 }
+                if( "false".equals(options.get("create")) ) {
+                	create=false;
+                }
             }catch(URISyntaxException e1){
                 throw IOExceptionSupport.create(e1);
             }
@@ -97,6 +101,9 @@
             synchronized( BrokerRegistry.getInstance().getRegistryMutext() ) {
                 broker=BrokerRegistry.getInstance().lookup(host);
                 if(broker==null){
+                	if( !create ) {
+                		throw new IOException("Broker named '"+host+"' does not exist.");
+                	}
                     try{
                         if(brokerFactoryHandler!=null){
                             broker=brokerFactoryHandler.createBroker(brokerURI);

Modified: incubator/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQConnectionFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQConnectionFactoryTest.java?view=diff&rev=453380&r1=453379&r2=453380
==============================================================================
--- incubator/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQConnectionFactoryTest.java (original)
+++ incubator/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/ActiveMQConnectionFactoryTest.java Thu Oct  5 14:05:52 2006
@@ -97,7 +97,16 @@
     public void testCreateTcpConnectionUsingKnownPort() throws Exception {
         assertCreateConnection("tcp://localhost:61610?wireFormat.tcpNoDelayEnabled=true");
     }
-    
+
+    public void testConnectionFailsToConnectToVMBrokerThatIsNotRunning() throws Exception {    	
+		ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost?create=false");
+    	try {
+    		factory.createConnection();
+			fail("Expected connection failure.");
+		} catch (JMSException e) {
+		}
+    }
+
     protected void assertCreateConnection(String uri) throws Exception {
         // Start up a broker with a tcp connector.
         BrokerService broker = new BrokerService();