Author: ieugen
Date: Sun Feb 10 14:01:39 2013
New Revision: 1444546

URL: http://svn.apache.org/r1444546
Log:
Karaf improvements, mailet-container starts

* added mailet-container service to karaf + integration test
* enabled <extensions> for maven-bundle-plugin
* data-library feature also works

Added:
    
james/server/trunk/karaf/integration/src/test/java/org/apache/james/karaf/features/MailetContainerLiveTest.java
Modified:
    james/server/trunk/app/pom.xml
    james/server/trunk/cli/pom.xml
    james/server/trunk/core/pom.xml
    james/server/trunk/data/data-api/pom.xml
    james/server/trunk/data/data-file/pom.xml
    james/server/trunk/data/data-hbase/pom.xml
    james/server/trunk/data/data-jcr/pom.xml
    james/server/trunk/data/data-jdbc/pom.xml
    james/server/trunk/data/data-jpa/pom.xml
    james/server/trunk/data/data-ldap/pom.xml
    james/server/trunk/data/data-library/pom.xml
    
james/server/trunk/data/data-library/src/main/resources/META-INF/spring/data-osgi.xml
    james/server/trunk/dns-service/dnsservice-api/pom.xml
    james/server/trunk/dns-service/dnsservice-library/pom.xml
    james/server/trunk/filesystem-api/pom.xml
    james/server/trunk/karaf/features/src/main/resources/features.xml
    james/server/trunk/karaf/integration/pom.xml
    james/server/trunk/lifecycle-api/pom.xml
    james/server/trunk/mailbox-adapter/pom.xml
    james/server/trunk/mailetcontainer-api/pom.xml
    
james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
    
james/server/trunk/mailetcontainer-camel/src/main/resources/META-INF/spring/mailetcontainer-context.xml
    
james/server/trunk/mailetcontainer-camel/src/main/resources/META-INF/spring/mailetcontainer-osgi.xml

Modified: james/server/trunk/app/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/app/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/app/pom.xml (original)
+++ james/server/trunk/app/pom.xml Sun Feb 10 14:01:39 2013
@@ -537,6 +537,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/cli/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/cli/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/cli/pom.xml (original)
+++ james/server/trunk/cli/pom.xml Sun Feb 10 14:01:39 2013
@@ -73,6 +73,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/core/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/core/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/core/pom.xml (original)
+++ james/server/trunk/core/pom.xml Sun Feb 10 14:01:39 2013
@@ -84,6 +84,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/data/data-api/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data/data-api/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/data/data-api/pom.xml (original)
+++ james/server/trunk/data/data-api/pom.xml Sun Feb 10 14:01:39 2013
@@ -62,6 +62,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/data/data-file/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data/data-file/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/data/data-file/pom.xml (original)
+++ james/server/trunk/data/data-file/pom.xml Sun Feb 10 14:01:39 2013
@@ -111,6 +111,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/data/data-hbase/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data/data-hbase/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/data/data-hbase/pom.xml (original)
+++ james/server/trunk/data/data-hbase/pom.xml Sun Feb 10 14:01:39 2013
@@ -158,6 +158,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/data/data-jcr/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data/data-jcr/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/data/data-jcr/pom.xml (original)
+++ james/server/trunk/data/data-jcr/pom.xml Sun Feb 10 14:01:39 2013
@@ -104,6 +104,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/data/data-jdbc/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data/data-jdbc/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/data/data-jdbc/pom.xml (original)
+++ james/server/trunk/data/data-jdbc/pom.xml Sun Feb 10 14:01:39 2013
@@ -127,6 +127,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/data/data-jpa/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data/data-jpa/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/data/data-jpa/pom.xml (original)
+++ james/server/trunk/data/data-jpa/pom.xml Sun Feb 10 14:01:39 2013
@@ -155,6 +155,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/data/data-ldap/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data/data-ldap/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/data/data-ldap/pom.xml (original)
+++ james/server/trunk/data/data-ldap/pom.xml Sun Feb 10 14:01:39 2013
@@ -71,6 +71,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/data/data-library/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data/data-library/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/data/data-library/pom.xml (original)
+++ james/server/trunk/data/data-library/pom.xml Sun Feb 10 14:01:39 2013
@@ -107,6 +107,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: 
james/server/trunk/data/data-library/src/main/resources/META-INF/spring/data-osgi.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/data/data-library/src/main/resources/META-INF/spring/data-osgi.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- 
james/server/trunk/data/data-library/src/main/resources/META-INF/spring/data-osgi.xml
 (original)
