activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chir...@apache.org
Subject svn commit: r1065475 - in /activemq/activemq-apollo/trunk: ./ apollo-bdb/ apollo-bdb/src/main/resources/OSGI-INF/ apollo-bdb/src/main/resources/OSGI-INF/blueprint/ apollo-broker/ apollo-broker/src/main/resources/OSGI-INF/ apollo-broker/src/main/resourc...
Date Mon, 31 Jan 2011 03:06:54 GMT
Author: chirino
Date: Mon Jan 31 03:06:53 2011
New Revision: 1065475

URL: http://svn.apache.org/viewvc?rev=1065475&view=rev
Log:
Switched the osgi integration from using Activators to blueprint.  Better wait handling for extensions to get loaded.

Added:
    activemq/activemq-apollo/trunk/apollo-bdb/src/main/resources/OSGI-INF/
    activemq/activemq-apollo/trunk/apollo-bdb/src/main/resources/OSGI-INF/blueprint/
    activemq/activemq-apollo/trunk/apollo-bdb/src/main/resources/OSGI-INF/blueprint/apollo-services.xml
      - copied, changed from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml
    activemq/activemq-apollo/trunk/apollo-broker/src/main/resources/OSGI-INF/
    activemq/activemq-apollo/trunk/apollo-broker/src/main/resources/OSGI-INF/blueprint/
    activemq/activemq-apollo/trunk/apollo-broker/src/main/resources/OSGI-INF/blueprint/broker.xml
      - copied, changed from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml
    activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/osgi/BrokerService.scala
      - copied, changed from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/scala/org/apache/activemq/apollo/karaf/BrokerService.scala
    activemq/activemq-apollo/trunk/apollo-cassandra/src/main/resources/OSGI-INF/
    activemq/activemq-apollo/trunk/apollo-cassandra/src/main/resources/OSGI-INF/blueprint/
    activemq/activemq-apollo/trunk/apollo-cassandra/src/main/resources/OSGI-INF/blueprint/apollo-services.xml
      - copied, changed from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml
    activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/OSGI-INF/
    activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/OSGI-INF/blueprint/
    activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/OSGI-INF/blueprint/apollo-services.xml
      - copied, changed from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml
    activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/resources/OSGI-INF/
    activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/resources/OSGI-INF/blueprint/
    activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/resources/OSGI-INF/blueprint/apollo-services.xml
      - copied, changed from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml
    activemq/activemq-apollo/trunk/apollo-jdbm2/src/main/resources/OSGI-INF/
    activemq/activemq-apollo/trunk/apollo-jdbm2/src/main/resources/OSGI-INF/blueprint/
    activemq/activemq-apollo/trunk/apollo-jdbm2/src/main/resources/OSGI-INF/blueprint/apollo-services.xml
      - copied, changed from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml
    activemq/activemq-apollo/trunk/apollo-stomp/src/main/resources/OSGI-INF/
    activemq/activemq-apollo/trunk/apollo-stomp/src/main/resources/OSGI-INF/blueprint/
    activemq/activemq-apollo/trunk/apollo-stomp/src/main/resources/OSGI-INF/blueprint/apollo-services.xml
      - copied, changed from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml
    activemq/activemq-apollo/trunk/apollo-tcp/src/main/resources/OSGI-INF/
    activemq/activemq-apollo/trunk/apollo-tcp/src/main/resources/OSGI-INF/blueprint/
    activemq/activemq-apollo/trunk/apollo-tcp/src/main/resources/OSGI-INF/blueprint/apollo-services.xml
      - copied, changed from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml
    activemq/activemq-apollo/trunk/apollo-transport/src/main/resources/OSGI-INF/
    activemq/activemq-apollo/trunk/apollo-transport/src/main/resources/OSGI-INF/blueprint/
    activemq/activemq-apollo/trunk/apollo-transport/src/main/resources/OSGI-INF/blueprint/apollo-services.xml
      - copied, changed from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml
    activemq/activemq-apollo/trunk/apollo-util/src/main/resources/
    activemq/activemq-apollo/trunk/apollo-util/src/main/resources/OSGI-INF/
    activemq/activemq-apollo/trunk/apollo-util/src/main/resources/OSGI-INF/blueprint/
    activemq/activemq-apollo/trunk/apollo-util/src/main/resources/OSGI-INF/blueprint/utils.xml
    activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/
    activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/ClassFinderLoader.scala
    activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/ClassFinderServiceExporter.scala
Removed:
    activemq/activemq-apollo/trunk/apollo-karaf/pom.xml
    activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml
    activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/features.xml
    activemq/activemq-apollo/trunk/apollo-karaf/src/main/scala/org/apache/activemq/apollo/karaf/BrokerService.scala
    activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/ClassFinderActivator.scala
Modified:
    activemq/activemq-apollo/trunk/apollo-bdb/pom.xml
    activemq/activemq-apollo/trunk/apollo-broker/pom.xml
    activemq/activemq-apollo/trunk/apollo-cassandra/pom.xml
    activemq/activemq-apollo/trunk/apollo-cli/pom.xml
    activemq/activemq-apollo/trunk/apollo-dto/pom.xml
    activemq/activemq-apollo/trunk/apollo-hawtdb/pom.xml
    activemq/activemq-apollo/trunk/apollo-jdbm2/pom.xml
    activemq/activemq-apollo/trunk/apollo-karaf-feature/pom.xml
    activemq/activemq-apollo/trunk/apollo-karaf-feature/src/main/resources/features.xml
    activemq/activemq-apollo/trunk/apollo-stomp/pom.xml
    activemq/activemq-apollo/trunk/apollo-tcp/pom.xml
    activemq/activemq-apollo/trunk/apollo-transport/pom.xml
    activemq/activemq-apollo/trunk/apollo-util/pom.xml
    activemq/activemq-apollo/trunk/pom.xml

Modified: activemq/activemq-apollo/trunk/apollo-bdb/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-bdb/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-bdb/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-bdb/pom.xml Mon Jan 31 03:06:53 2011
@@ -35,7 +35,6 @@
   <name>${project.artifactId}</name>
 
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderExportingActivator</apollo.osgi.activator>
   </properties>
 
   <dependencies>

