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 2010/07/07 06:28:01 UTC

svn commit: r961221 - in /activemq/sandbox/activemq-apollo-actor: activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/ activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/ activemq-brok...

Author: chirino
Date: Wed Jul  7 04:28:00 2010
New Revision: 961221

URL: http://svn.apache.org/viewvc?rev=961221&view=rev
Log:
moving more stuff into the activemq.apollo namespace.

Added:
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/brokers
      - copied, changed from r961220, activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/apollo/broker/xml
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/ssl
      - copied, changed from r961220, activemq/sandbox/activemq-apollo-actor/activemq-tcp/src/main/resources/META-INF/services/org/apache/activemq/transport/ssl
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/tcp
      - copied, changed from r961220, activemq/sandbox/activemq-apollo-actor/activemq-tcp/src/main/resources/META-INF/services/org/apache/activemq/transport/tcp
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/vm
      - copied, changed from r961220, activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/transport/vm
Removed:
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/apollo/broker/xml
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/transport/vm
    activemq/sandbox/activemq-apollo-actor/activemq-tcp/src/main/resources/META-INF/services/org/apache/activemq/transport/ssl
    activemq/sandbox/activemq-apollo-actor/activemq-tcp/src/main/resources/META-INF/services/org/apache/activemq/transport/tcp
Modified:
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala
    activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/jaxb/XmlBrokerFactory.scala
    activemq/sandbox/activemq-apollo-actor/activemq-transport/src/main/java/org/apache/activemq/apollo/transport/TransportFactory.java

Copied: activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/brokers (from r961220, activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/apollo/broker/xml)
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/brokers?p2=activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/brokers&p1=activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/apollo/broker/xml&r1=961220&r2=961221&rev=961221&view=diff
==============================================================================
    (empty)

Copied: activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/ssl (from r961220, activemq/sandbox/activemq-apollo-actor/activemq-tcp/src/main/resources/META-INF/services/org/apache/activemq/transport/ssl)
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/ssl?p2=activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/ssl&p1=activemq/sandbox/activemq-apollo-actor/activemq-tcp/src/main/resources/META-INF/services/org/apache/activemq/transport/ssl&r1=961220&r2=961221&rev=961221&view=diff
==============================================================================
    (empty)

Copied: activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/tcp (from r961220, activemq/sandbox/activemq-apollo-actor/activemq-tcp/src/main/resources/META-INF/services/org/apache/activemq/transport/tcp)
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/tcp?p2=activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/tcp&p1=activemq/sandbox/activemq-apollo-actor/activemq-tcp/src/main/resources/META-INF/services/org/apache/activemq/transport/tcp&r1=961220&r2=961221&rev=961221&view=diff
==============================================================================
    (empty)

Copied: activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/vm (from r961220, activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/transport/vm)
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/vm?p2=activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org.apache.activemq.apollo/transports/vm&p1=activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/resources/META-INF/services/org/apache/activemq/transport/vm&r1=961220&r2=961221&rev=961221&view=diff
==============================================================================
    (empty)

Modified: activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala?rev=961221&r1=961220&r2=961221&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/Broker.scala Wed Jul  7 04:28:00 2010
@@ -30,7 +30,6 @@ import java.util.concurrent.ConcurrentHa
 import org.apache.activemq.apollo.util._
 import ReporterLevel._
 
-
 /**
  * <p>
  * The BrokerFactory creates Broker objects from a URI.
@@ -40,39 +39,36 @@ import ReporterLevel._
  */
 object BrokerFactory {
 
-    val BROKER_FACTORY_HANDLER_FINDER = new FactoryFinder("META-INF/services/org/apache/activemq/apollo/broker/");
-
-    trait Handler {
-        def createBroker(brokerURI:String):Broker
-    }
+  val finder = ClassFinder[SPI]("META-INF/services/org.apache.activemq.apollo/brokers")
+  var spis = List[SPI]()
 
+  trait SPI {
+    def createBroker(brokerURI:String):Broker
+  }
 
-    def createHandler(name:String):Handler = {
-      BROKER_FACTORY_HANDLER_FINDER.newInstance(name).asInstanceOf[Handler]
+  finder.find.foreach{ clazz =>
+    try {
+      spis ::= clazz.newInstance.asInstanceOf[SPI]
+    } catch {
+      case e:Throwable => e.printStackTrace
     }
+  }
 
-    /**
-     * Creates a broker from a URI configuration
-     *
-     * @param brokerURI the URI scheme to configure the broker
-     * @param startBroker whether or not the broker should have its
-     *                {@link Broker#start()} method called after
-     *                construction
-     * @throws Exception
-     */
-    def createBroker(brokerURI:String, startBroker:Boolean=false):Broker = {
-      var scheme = FactoryFinder.getScheme(brokerURI)
-      if (scheme==null ) {
-          throw new IllegalArgumentException("Invalid broker URI, no scheme specified: " + brokerURI)
-      }
-      var handler = createHandler(scheme)
-      var broker = handler.createBroker(brokerURI)
-      if (startBroker) {
+  def createBroker(uri:String, start:Boolean=false):Broker = {
+    if( uri == null ) {
+      return null
+    }
+    spis.foreach { spi=>
+      val broker = spi.createBroker(uri)
+      if( broker!=null ) {
+        if (start) {
           broker.start();
+        }
+        return broker
       }
-      return broker;
     }
-
+    throw new IllegalArgumentException("Uknonwn broker uri: "+uri)
+  }
 }
 
 

Modified: activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/jaxb/XmlBrokerFactory.scala
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/jaxb/XmlBrokerFactory.scala?rev=961221&r1=961220&r2=961221&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/jaxb/XmlBrokerFactory.scala (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-broker/src/main/scala/org/apache/activemq/apollo/broker/jaxb/XmlBrokerFactory.scala Wed Jul  7 04:28:00 2010
@@ -17,17 +17,14 @@
 package org.apache.activemq.apollo.jaxb
 
 import java.io.IOException
-import javax.xml.bind.JAXBContext
-import javax.xml.stream.XMLInputFactory
 import java.net.{URL, URI}
 import org.apache.activemq.apollo.broker._
-import jaxb.PropertiesReader
 import org.apache.activemq.apollo.dto._
 import java.lang.String
 import XmlEncoderDecoder._
 import org.apache.activemq.apollo.util._
 
-class XmlBrokerFactory extends BrokerFactory.Handler {
+class XmlBrokerFactory extends BrokerFactory.SPI {
 
   def createBroker(value: String): Broker = {
     try {

Modified: activemq/sandbox/activemq-apollo-actor/activemq-transport/src/main/java/org/apache/activemq/apollo/transport/TransportFactory.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-transport/src/main/java/org/apache/activemq/apollo/transport/TransportFactory.java?rev=961221&r1=961220&r2=961221&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-transport/src/main/java/org/apache/activemq/apollo/transport/TransportFactory.java (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-transport/src/main/java/org/apache/activemq/apollo/transport/TransportFactory.java Wed Jul  7 04:28:00 2010
@@ -28,7 +28,7 @@ import java.util.concurrent.ConcurrentHa
  */
 public class TransportFactory {
 
-    private static final FactoryFinder TRANSPORT_FACTORY_FINDER = new FactoryFinder("META-INF/services/org/apache/activemq/transport/");
+    private static final FactoryFinder TRANSPORT_FACTORY_FINDER = new FactoryFinder("META-INF/services/org.apache.activemq.apollo/transports/");
     private static final ConcurrentHashMap<String, TransportFactorySPI> TRANSPORT_FACTORYS = new ConcurrentHashMap<String, TransportFactorySPI>();
 
     public interface TransportFactorySPI {