+++ 
james/server/trunk/data/data-library/src/main/resources/META-INF/spring/data-osgi.xml
 Sun Feb 10 14:01:39 2013
@@ -25,17 +25,20 @@
        
     <osgi:service ref="domainlistmanagement">
       <osgi:interfaces>
+          
<beans:value>org.apache.james.domainlist.lib.DomainListManagement</beans:value>
        
<beans:value>org.apache.james.domainlist.api.DomainListManagementMBean</beans:value>
       </osgi:interfaces>
     </osgi:service>
 
     <osgi:service ref="recipientrewritetablemanagement">
       <osgi:interfaces>
+          
<beans:value>org.apache.james.rrt.lib.RecipientRewriteTableManagement</beans:value>
        
<beans:value>org.apache.james.rrt.api.RecipientRewriteTableManagementMBean</beans:value>
       </osgi:interfaces>
     </osgi:service>  
     <osgi:service ref="usersrepositorymanagement">
       <osgi:interfaces>
+          
<beans:value>org.apache.james.user.lib.UsersRepositoryManagement</beans:value>
        
<beans:value>org.apache.james.user.api.UsersRepositoryManagementMBean</beans:value>
       </osgi:interfaces>
     </osgi:service>  

Modified: james/server/trunk/dns-service/dnsservice-api/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/dns-service/dnsservice-api/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/dns-service/dnsservice-api/pom.xml (original)
+++ james/server/trunk/dns-service/dnsservice-api/pom.xml Sun Feb 10 14:01:39 
2013
@@ -57,6 +57,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/dns-service/dnsservice-library/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/dns-service/dnsservice-library/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/dns-service/dnsservice-library/pom.xml (original)
+++ james/server/trunk/dns-service/dnsservice-library/pom.xml Sun Feb 10 
14:01:39 2013
@@ -69,6 +69,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/filesystem-api/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/filesystem-api/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/filesystem-api/pom.xml (original)
+++ james/server/trunk/filesystem-api/pom.xml Sun Feb 10 14:01:39 2013
@@ -68,6 +68,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/karaf/features/src/main/resources/features.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/karaf/features/src/main/resources/features.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/karaf/features/src/main/resources/features.xml (original)
+++ james/server/trunk/karaf/features/src/main/resources/features.xml Sun Feb 
10 14:01:39 2013
@@ -213,7 +213,7 @@
     </feature>
 
     <feature name="james-server-mailet-container-camel" 
version="${project.version}">
-        
<bundle>mvn:org.apache.james/james-server-mailetcontainer-camel/${project.version}</bundle>
+        <bundle 
dependency="true">mvn:org.apache.james/james-server-mailetcontainer-camel/${project.version}</bundle>
         <feature 
version="${project.version}">james-server-mailetcontainer-api</feature>
         <feature version="${project.version}">james-server-queue-api</feature>
         <feature version="${project.version}">james-server-util</feature>
@@ -221,13 +221,20 @@
         <feature 
version="${project.version}">james-server-lifecycle-api</feature>
         <feature version="${project.version}">james-server-data-api</feature>
         <feature version="${project.version}">james-server-core</feature>
-        
<bundle>mvn:org.apache.james/apache-mailet-api/${mailet.version}</bundle>
+        <bundle 
dependency="true">mvn:org.apache.james/apache-mailet-api/${mailet.version}</bundle>
         <feature 
version="${project.version}">james-server-filesystem-api</feature>
         <feature 
version="${project.version}">james-server-data-library</feature>
         <feature 
version="${commons-configuration-osgi.version}">commons-configuration</feature>
-        <bundle>mvn:org.apache.camel/camel-core/${camel.version}</bundle>
-        
<bundle>mvn:org.apache.geronimo.javamail/geronimo-javamail_1.4_mail/${geronimo-javamail.version}</bundle>
-        
<bundle>mvn:org.apache.geronimo.specs/geronimo-annotation_1.1_spec/${geronimo-annotation-spec.version}</bundle>
+        <bundle 
dependency="true">mvn:org.apache.camel/camel-core/${camel.version}</bundle>
+        <bundle dependency="true">
+            
mvn:org.apache.geronimo.javamail/geronimo-javamail_1.4_mail/${geronimo-javamail.version}
+        </bundle>
+        <bundle dependency="true">
+            
mvn:org.apache.geronimo.specs/geronimo-annotation_1.1_spec/${geronimo-annotation-spec.version}
+        </bundle>
+        <bundle dependency="true">
+            
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/${javax-inject-osgi.version}
+        </bundle>
     </feature>
 
     <feature name="james-server-mailets" version="${project.version}">