Copied: activemq/activemq-apollo/trunk/apollo-bdb/src/main/resources/OSGI-INF/blueprint/apollo-services.xml (from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-bdb/src/main/resources/OSGI-INF/blueprint/apollo-services.xml?p2=activemq/activemq-apollo/trunk/apollo-bdb/src/main/resources/OSGI-INF/blueprint/apollo-services.xml&p1=activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml&r1=1065181&r2=1065475&rev=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-bdb/src/main/resources/OSGI-INF/blueprint/apollo-services.xml Mon Jan 31 03:06:53 2011
@@ -17,25 +17,11 @@
     limitations under the License.
 
 -->
-<blueprint
-  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-  xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
-  xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
 
-  <cm:property-placeholder persistent-id="org.apache.activemq.apollo" update-strategy="reload">
-    <cm:default-properties>
-      <cm:property name="apollo.base" value="."/>
-    </cm:default-properties>
-  </cm:property-placeholder>
-
-  <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
-
-  <bean id="broker" class="org.apache.activemq.apollo.karaf.BrokerService"
+  <bean id="exporter" class="org.apache.activemq.apollo.util.osgi.ClassFinderServiceExporter"
         init-method="start" destroy-method="stop">
     <property name="context" ref="blueprintBundleContext"/>
-    <property name="basedir" value="${apollo.base}"/>
-    <property name="configAdmin" ref="configAdmin"/>
   </bean>
 
-
 </blueprint>
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/apollo-broker/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/pom.xml Mon Jan 31 03:06:53 2011
@@ -35,7 +35,7 @@
   <name>${project.artifactId}</name>
 
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderExportingActivator</apollo.osgi.activator>
+    <!-- <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderServiceExporter</apollo.osgi.activator> -->
   </properties>
 
   <dependencies>
@@ -85,6 +85,7 @@
       <version>${snakeyaml-version}</version>
     </dependency>
 
+    <!-- for optional web admin -->
     <dependency>
       <groupId>org.eclipse.jetty.aggregate</groupId>
       <artifactId>jetty-all-server</artifactId>
@@ -92,6 +93,20 @@
       <optional>true</optional>
     </dependency>
 
+    <!-- for optional osgi itegration -->
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>${osgi-version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+      <version>${osgi-version}</version>
+      <scope>provided</scope>
+    </dependency>
+
     <!-- Scala Support -->
     <dependency>
       <groupId>org.scala-lang</groupId>
@@ -107,13 +122,6 @@
       <optional>true</optional>
     </dependency>
     
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>4.1.0</version>
-      <optional>true</optional>
-    </dependency>
-
     <!-- Testing Dependencies -->
     <dependency>
       <groupId>org.apache.activemq</groupId>

Copied: activemq/activemq-apollo/trunk/apollo-broker/src/main/resources/OSGI-INF/blueprint/broker.xml (from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/resources/OSGI-INF/blueprint/broker.xml?p2=activemq/activemq-apollo/trunk/apollo-broker/src/main/resources/OSGI-INF/blueprint/broker.xml&p1=activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml&r1=1065181&r2=1065475&rev=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/resources/OSGI-INF/blueprint/broker.xml Mon Jan 31 03:06:53 2011
@@ -30,12 +30,16 @@
 
   <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
 
-  <bean id="broker" class="org.apache.activemq.apollo.karaf.BrokerService"
+  <bean id="broker" class="org.apache.activemq.apollo.broker.osgi.BrokerService"
         init-method="start" destroy-method="stop">
     <property name="context" ref="blueprintBundleContext"/>
     <property name="basedir" value="${apollo.base}"/>
     <property name="configAdmin" ref="configAdmin"/>
   </bean>
 
+  <bean id="exporter" class="org.apache.activemq.apollo.util.osgi.ClassFinderServiceExporter"
+        init-method="start" destroy-method="stop">
+    <property name="context" ref="blueprintBundleContext"/>
+  </bean>
 
 </blueprint>
\ No newline at end of file

Copied: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/osgi/BrokerService.scala (from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/scala/org/apache/activemq/apollo/karaf/BrokerService.scala)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/osgi/BrokerService.scala?p2=activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/osgi/BrokerService.scala&p1=activemq/activemq-apollo/trunk/apollo-karaf/src/main/scala/org/apache/activemq/apollo/karaf/BrokerService.scala&r1=1065181&r2=1065475&rev=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf/src/main/scala/org/apache/activemq/apollo/karaf/BrokerService.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/osgi/BrokerService.scala Mon Jan 31 03:06:53 2011
@@ -14,48 +14,48 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.activemq.apollo.karaf
+package org.apache.activemq.apollo.broker.osgi
 
-import org.osgi.framework._
 import java.net.URL
-import org.apache.activemq.apollo.broker.{Broker, ConfigStore, FileConfigStore}
+import org.apache.activemq.apollo.broker.Broker
 import org.fusesource.hawtdispatch._
-import org.apache.activemq.apollo.util.FileSupport._
-import java.lang.{Class, String}
-import scala.reflect.BeanProperty
+import java.lang.Class
 import org.apache.activemq.apollo.dto.{XmlCodec, BrokerDTO}
-import java.io.{FileInputStream, File}
 import org.osgi.service.cm.ConfigurationAdmin
-import java.util.{Properties, Enumeration}
-import org.apache.activemq.apollo.broker.security.EncryptionSupport
+import java.util.Enumeration
+import org.osgi.framework._
+import java.lang.String
 import collection.JavaConversions._
-import org.apache.activemq.apollo.util.{ServiceControl, Log, LoggingReporter}
+import java.util.Properties
+import org.apache.activemq.apollo.util._
+import FileSupport._
+import java.io.{FileInputStream, File}
 
-class BrokerService extends Log {
+/**
+ * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
+ */
+object BrokerService extends Log {
 
-  @BeanProperty
   var context: BundleContext = _
-
-  @BeanProperty
   var basedir: File = _
-
-  @BeanProperty
   var config:BrokerDTO = _
-
-  @BeanProperty
   var configAdmin:ConfigurationAdmin = _
-
   var broker:Broker = _
 
   def start(): Unit = this.synchronized {
     try {
+      if(broker!=null) {
+        error("Apollo has allready been started.")
+        return;
+      }
 
       // this makes jaxb happy
       Thread.currentThread().setContextClassLoader(JaxbClassLoader(context))
 
       // in case the config gets injected.
-      if( config == null ) {
-
+      val dto = if( config != null ) {
+        config
+      } else {
         // val base = system_dir("apollo.base")
         val apollo_xml = basedir / "etc" / "apollo.xml"
 
@@ -76,12 +76,12 @@ class BrokerService extends Log {
             props.put(key.asInstanceOf[String], cmProps.get(key).asInstanceOf[String])
           }
         }
-        config = XmlCodec.unmarshalBrokerDTO(new FileInputStream(apollo_xml), props)
+        XmlCodec.unmarshalBrokerDTO(new FileInputStream(apollo_xml), props)
       }
 
       debug("Starting broker");
       broker = new Broker()
-      broker.configure(config, LoggingReporter(this))
+      broker.configure(dto, LoggingReporter(this))
       broker.tmp = basedir / "tmp"
       broker.tmp.mkdirs
       broker.start(^{
@@ -90,6 +90,7 @@ class BrokerService extends Log {
 
     } catch {
       case e: Throwable =>
+        stop
         error(e)
     }
   }
@@ -98,13 +99,37 @@ class BrokerService extends Log {
     if( broker!=null ) {
       ServiceControl.stop(broker, "Apollo shutdown")
       info("Apollo stopped");
+      broker = null;
     }
   }
 
 }
 
-// We need to setup a context class loader because apollo allows
-// optional/plugin modules to dynamically add to the JAXB context.
+import BrokerService._
+
+/**
+ * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
+ */
+class BrokerService {
+
+  //
+  // Setters to allow blueprint injection.
+  //
+  def setContext(value:BundleContext):Unit = context = value
+  def setBasedir(value:File):Unit = basedir = value
+  def setConfig(value:BrokerDTO):Unit = config = value
+  def setConfigAdmin(value:ConfigurationAdmin):Unit = configAdmin = value
+
+  def start() = BrokerService.start
+  def stop() = BrokerService.stop
+}
+
+/**
+ * We need to setup a context class loader because apollo allows
+ * optional/plugin modules to dynamically add to the JAXB context.
+ *
+ * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
+ */
 case class JaxbClassLoader(context: BundleContext) extends ClassLoader(classOf[JaxbClassLoader].getClassLoader) {
 
   def wait_for_start(bundle:Bundle):Option[Bundle] = {
@@ -167,4 +192,5 @@ case class JaxbClassLoader(context: Bund
     }
     list.elements
   }
-}
\ No newline at end of file
+}
+

Modified: activemq/activemq-apollo/trunk/apollo-cassandra/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-cassandra/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-cassandra/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-cassandra/pom.xml Mon Jan 31 03:06:53 2011
@@ -35,7 +35,6 @@
   <name>${project.artifactId}</name>
 
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderExportingActivator</apollo.osgi.activator>
   </properties>
 
   <repositories>

Copied: activemq/activemq-apollo/trunk/apollo-cassandra/src/main/resources/OSGI-INF/blueprint/apollo-services.xml (from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-cassandra/src/main/resources/OSGI-INF/blueprint/apollo-services.xml?p2=activemq/activemq-apollo/trunk/apollo-cassandra/src/main/resources/OSGI-INF/blueprint/apollo-services.xml&p1=activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml&r1=1065181&r2=1065475&rev=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-cassandra/src/main/resources/OSGI-INF/blueprint/apollo-services.xml Mon Jan 31 03:06:53 2011
@@ -17,25 +17,11 @@
     limitations under the License.
 
 -->
-<blueprint
-  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-  xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
-  xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
 
-  <cm:property-placeholder persistent-id="org.apache.activemq.apollo" update-strategy="reload">
-    <cm:default-properties>
-      <cm:property name="apollo.base" value="."/>
-    </cm:default-properties>
-  </cm:property-placeholder>
-
-  <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
-
-  <bean id="broker" class="org.apache.activemq.apollo.karaf.BrokerService"
+  <bean id="exporter" class="org.apache.activemq.apollo.util.osgi.ClassFinderServiceExporter"
         init-method="start" destroy-method="stop">
     <property name="context" ref="blueprintBundleContext"/>
-    <property name="basedir" value="${apollo.base}"/>
-    <property name="configAdmin" ref="configAdmin"/>
   </bean>
 
-
 </blueprint>
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/apollo-cli/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-cli/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-cli/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-cli/pom.xml Mon Jan 31 03:06:53 2011
@@ -32,7 +32,6 @@
   <name>${project.artifactId}</name>
 
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderExportingActivator</apollo.osgi.activator>
   </properties>
 
   <dependencies>

Copied: activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/OSGI-INF/blueprint/apollo-services.xml (from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/OSGI-INF/blueprint/apollo-services.xml?p2=activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/OSGI-INF/blueprint/apollo-services.xml&p1=activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml&r1=1065181&r2=1065475&rev=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/OSGI-INF/blueprint/apollo-services.xml Mon Jan 31 03:06:53 2011
@@ -17,25 +17,11 @@
     limitations under the License.
 
 -->
-<blueprint
-  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-  xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
-  xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
 
-  <cm:property-placeholder persistent-id="org.apache.activemq.apollo" update-strategy="reload">
-    <cm:default-properties>
-      <cm:property name="apollo.base" value="."/>
-    </cm:default-properties>
-  </cm:property-placeholder>
-
-  <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
-
-  <bean id="broker" class="org.apache.activemq.apollo.karaf.BrokerService"
+  <bean id="exporter" class="org.apache.activemq.apollo.util.osgi.ClassFinderServiceExporter"
         init-method="start" destroy-method="stop">
     <property name="context" ref="blueprintBundleContext"/>
-    <property name="basedir" value="${apollo.base}"/>
-    <property name="configAdmin" ref="configAdmin"/>
   </bean>
 
-
 </blueprint>
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/apollo-dto/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-dto/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-dto/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-dto/pom.xml Mon Jan 31 03:06:53 2011
@@ -34,7 +34,6 @@
   <name>${project.artifactId}</name>
 
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderExportingActivator</apollo.osgi.activator>
   </properties>
 
   <dependencies>

Modified: activemq/activemq-apollo/trunk/apollo-hawtdb/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-hawtdb/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-hawtdb/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-hawtdb/pom.xml Mon Jan 31 03:06:53 2011
@@ -35,7 +35,6 @@
   <name>${project.artifactId}</name>
 
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderExportingActivator</apollo.osgi.activator>
   </properties>
 
   <dependencies>

Copied: activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/resources/OSGI-INF/blueprint/apollo-services.xml (from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/resources/OSGI-INF/blueprint/apollo-services.xml?p2=activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/resources/OSGI-INF/blueprint/apollo-services.xml&p1=activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml&r1=1065181&r2=1065475&rev=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-hawtdb/src/main/resources/OSGI-INF/blueprint/apollo-services.xml Mon Jan 31 03:06:53 2011
@@ -17,25 +17,11 @@
     limitations under the License.
 
 -->
-<blueprint
-  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-  xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
-  xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
 
-  <cm:property-placeholder persistent-id="org.apache.activemq.apollo" update-strategy="reload">
-    <cm:default-properties>
-      <cm:property name="apollo.base" value="."/>
-    </cm:default-properties>
-  </cm:property-placeholder>
-
-  <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
-
-  <bean id="broker" class="org.apache.activemq.apollo.karaf.BrokerService"
+  <bean id="exporter" class="org.apache.activemq.apollo.util.osgi.ClassFinderServiceExporter"
         init-method="start" destroy-method="stop">
     <property name="context" ref="blueprintBundleContext"/>
-    <property name="basedir" value="${apollo.base}"/>
-    <property name="configAdmin" ref="configAdmin"/>
   </bean>
 
-
 </blueprint>
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/apollo-jdbm2/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-jdbm2/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-jdbm2/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-jdbm2/pom.xml Mon Jan 31 03:06:53 2011
@@ -34,7 +34,6 @@
 
   <name>${project.artifactId}</name>
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderExportingActivator</apollo.osgi.activator>
   </properties>
 
   <dependencies>
@@ -59,7 +58,9 @@
       <type>jar</type>
       <classifier>slim</classifier>
       <optional>true</optional>
+      <scope>provided</scope>
     </dependency>
+    
     <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>servlet-api</artifactId>

Copied: activemq/activemq-apollo/trunk/apollo-jdbm2/src/main/resources/OSGI-INF/blueprint/apollo-services.xml (from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-jdbm2/src/main/resources/OSGI-INF/blueprint/apollo-services.xml?p2=activemq/activemq-apollo/trunk/apollo-jdbm2/src/main/resources/OSGI-INF/blueprint/apollo-services.xml&p1=activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml&r1=1065181&r2=1065475&rev=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-jdbm2/src/main/resources/OSGI-INF/blueprint/apollo-services.xml Mon Jan 31 03:06:53 2011
@@ -17,25 +17,11 @@
     limitations under the License.
 
 -->
-<blueprint
-  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-  xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
-  xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
 
-  <cm:property-placeholder persistent-id="org.apache.activemq.apollo" update-strategy="reload">
-    <cm:default-properties>
-      <cm:property name="apollo.base" value="."/>
-    </cm:default-properties>
-  </cm:property-placeholder>
-
-  <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
-
-  <bean id="broker" class="org.apache.activemq.apollo.karaf.BrokerService"
+  <bean id="exporter" class="org.apache.activemq.apollo.util.osgi.ClassFinderServiceExporter"
         init-method="start" destroy-method="stop">
     <property name="context" ref="blueprintBundleContext"/>
-    <property name="basedir" value="${apollo.base}"/>
-    <property name="configAdmin" ref="configAdmin"/>
   </bean>
 
-
 </blueprint>
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/apollo-karaf-feature/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-karaf-feature/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf-feature/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-karaf-feature/pom.xml Mon Jan 31 03:06:53 2011
@@ -31,147 +31,6 @@
   <name>${project.artifactId}</name>
   <description>A Karaf feature descriptor for easy deployment into a Karaf server</description>
   
-  <properties>
-    <pax-logging-version>1.5.3</pax-logging-version>
-    <abdera-bundle-version>0.4.0-incubating_3</abdera-bundle-version>
-    <ant-bundle-version>1.7.0_3</ant-bundle-version>
-    <antlr-bundle-version>2.7.7_2</antlr-bundle-version>
-    <aopalliance-bundle-version>1.0_3</aopalliance-bundle-version>
-    <asm-bundle-version>2.2.3_3</asm-bundle-version>
-    <aws-java-sdk-bundle-version>1.1.1_1</aws-java-sdk-bundle-version>
-    <bcel-bundle-version>5.2_2</bcel-bundle-version>
-    <cglib-version>2.1_3_6</cglib-version>
-    <cometd-java-server-bundle-version>1.0.1_1</cometd-java-server-bundle-version>
-    <commons-beanutils-bundle-version>1.7.0_3</commons-beanutils-bundle-version>
-    <commons-csv-version>1.0-r706899_3</commons-csv-version>
-    <commons-codec-version>1.4</commons-codec-version>
-    <commons-codec-bundle-version>1.3_3</commons-codec-bundle-version>
-    <commons-httpclient-bundle-version>3.1_4</commons-httpclient-bundle-version>
-    <commons-io-bundle-version>1.3.2_3</commons-io-bundle-version>
-    <commons-jxpath-version>1.3</commons-jxpath-version>
-    <commons-lang-version>2.4</commons-lang-version>
-    <commons-net-version>2.0</commons-net-version>
-    <commons-management-version>1.0</commons-management-version>
-    <commons-pool-bundle-version>1.5.4_1</commons-pool-bundle-version>
-    <dom4j-bundle-version>1.6.1_2</dom4j-bundle-version>
-    <dozer-bundle-version>5.3.1</dozer-bundle-version>
-    <el-api-1.0-version>1.0.1</el-api-1.0-version>
-    <fastinfoset-version>1.2.7_2</fastinfoset-version>
-    <features.file>features.xml</features.file>
-    <flatpack-bundle-version>3.2.0_1</flatpack-bundle-version>
-    <felix.configadmin.version>1.2.4</felix.configadmin.version>
-    <felix.framework.version>2.0.5</felix.framework.version>
-    <freemarker-bundle-version>2.3.15_3</freemarker-bundle-version>
-    <geronimo-el-version>1.0.1</geronimo-el-version>
-    <geronimo-jsp-version>1.0.1</geronimo-jsp-version>
-    <geronimo-ws-metadata-spec-version>1.1.2</geronimo-ws-metadata-spec-version>
-    <gernimo-annotation-spec-version>1.1.1</gernimo-annotation-spec-version>
-    <guice-bundle-version>2.0_1</guice-bundle-version>
-    <hamcrest-bundle-version>1.2-dev1_1</hamcrest-bundle-version>
-    <hapi-bundle-version>0.5.1_3</hapi-bundle-version>
-    <hibernate-validator-bundle-version>4.1.0.Final_1</hibernate-validator-bundle-version>
-    <httpcore-bundle-version>4.0-alpha6_1</httpcore-bundle-version>
-    <ibatis-bundle-version>2.3.4.726_2</ibatis-bundle-version>
-    <irclib-bundle-version>1.10_2</irclib-bundle-version>
-    <isorelax-bundle-version>20050913_1</isorelax-bundle-version>
-    <jackrabbit-version>1.5.3</jackrabbit-version>
-    <jaxb-bundle-version>2.2.1.1_1</jaxb-bundle-version>
-    <jasypt-bundle-version>1.6_1</jasypt-bundle-version>
-    <jexcelapi-bundle-version>2.4.2_2</jexcelapi-bundle-version>
-    <javax.el-bundle-version>2.1.0</javax.el-bundle-version>
-    <jcr-bundle-version>1.0_2</jcr-bundle-version>
-    <jdom-bundle-version>1.1_2</jdom-bundle-version>
-    <jettison-bundle-version>1.2</jettison-bundle-version>
-    <jing-bundle-version>20030619_1</jing-bundle-version>
-    <jibx-bundle-version>1.2.2_1</jibx-bundle-version>
-    <jodatime-bundle-version>1.5.2_2</jodatime-bundle-version>
-    <josql-bundle-version>1.5_3</josql-bundle-version>
-    <jsch-bundle-version>0.1.44_1</jsch-bundle-version>
-    <jsendnsca-bundle-version>1.3.1_1</jsendnsca-bundle-version>
-    <jsp-api-2.1-version>1.0.1</jsp-api-2.1-version>
-    <juel-bundle-version>2.1.2_1</juel-bundle-version>
-    <junit-bundle-version>4.7_1</junit-bundle-version>
-    <jsmpp-bundle-version>2.1.0_1</jsmpp-bundle-version>
-    <lucene-bundle-version>3.0.3_1</lucene-bundle-version>
-    <mvel-bundle-version>2.0.8_4</mvel-bundle-version>
-    <mina-bundle-version>1.1.7_3</mina-bundle-version>
-    <neethi-bundle-version>2.0.4_2</neethi-bundle-version>
-    <oro-bundle-version>2.0.8_3</oro-bundle-version>
-    <openjpa-bundle-version>1.2.1_2</openjpa-bundle-version>
-    <opensaml-version>1.1_3</opensaml-version>
-    <oscache-bundle-version>2.4_3</oscache-bundle-version>
-    <osgi.compendium.version>4.2.0</osgi.compendium.version>
-    <protobuf-java-bundle-version>2.3.0_1</protobuf-java-bundle-version>
-    <pax.web.version>0.7.2</pax.web.version>
-    <quartz-bundle-version>1.8.3_2</quartz-bundle-version>
-    <qpid-bundle-version>0.5.0_2</qpid-bundle-version>
-    <quickfix-bundle-version>1.5.0_1</quickfix-bundle-version>
-    <regexp-bundle-version>1.3_1</regexp-bundle-version>
-    <rome-bundle-version>1.0_1</rome-bundle-version>
-    <saxon-bundle-version>9.1.0.8_1</saxon-bundle-version>
-    <scala-bundle-version>2.8.1_1</scala-bundle-version>
-    <jaxws.api.version>2.2</jaxws.api.version>
-    <servlet-api-2.5-version>1.1.2</servlet-api-2.5-version>
-    <serp-bundle-version>1.13.1_2</serp-bundle-version>
-    <smack-bundle-version>3.1.0_1</smack-bundle-version>
-    <spring-version>2.5.6.SEC01</spring-version>
-    <spring3-version>3.0.5.RELEASE</spring3-version>
-    <spring-osgi-version>1.2.0</spring-osgi-version>
-    <spring-castor-bundle-version>1.2.0</spring-castor-bundle-version>
-    <spymemcached-bundle-version>2.5_1</spymemcached-bundle-version>
-    <stringtemplate-bundle-version>3.2_3</stringtemplate-bundle-version>
-    <tagsoup-bundle-version>1.2_3</tagsoup-bundle-version>
-    <velocity-bundle-version>1.7_1</velocity-bundle-version>
-    <xalan-bundle-version>2.7.1_2</xalan-bundle-version>
-    <xerces-bundle-version>2.9.1_3</xerces-bundle-version>
-    <xmlbeans-bundle-version>2.5.0_1</xmlbeans-bundle-version>
-    <xmlschema-version>1.4.5</xmlschema-version>
-    <xmlsec-bundle-version>1.4.4_1</xmlsec-bundle-version>
-    <xmlresolver-bundle-version>1.2_2</xmlresolver-bundle-version>
-    <xpp3-bundle-version>1.1.4c_3</xpp3-bundle-version>
-    <xstream-bundle-version>1.3_3</xstream-bundle-version>
-    <werken-xpath-bundle-version>0.9.4_3</werken-xpath-bundle-version>
-    <woodstox-core-bundle-version>4.0.7</woodstox-core-bundle-version>
-    <stax2-api-bundle-version>3.0.1</stax2-api-bundle-version>
-    <saaj-impl-version>1.3.2_1</saaj-impl-version>
-    <wsdl4j-bundle-version>1.6.2_2</wsdl4j-bundle-version>
-    <wss4j-version>1.5.8</wss4j-version>
-  </properties>
-  
-  <!-- The validate plugin will export these provided dependencies bundles' export packages first -->
-  <dependencies>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>4.2.0</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.logging</groupId>
-      <artifactId>pax-logging-api</artifactId>
-      <version>${pax-logging-version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.logging</groupId>
-      <artifactId>pax-logging-service</artifactId>
-      <version>${pax-logging-version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.framework</artifactId>
-      <version>${felix.framework.version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.configadmin</artifactId>
-      <version>${felix.configadmin.version}</version>
-      <scope>provided</scope>
-    </dependency>
-  </dependencies>
-  
   <build>
     <resources>
       <resource>

Modified: activemq/activemq-apollo/trunk/apollo-karaf-feature/src/main/resources/features.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-karaf-feature/src/main/resources/features.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf-feature/src/main/resources/features.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-karaf-feature/src/main/resources/features.xml Mon Jan 31 03:06:53 2011
@@ -25,7 +25,6 @@
     <bundle>mvn:org.apache.activemq/apollo-selector/${pom.version}</bundle>
     <bundle>mvn:org.apache.activemq/apollo-transport/${pom.version}</bundle>
     <bundle>mvn:org.apache.activemq/apollo-util/${pom.version}</bundle>
-    <bundle>mvn:org.apache.activemq/apollo-karaf/${pom.version}</bundle>
 
     <!-- external dependencies -->
     <bundle>wrap:mvn:org.scala-lang/scala-library/${scala-version}</bundle>

Modified: activemq/activemq-apollo/trunk/apollo-stomp/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-stomp/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-stomp/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-stomp/pom.xml Mon Jan 31 03:06:53 2011
@@ -34,7 +34,6 @@
 
   <name>${project.artifactId}</name>
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderExportingActivator</apollo.osgi.activator>
   </properties>
 
   <dependencies>

Copied: activemq/activemq-apollo/trunk/apollo-stomp/src/main/resources/OSGI-INF/blueprint/apollo-services.xml (from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-stomp/src/main/resources/OSGI-INF/blueprint/apollo-services.xml?p2=activemq/activemq-apollo/trunk/apollo-stomp/src/main/resources/OSGI-INF/blueprint/apollo-services.xml&p1=activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml&r1=1065181&r2=1065475&rev=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-stomp/src/main/resources/OSGI-INF/blueprint/apollo-services.xml Mon Jan 31 03:06:53 2011
@@ -17,25 +17,11 @@
     limitations under the License.
 
 -->
-<blueprint
-  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-  xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
-  xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
 
-  <cm:property-placeholder persistent-id="org.apache.activemq.apollo" update-strategy="reload">
-    <cm:default-properties>
-      <cm:property name="apollo.base" value="."/>
-    </cm:default-properties>
-  </cm:property-placeholder>
-
-  <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
-
-  <bean id="broker" class="org.apache.activemq.apollo.karaf.BrokerService"
+  <bean id="exporter" class="org.apache.activemq.apollo.util.osgi.ClassFinderServiceExporter"
         init-method="start" destroy-method="stop">
     <property name="context" ref="blueprintBundleContext"/>
-    <property name="basedir" value="${apollo.base}"/>
-    <property name="configAdmin" ref="configAdmin"/>
   </bean>
 
-
 </blueprint>
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/apollo-tcp/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-tcp/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-tcp/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-tcp/pom.xml Mon Jan 31 03:06:53 2011
@@ -33,7 +33,6 @@
 
   <name>${project.artifactId}</name>
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderExportingActivator</apollo.osgi.activator>
   </properties>
 
   <dependencies>

Copied: activemq/activemq-apollo/trunk/apollo-tcp/src/main/resources/OSGI-INF/blueprint/apollo-services.xml (from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-tcp/src/main/resources/OSGI-INF/blueprint/apollo-services.xml?p2=activemq/activemq-apollo/trunk/apollo-tcp/src/main/resources/OSGI-INF/blueprint/apollo-services.xml&p1=activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml&r1=1065181&r2=1065475&rev=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-tcp/src/main/resources/OSGI-INF/blueprint/apollo-services.xml Mon Jan 31 03:06:53 2011
@@ -17,25 +17,11 @@
     limitations under the License.
 
 -->
-<blueprint
-  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-  xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
-  xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
 
-  <cm:property-placeholder persistent-id="org.apache.activemq.apollo" update-strategy="reload">
-    <cm:default-properties>
-      <cm:property name="apollo.base" value="."/>
-    </cm:default-properties>
-  </cm:property-placeholder>
-
-  <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
-
-  <bean id="broker" class="org.apache.activemq.apollo.karaf.BrokerService"
+  <bean id="exporter" class="org.apache.activemq.apollo.util.osgi.ClassFinderServiceExporter"
         init-method="start" destroy-method="stop">
     <property name="context" ref="blueprintBundleContext"/>
-    <property name="basedir" value="${apollo.base}"/>
-    <property name="configAdmin" ref="configAdmin"/>
   </bean>
 
-
 </blueprint>
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/apollo-transport/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-transport/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-transport/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-transport/pom.xml Mon Jan 31 03:06:53 2011
@@ -34,7 +34,6 @@
   <name>${project.artifactId}</name>
 
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderExportingActivator</apollo.osgi.activator>
   </properties>
 
   <dependencies>

Copied: activemq/activemq-apollo/trunk/apollo-transport/src/main/resources/OSGI-INF/blueprint/apollo-services.xml (from r1065181, activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml)
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-transport/src/main/resources/OSGI-INF/blueprint/apollo-services.xml?p2=activemq/activemq-apollo/trunk/apollo-transport/src/main/resources/OSGI-INF/blueprint/apollo-services.xml&p1=activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml&r1=1065181&r2=1065475&rev=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-karaf/src/main/resources/OSGI-INF/blueprint/broker.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-transport/src/main/resources/OSGI-INF/blueprint/apollo-services.xml Mon Jan 31 03:06:53 2011
@@ -17,25 +17,11 @@
     limitations under the License.
 
 -->
-<blueprint
-  xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-  xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
-  xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0">
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
 
-  <cm:property-placeholder persistent-id="org.apache.activemq.apollo" update-strategy="reload">
-    <cm:default-properties>
-      <cm:property name="apollo.base" value="."/>
-    </cm:default-properties>
-  </cm:property-placeholder>
-
-  <reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
-
-  <bean id="broker" class="org.apache.activemq.apollo.karaf.BrokerService"
+  <bean id="exporter" class="org.apache.activemq.apollo.util.osgi.ClassFinderServiceExporter"
         init-method="start" destroy-method="stop">
     <property name="context" ref="blueprintBundleContext"/>
-    <property name="basedir" value="${apollo.base}"/>
-    <property name="configAdmin" ref="configAdmin"/>
   </bean>
 
-
 </blueprint>
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/apollo-util/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-util/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-util/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-util/pom.xml Mon Jan 31 03:06:53 2011
@@ -35,7 +35,6 @@
   <name>${project.artifactId}</name>
 
   <properties>
-    <apollo.osgi.activator>org.apache.activemq.apollo.util.ClassFinderImportingActivator</apollo.osgi.activator>
   </properties>
 
   <repositories>
@@ -89,6 +88,13 @@
     </dependency>
 
     <dependency>
+      <groupId>org.yaml</groupId>
+      <artifactId>snakeyaml</artifactId>
+      <version>${snakeyaml-version}</version>
+      <optional>true</optional>
+    </dependency>
+
+    <dependency>
       <groupId>org.osgi</groupId>
       <artifactId>org.osgi.core</artifactId>
       <version>4.2.0</version>

Added: activemq/activemq-apollo/trunk/apollo-util/src/main/resources/OSGI-INF/blueprint/utils.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-util/src/main/resources/OSGI-INF/blueprint/utils.xml?rev=1065475&view=auto
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-util/src/main/resources/OSGI-INF/blueprint/utils.xml (added)
+++ activemq/activemq-apollo/trunk/apollo-util/src/main/resources/OSGI-INF/blueprint/utils.xml Mon Jan 31 03:06:53 2011
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
+
+  <bean id="broker" class="org.apache.activemq.apollo.util.osgi.ClassFinderLoader"
+        init-method="start" destroy-method="stop">
+    <property name="context" ref="blueprintBundleContext"/>
+  </bean>
+
+</blueprint>
\ No newline at end of file

Added: activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/ClassFinderLoader.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/ClassFinderLoader.scala?rev=1065475&view=auto
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/ClassFinderLoader.scala (added)
+++ activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/ClassFinderLoader.scala Mon Jan 31 03:06:53 2011
@@ -0,0 +1,208 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.apollo.util.osgi
+
+import java.lang.Class
+import org.osgi.framework._
+import java.lang.String
+import java.lang.ref._
+import java.lang.ref.WeakReference
+import org.yaml.snakeyaml.Yaml
+import java.io.{FileWriter, FileInputStream, File}
+import java.util.concurrent.CountDownLatch
+import org.apache.activemq.apollo.util._
+import FileSupport._
+import collection.JavaConversions._
+
+/**
+ * An OSGi aware ClassFinder.Loader.
+ *
+ * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
+ */
+object ClassFinderLoader extends Log with ClassFinder.Loader {
+
+  var context: BundleContext = _
+  val init_complete_latch = new CountDownLatch(1);
+
+  val yaml = new Yaml
+
+  def extensions_file:File = context.getDataFile("extensions.yaml")
+
+  var extension_bundles = Set[Long]()
+
+  def init = this.synchronized {
+
+    ClassFinder.default_loader = ClassFinderLoader
+
+    if( extensions_file.exists ) {
+
+      extension_bundles = using(new FileInputStream(extensions_file)) { is =>
+        yaml.load(is).asInstanceOf[java.util.List[Any]].flatMap{ _ match {
+          case x:Int=> Some(x.toLong)
+          case x:Long=> Some(x)
+          case _ => None
+          }
+        }.toSet
+
+      }
+
+      def pending_bundles = {
+        extension_bundles.flatMap { x =>
+          context.getBundle(x) match {
+            case null => // must have been un-installed.
+              extension_bundles -= x
+              write_extensions_file
+              None
+            case bundle =>
+              if( bundle.getState == Bundle.ACTIVE ) {
+                None
+              } else {
+                Some(bundle.getSymbolicName)
+              }
+          }
+        }
+      }
+
+      // wait for all the pending bundles to start up..
+      debug("Will wait for extension bundles to start: %s", extension_bundles)
+      var p = pending_bundles
+      while(!p.isEmpty) {
+        debug("waiting on extension bundles to start: %s", p)
+        this.wait(100)
+        p = pending_bundles
+      }
+      debug("All extension bundles to started")
+
+    } else {
+      debug("First start, wait a bit to discover the installed extension bundles..")
+      // first time we boot up sleep for a bit to allow extensions
+      // to register..
+      this.wait(2000)
+      write_extensions_file
+    }
+    init_complete_latch.countDown
+
+  }
+
+  def write_extensions_file = this.synchronized {
+    using(new FileWriter(extensions_file)) { os =>
+      debug("storing extension bundles: %s", extension_bundles)
+      yaml.dump(asJavaList(extension_bundles.toSeq), os)
+    }
+  }
+
+  def register_extension_bundle(bundle:Bundle) = this.synchronized {
+    if( !extension_bundles.contains(bundle.getBundleId) ) {
+      debug("New extension bundle registered: "+bundle.getBundleId)
+      extension_bundles += bundle.getBundleId
+      write_extensions_file
+    }
+  }
+
+  case class DiscoverRequest[T](path: String, clazz: Class[T], callback: (List[T]) => Unit)
+
+  //
+  // Used the track the GC's of the DiscoverRequests
+  //
+  val queue = new ReferenceQueue[DiscoverRequest[_]]()
+
+  //
+  // A service listener which un-registers when the DiscoverRequest gets GCed.
+  //
+  class DiscoverServiceListener[T](request:DiscoverRequest[T]) extends WeakReference[DiscoverRequest[T]](request, queue) with org.osgi.framework.ServiceListener {
+    val path = request.path
+    var classes = Set[T]()
+
+    def serviceChanged(event: ServiceEvent): Unit = this.synchronized {
+      val request = get
+      if( request==null ) {
+        dain_queue
+        return;
+      }
+
+      val found = cast(request, event.getServiceReference).getOrElse(return)
+
+      val original_size = classes.size
+      if( event.getType == ServiceEvent.UNREGISTERING ) {
+        classes -= found
+      } else {
+        classes += found
+        register_extension_bundle(event.getServiceReference.getBundle)
+      }
+
+      // if the set changed, then notify the callback.
+      if( original_size!= classes.size) {
+        request.callback(classes.toList)
+      }
+    }
+
+    this.synchronized {
+      context.addServiceListener(this, filter)
+      val refs: Array[ServiceReference] = context.getServiceReferences(null, filter)
+      classes = Option(refs).getOrElse(Array()).flatMap { ref =>
+        val rc = cast(request, ref)
+        rc.foreach(x=> register_extension_bundle(ref.getBundle) )
+        rc
+      }.toSet
+
+      request.callback(classes.toList)
+    }
+
+
+    def filter: String = "(finder_resource=" + path + ")"
+
+    def cast(request:DiscoverRequest[T], ref:ServiceReference):Option[T] = {
+      try {
+        Some(request.clazz.cast(context.getService(ref)))
+      } catch {
+        case _ => None
+      }
+    }
+
+  }
+
+
+  def dain_queue:Unit = {
+    var rc = queue.poll
+    while( rc!=null ) {
+      val dsl: DiscoverServiceListener[_] = rc.asInstanceOf[DiscoverServiceListener[_]]
+      context.removeServiceListener(dsl)
+      rc = queue.poll
+    }
+  }
+
+
+  def discover[T](path: String, clazz: Class[T])(callback: (List[T]) => Unit) = {
+    // block requests until init completes.
+    init_complete_latch.await
+    dain_queue
+    new DiscoverServiceListener(DiscoverRequest(path, clazz, callback))
+  }
+
+}
+
+/**
+ * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
+ */
+class ClassFinderLoader {
+
+  def setContext(value:BundleContext):Unit = ClassFinderLoader.context = value
+
+  def start() = ClassFinderLoader.init
+  def stop() = {}
+
+}
\ No newline at end of file

Added: activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/ClassFinderServiceExporter.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/ClassFinderServiceExporter.scala?rev=1065475&view=auto
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/ClassFinderServiceExporter.scala (added)
+++ activemq/activemq-apollo/trunk/apollo-util/src/main/scala/org/apache/activemq/apollo/util/osgi/ClassFinderServiceExporter.scala Mon Jan 31 03:06:53 2011
@@ -0,0 +1,76 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.apollo.util.osgi
+
+import org.osgi.framework._
+import java.lang.String
+import collection.JavaConversions._
+import scala.collection.mutable.ListBuffer
+import java.util.Properties
+import scala.reflect.BeanProperty
+import org.apache.activemq.apollo.util._
+
+object ClassFinderServiceExporter extends Log
+
+/**
+ * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
+ */
+class ClassFinderServiceExporter {
+
+  import ClassFinderServiceExporter._
+
+  @BeanProperty
+  var context: BundleContext = _
+
+  @BeanProperty
+  var service_path_base = "META-INF/services/org.apache.activemq.apollo/"
+
+  def start: Unit = this.synchronized{
+    val bundle = context.getBundle
+    val paths = bundle.getEntryPaths(service_path_base)
+
+    if( paths!=null ){
+      paths.foreach { case path:String =>
+        if(!path.endsWith("/xml-packages.index")) {
+          val url = bundle.getEntry(path)
+          val classNames = ListBuffer[String]()
+          val p = ClassFinder.loadProperties(url.openStream)
+          p.keys.foreach { next=>
+            classNames += next.asInstanceOf[String]
+          }
+
+          classNames.distinct.foreach { name=>
+            try {
+              ClassFinder.instantiate(classOf[Object], bundle.loadClass(name)).foreach { service =>
+                val p = new Properties
+                p.put("finder_resource", path)
+                context.registerService(service.getClass.getName, service, p)
+              }
+            } catch {
+              case e:Throwable =>
+                debug(e, "Could not load class %s", name)
+            }
+          }
+        }
+      }
+    }
+  }
+
+  def stop: Unit = this.synchronized {
+    // TODO: find out if OSGi, auto un-registers our services.
+  }
+}
\ No newline at end of file

Modified: activemq/activemq-apollo/trunk/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/pom.xml?rev=1065475&r1=1065474&r2=1065475&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/pom.xml (original)
+++ activemq/activemq-apollo/trunk/pom.xml Mon Jan 31 03:06:53 2011
@@ -139,7 +139,7 @@
   </properties>
 
   <prerequisites>
-    <maven>2.2.1</maven>
+    <maven>3.0</maven>
   </prerequisites>
 
   <url>http://activemq.apache.org/apollo</url>
@@ -176,7 +176,7 @@
     <module>apollo-cli</module>
     <module>apollo-website</module>
     <module>apollo-distro</module>
-    <module>apollo-karaf</module>
+    <module>apollo-karaf-feature</module>
   </modules>
 
   <scm>
@@ -689,194 +689,101 @@
     <profile>
       <id>download</id>
       <repositories>
+    
         <repository>
-          <id>repo1.maven</id>
-          <name>Maven Central Repo</name>
-          <url>http://repo1.maven.org/maven2</url>
-          <snapshots>
-            <enabled>false</enabled>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-          </releases>
-        </repository>
-        <repository>
-          <id>fusesource.m2</id>
-          <name>FuseSource Community Release Repository</name>
-          <url>http://repo.fusesource.com/maven2</url>
-          <snapshots>
-            <enabled>false</enabled>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-          </releases>
+          <id>apache.snapshots</id>
+          <url>https://repository.apache.org/content/repositories/snapshots</url>
+          <snapshots><enabled>true</enabled></snapshots>
+          <releases><enabled>false</enabled></releases>
         </repository>
+    
         <repository>
-          <id>fusesource.m2-snapshot</id>
-          <name>FuseSource Community Snapshot Repository</name>
-          <url>http://repo.fusesource.com/maven2-snapshot</url>
-          <snapshots>
-            <enabled>true</enabled>
-          </snapshots>
-          <releases>
-            <enabled>false</enabled>
-          </releases>
+          <id>fusesource-snapshots</id>
+          <url>http://repo.fusesource.com/nexus/content/groups/public-snapshots</url>
+          <releases><enabled>false</enabled></releases>
+          <snapshots><enabled>true</enabled></snapshots>
         </repository>
 
         <repository>
           <id>java.net.m2</id>
-          <name>java.net Maven 2 Repo</name>
           <url>http://download.java.net/maven/2</url>
+          <releases><enabled>true</enabled></releases>
+          <snapshots><enabled>false</enabled></snapshots>
         </repository>
         <repository>
-          <id>openqa-releases</id>
-          <name>OpenQA Releases</name>
-          <url>http://archiva.openqa.org/repository/releases</url>
-          <releases>
-            <enabled>true</enabled>
-          </releases>
-          <snapshots>
-            <enabled>false</enabled>
-          </snapshots>
-        </repository>
-
-        <repository>
           <id>glassfish-repo-archive</id>
-          <name>Nexus repository collection for Glassfish</name>
           <url>http://maven.glassfish.org/content/groups/glassfish</url>
-          <snapshots>
-            <updatePolicy>never</updatePolicy>
-          </snapshots>
+          <releases><enabled>true</enabled></releases>
+          <snapshots><enabled>false</enabled></snapshots>
         </repository>
-
+    
         <repository>
-          <id>scala</id>
-          <name>Scala Tools</name>
-<!--
-          <url>http://nexus.scala-tools.org/content/repositories/releases</url>
--->
+          <id>scala-tools.org-releases</id>
           <url>http://scala-tools.org/repo-releases</url>
-          <releases>
-            <enabled>true</enabled>
-          </releases>
-          <snapshots>
-            <enabled>false</enabled>
-          </snapshots>
-        </repository>
-        
-        <repository>
-          <id>fusesource.snapshots</id>
-          <name>FuseSource Snapshot Repository</name>
-          <url>http://repo.fusesource.com/nexus/content/repositories/snapshots</url>
-          <snapshots><enabled>true</enabled></snapshots>
           <releases><enabled>true</enabled></releases>
+          <snapshots><enabled>false</enabled></snapshots>
         </repository>
-        
-        <repository>
-          <id>java.net</id>
-          <url>http://download.java.net/maven/2</url>
-        </repository>
-        
-        <repository>
-          <id>shorrockin</id>
-          <url>http://maven.shorrockin.com</url>
-        </repository>
-        
         <repository>
-          <id>snapshots.scala-tools.org</id>
+          <id>scala-tools.org-snapshots</id>
           <url>http://scala-tools.org/repo-snapshots</url>
           <snapshots><enabled>true</enabled></snapshots>
-          <releases><enabled>true</enabled></releases>
+          <releases><enabled>false</enabled></releases>
         </repository>
-        
+    
         <repository>
-          <id>apache.snapshots</id>
-          <url>https://repository.apache.org/content/repositories/snapshots</url>
-          <snapshots><enabled>true</enabled></snapshots>
-          <releases><enabled>false</enabled></releases>
+          <id>shorrockin</id>
+          <url>http://maven.shorrockin.com</url>
         </repository>
-        
+    
         <repository>
           <id>oracleReleases</id>
           <url>http://download.oracle.com/maven</url>
           <layout>default</layout>
         </repository>
-        
+    
       </repositories>
-      
+
       <pluginRepositories>
 
         <pluginRepository>
-          <id>repo1.maven</id>
-          <name>Maven Central Repo</name>
-          <url>http://repo1.maven.org/maven2</url>
-          <snapshots>
-            <enabled>false</enabled>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-          </releases>
+          <id>apache-snapshots</id>
+          <url>https://repository.apache.org/content/repositories/snapshots</url>
+          <snapshots><enabled>true</enabled></snapshots>
+          <releases><enabled>false</enabled></releases>
         </pluginRepository>
 
         <pluginRepository>
-          <id>open.iona.m2</id>
-          <name>IONA Open Source Community Release Repository</name>
-          <url>http://repo.open.iona.com/maven2</url>
-          <releases>
-            <enabled>true</enabled>
-          </releases>
-        </pluginRepository>
-        <pluginRepository>
-          <id>maven2-repository.dev.java.net</id>
-          <name>Java.net Maven  Repository </name>
-          <url>http://download.java.net/maven/2</url>
+          <id>fusesource-snapshots</id>
+          <url>http://repo.fusesource.com/nexus/content/groups/public-snapshots</url>
+          <releases><enabled>false</enabled></releases>
+          <snapshots><enabled>true</enabled></snapshots>
         </pluginRepository>
 
         <pluginRepository>
-          <id>scala</id>
-          <name>Scala Tools</name>
-<!--
-          <url>http://nexus.scala-tools.org/content/repositories/releases</url>
--->
+          <id>scala-tools.org-releases</id>
           <url>http://scala-tools.org/repo-releases</url>
-          <releases>
-            <enabled>true</enabled>
-          </releases>
-          <snapshots>
-            <enabled>false</enabled>
-          </snapshots>
+          <releases><enabled>true</enabled></releases>
+          <snapshots><enabled>false</enabled></snapshots>
         </pluginRepository>
+    
         <pluginRepository>
-          <id>snapshots.scala-tools.org</id>
-          <name>Scala-Tools Maven2 Snapshot Repository</name>
+          <id>scala-tools.org-snapshots</id>
           <url>http://scala-tools.org/repo-snapshots</url>
-          <snapshots>
-            <enabled>true</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </snapshots>
-          <releases>
-            <enabled>true</enabled>
-            <checksumPolicy>fail</checksumPolicy>
-          </releases>
-        </pluginRepository>
-        
-        <pluginRepository>
-          <id>fusesource.snapshots</id>
-          <name>FuseSource Snapshot Repository</name>
-          <url>http://repo.fusesource.com/nexus/content/repositories/snapshots</url>
           <snapshots><enabled>true</enabled></snapshots>
-          <releases><enabled>true</enabled></releases>
+          <releases><enabled>false</enabled></releases>
         </pluginRepository>
-        
+
         <pluginRepository>
-          <id>apache.snapshots</id>
-          <url>https://repository.apache.org/content/repositories/snapshots</url>
-          <snapshots><enabled>true</enabled></snapshots>
-          <releases><enabled>false</enabled></releases>
+          <id>java.net-releases</id>
+          <url>http://download.java.net/maven/2</url>
+          <releases><enabled>true</enabled></releases>
+          <snapshots><enabled>false</enabled></snapshots>
         </pluginRepository>
-        
+
       </pluginRepositories>
     </profile>
+    
   </profiles>
 
+
 </project>



Mime
View raw message