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]