Modified: james/server/trunk/karaf/integration/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/karaf/integration/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/karaf/integration/pom.xml (original)
+++ james/server/trunk/karaf/integration/pom.xml Sun Feb 10 14:01:39 2013
@@ -26,6 +26,16 @@
             <artifactId>james-server-fetchmail</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.james</groupId>
+            <artifactId>james-server-dnsservice-api</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.james</groupId>
+            <artifactId>james-server-mailetcontainer-camel</artifactId>
+            <scope>test</scope>
+        </dependency>
 
         <dependency>
             <groupId>com.google.guava</groupId>

Added: 
james/server/trunk/karaf/integration/src/test/java/org/apache/james/karaf/features/MailetContainerLiveTest.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/karaf/integration/src/test/java/org/apache/james/karaf/features/MailetContainerLiveTest.java?rev=1444546&view=auto
==============================================================================
--- 
james/server/trunk/karaf/integration/src/test/java/org/apache/james/karaf/features/MailetContainerLiveTest.java
 (added)
+++ 
james/server/trunk/karaf/integration/src/test/java/org/apache/james/karaf/features/MailetContainerLiveTest.java
 Sun Feb 10 14:01:39 2013
@@ -0,0 +1,22 @@
+package org.apache.james.karaf.features;
+
+import org.apache.james.mailetcontainer.api.MailProcessor;
+import org.apache.james.mailetcontainer.api.jmx.MailSpoolerMBean;
+import org.apache.mailet.MailetContext;
+import org.junit.Test;
+
+public class MailetContainerLiveTest extends KarafLiveTestSupport {
+
+    private String mailetContainerFeature = 
"james-server-mailet-container-camel";
+
+    @Test
+    public void testInstallMailetContainerFeature() throws Exception {
+        addJamesFeaturesRepository();
+        features.installFeature(mailetContainerFeature);
+        assertInstalled(mailetContainerFeature);
+        assertBundlesAreActive();
+        assertOSGiServiceStartsIn(MailetContext.class, WAIT_30_SECONDS);
+        assertOSGiServiceStartsIn(MailProcessor.class, WAIT_30_SECONDS);
+        assertOSGiServiceStartsIn(MailSpoolerMBean.class, WAIT_30_SECONDS);
+    }
+}

Modified: james/server/trunk/lifecycle-api/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/lifecycle-api/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/lifecycle-api/pom.xml (original)
+++ james/server/trunk/lifecycle-api/pom.xml Sun Feb 10 14:01:39 2013
@@ -50,6 +50,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/mailbox-adapter/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mailbox-adapter/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/mailbox-adapter/pom.xml (original)
+++ james/server/trunk/mailbox-adapter/pom.xml Sun Feb 10 14:01:39 2013
@@ -70,6 +70,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: james/server/trunk/mailetcontainer-api/pom.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-api/pom.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-api/pom.xml (original)
+++ james/server/trunk/mailetcontainer-api/pom.xml Sun Feb 10 14:01:39 2013
@@ -61,6 +61,7 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
             </plugin>
         </plugins>
     </build>

Modified: 
james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- 
james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
 (original)
+++ 
james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailSpooler.java
 Sun Feb 10 14:01:39 2013
@@ -19,17 +19,10 @@
 
 package org.apache.james.mailetcontainer.impl;
 
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
-
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
+import org.apache.james.lifecycle.api.Disposable;
 import org.apache.james.lifecycle.api.LifecycleUtil;
 import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.mailetcontainer.api.MailProcessor;
@@ -42,33 +35,49 @@ import org.apache.james.util.concurrent.
 import org.apache.mailet.Mail;
 import org.slf4j.Logger;
 
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.inject.Inject;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
 /**
  * Manages the mail spool. This class is responsible for retrieving messages
  * from the spool, directing messages to the appropriate processor, and 
removing
  * them from the spool when processing is complete.
- * 
  */
-public class JamesMailSpooler implements Runnable, Configurable, LogEnabled, 
MailSpoolerMBean {
+public class JamesMailSpooler implements Runnable, Disposable, Configurable, 
LogEnabled, MailSpoolerMBean {
 
     private MailQueue queue;
 
-    /** The number of threads used to move mail through the spool. */
+    /**
+     * The number of threads used to move mail through the spool.
+     */
     private int numThreads;
 
-    /** Number of active threads */
-    private AtomicInteger numActive = new AtomicInteger(0);;
+    /**
+     * Number of active threads
+     */
+    private AtomicInteger numActive = new AtomicInteger(0);
 
-    private AtomicInteger processingActive = new AtomicInteger(0);;
+    private AtomicInteger processingActive = new AtomicInteger(0);
 
-    /** Spool threads are active */
+    /**
+     * Spool threads are active
+     */
     private AtomicBoolean active = new AtomicBoolean(false);
 
-    /** Spool threads */
+    /**
+     * Spool threads
+     */
     private ExecutorService dequeueService;
-    
+
     private ExecutorService workerService;
-    
-    /** The mail processor */
+
+    /**
+     * The mail processor
+     */
     private MailProcessor mailProcessor;
 
     private Logger logger;
@@ -88,8 +97,7 @@ public class JamesMailSpooler implements
     }
 
     /**
-     * @see
-     * 
org.apache.james.lifecycle.api.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
+     * @see 
org.apache.james.lifecycle.api.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
     public void configure(HierarchicalConfiguration config) throws 
ConfigurationException {
         numDequeueThreads = config.getInt("dequeueThreads", 2);
@@ -114,7 +122,7 @@ public class JamesMailSpooler implements
         active.set(true);
         workerService = 
JMXEnabledThreadPoolExecutor.newFixedThreadPool("org.apache.james:type=component,component=mailetcontainer,name=mailspooler,sub-type=threadpool",
 "spooler", numThreads);
         dequeueService = 
JMXEnabledThreadPoolExecutor.newFixedThreadPool("org.apache.james:type=component,component=mailetcontainer,name=mailspooler,sub-type=threadpool",
 "dequeuer", numDequeueThreads);
-        
+
         for (int i = 0; i < numDequeueThreads; i++) {
             Thread reader = new Thread(this, "Dequeue Thread #" + i);
             dequeueService.execute(reader);
@@ -125,6 +133,7 @@ public class JamesMailSpooler implements
      * This routinely checks the message spool for messages, and processes them
      * as necessary
      */
+    @Override
     public void run() {
 
         if (logger.isInfoEnabled()) {
@@ -178,16 +187,12 @@ public class JamesMailSpooler implements
 
                     }
                 });
-                  
-               
             } catch (MailQueueException e1) {
                 if (active.get() && logger.isErrorEnabled()) {
                     logger.error("Exception dequeue mail", e1);
 
                 }
             }
-          
-
         }
         if (logger.isInfoEnabled()) {
             logger.info("Stop " + getClass().getName() + ": " + 
Thread.currentThread().getName());
@@ -198,19 +203,20 @@ public class JamesMailSpooler implements
      * The dispose operation is called at the end of a components lifecycle.
      * Instances of this class use this method to release and destroy any
      * resources that they own.
-     * 
+     * <p/>
      * This implementation shuts down the LinearProcessors managed by this
      * JamesSpoolManager
-     * 
+     *
      * @see org.apache.james.lifecycle.api.Disposable#dispose()
      */
     @PreDestroy
+    @Override
     public void dispose() {
         logger.info(getClass().getName() + " dispose...");
         active.set(false); // shutdown the threads
         dequeueService.shutdownNow();
         workerService.shutdown();
-        
+
         long stop = System.currentTimeMillis() + 60000;
         // give the spooler threads one minute to terminate gracefully
         while (numActive.get() != 0 && stop > System.currentTimeMillis()) {
@@ -223,25 +229,16 @@ public class JamesMailSpooler implements
         logger.info(getClass().getName() + " thread shutdown completed.");
     }
 
-    /**
-     * @see org.apache.james.lifecycle.api.LogEnabled#setLog(org.slf4j.Logger)
-     */
     public void setLog(Logger log) {
         this.logger = log;
     }
 
-    /**
-     * @see
-     * 
org.apache.james.mailetcontainer.api.jmx.MailSpoolerMBean#getThreadCount()
-     */
+    @Override
     public int getThreadCount() {
         return numThreads;
     }
 
-    /**
-     * @see
-     * 
org.apache.james.mailetcontainer.api.jmx.MailSpoolerMBean#getCurrentSpoolCount()
-     */
+    @Override
     public int getCurrentSpoolCount() {
         return processingActive.get();
     }

Modified: 
james/server/trunk/mailetcontainer-camel/src/main/resources/META-INF/spring/mailetcontainer-context.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-camel/src/main/resources/META-INF/spring/mailetcontainer-context.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- 
james/server/trunk/mailetcontainer-camel/src/main/resources/META-INF/spring/mailetcontainer-context.xml
 (original)
+++ 
james/server/trunk/mailetcontainer-camel/src/main/resources/META-INF/spring/mailetcontainer-context.xml
 Sun Feb 10 14:01:39 2013
@@ -19,9 +19,7 @@
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd";>
 
-    <!-- 
-     Mailet Container Beans.
-    -->
+    <!-- Mailet Container Beans. -->
     <bean id="mailprocessor" name="processorRoute"
           
class="org.apache.james.mailetcontainer.impl.camel.CamelCompositeProcessor" 
autowire="byType"/>
 

Modified: 
james/server/trunk/mailetcontainer-camel/src/main/resources/META-INF/spring/mailetcontainer-osgi.xml
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-camel/src/main/resources/META-INF/spring/mailetcontainer-osgi.xml?rev=1444546&r1=1444545&r2=1444546&view=diff
==============================================================================
--- 
james/server/trunk/mailetcontainer-camel/src/main/resources/META-INF/spring/mailetcontainer-osgi.xml
 (original)
+++ 
james/server/trunk/mailetcontainer-camel/src/main/resources/META-INF/spring/mailetcontainer-osgi.xml
 Sun Feb 10 14:01:39 2013
@@ -17,29 +17,34 @@
   specific language governing permissions and limitations
   under the License.
 -->
-<beans:beans                                                                   
         
-   xmlns="http://www.springframework.org/schema/osgi";                          
         
-   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-   xmlns:beans="http://www.springframework.org/schema/beans";             
-   xmlns:osgi="http://www.springframework.org/schema/osgi";                     
         
-   xsi:schemaLocation="http://www.springframework.org/schema/osgi  
+<beans:beans
+        xmlns="http://www.springframework.org/schema/osgi";
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+        xmlns:beans="http://www.springframework.org/schema/beans";
+        xmlns:osgi="http://www.springframework.org/schema/osgi";
+        xsi:schemaLocation="http://www.springframework.org/schema/osgi
        http://www.springframework.org/schema/osgi/spring-osgi-1.2.xsd
        http://www.springframework.org/schema/beans   
-       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd";>      
             
+       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd";>
 
     <osgi:service ref="mailetcontext">
-      <osgi:interfaces>
-       <beans:value>org.apache.mailet.MailetContext</beans:value>
-      </osgi:interfaces>
-    </osgi:service>         
-   <osgi:service ref="mailspooler">
-      <osgi:interfaces>
-       
<beans:value>org.apache.james.mailetcontainer.api.jmx.MailSpoolerMBean</beans:value>
-      </osgi:interfaces>
+        <osgi:interfaces>
+            <beans:value>org.apache.mailet.MailetContext</beans:value>
+        </osgi:interfaces>
     </osgi:service>
-   <osgi:service ref="mailprocessor">
-      <osgi:interfaces>
-       
<beans:value>org.apache.james.mailetcontainer.api.MailProcessor</beans:value>
-      </osgi:interfaces>
+
+    <osgi:service ref="mailspooler">
+        <osgi:interfaces>
+            <!--
+            TODO: must expose a public interface, because classes in .impl 
packages are not exported in OSGi
+            
<beans:value>org.apache.james.mailetcontainer.impl.JamesMailSpooler</beans:value>
+            -->
+            
<beans:value>org.apache.james.mailetcontainer.api.jmx.MailSpoolerMBean</beans:value>
+        </osgi:interfaces>
+    </osgi:service>
+    <osgi:service ref="mailprocessor">
+        <osgi:interfaces>
+            
<beans:value>org.apache.james.mailetcontainer.api.MailProcessor</beans:value>
+        </osgi:interfaces>
     </osgi:service>
 </beans:beans>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to