You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/11/05 14:12:18 UTC

svn commit: r1031552 - in /james/server/trunk: container-spring/src/main/config/james/spring-beans.xml pom.xml queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueue.java

Author: norman
Date: Fri Nov  5 13:12:18 2010
New Revision: 1031552

URL: http://svn.apache.org/viewvc?rev=1031552&view=rev
Log:
Refactor ActiveMQMailQueue so we can workaround a ActiveMQ bug which will be fixed in next ActiveMQ release. Thatsa needed step to remove a SNAPSHOT dependency so we can cut another milestone.. (release often/release early)

Modified:
    james/server/trunk/container-spring/src/main/config/james/spring-beans.xml
    james/server/trunk/pom.xml
    james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueue.java

Modified: james/server/trunk/container-spring/src/main/config/james/spring-beans.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/config/james/spring-beans.xml?rev=1031552&r1=1031551&r2=1031552&view=diff
==============================================================================
--- james/server/trunk/container-spring/src/main/config/james/spring-beans.xml (original)
+++ james/server/trunk/container-spring/src/main/config/james/spring-beans.xml Fri Nov  5 13:12:18 2010
@@ -134,8 +134,9 @@
 
 
 
-    <!--  lets create an embedded ActiveMQ Broker -->
-    <amq:broker useJmx="true" persistent="true" brokerName="james" dataDirectory="filesystem=file://var/activemq-data/" useShutdownHook="false" schedulerSupport="true" id="broker">
+    <!-- lets create an embedded ActiveMQ Broker -->
+    <!-- disable schedulerSupport for workaround AMQ-2935-->
+    <amq:broker useJmx="true" persistent="true" brokerName="james" dataDirectory="filesystem=file://var/activemq-data/" useShutdownHook="false" schedulerSupport="false" id="broker">
         <amq:destinationPolicy>
             <amq:policyMap>
                 <amq:policyEntries>
@@ -148,6 +149,10 @@
         <amq:managementContext>
             <amq:managementContext createConnector="false"/>
         </amq:managementContext>
+        <!-- use amq persistence adapter for workaround AMQ-2935-->
+        <amq:persistenceAdapter>
+            <amq:amqPersistenceAdapter/>
+        </amq:persistenceAdapter>
         <amq:transportConnectors>
             <amq:transportConnector uri="tcp://localhost:0" />
         </amq:transportConnectors>
@@ -165,7 +170,11 @@
     <bean id="jmsConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
        <property name="targetConnectionFactory" ref="amqConnectionFactory"/>
        <property name="sessionCacheSize" value="10"/>
-       <property name="cacheConsumers" value="true"/>
+       <!-- Don't cache consumers as we need to use message selectors for delayed messages -->
+       <!-- When caching consumers the selector will not work. -->
+       <!-- This is needed because we can not make use of the scheduler. Thats only a workaround till activemq 5.4.2 was released -->
+       <!-- See AMQ-2935 -->
+       <property name="cacheConsumers" value="false"/>
        <property name="cacheProducers" value="true"/>
     </bean>
 

Modified: james/server/trunk/pom.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/pom.xml?rev=1031552&r1=1031551&r2=1031552&view=diff
==============================================================================
--- james/server/trunk/pom.xml (original)
+++ james/server/trunk/pom.xml Fri Nov  5 13:12:18 2010
@@ -1223,11 +1223,10 @@
     <productName>Apache-James Mail Server</productName>
     <derby.version>10.6.2.1</derby.version>
     <camel.version>2.5.0</camel.version>
-    <!-- Don't upgrade to 5.4.0 or 5.4.1 -->
-    <!-- See https://issues.apache.org/activemq/browse/AMQ-2935 -->
     <!-- Change to 5.4.2 once its released -->
+    <!-- See https://issues.apache.org/activemq/browse/AMQ-2935 -->
     <!-- JAMES-1085 -->
-    <activemq.version>5.5-SNAPSHOT</activemq.version>
+    <activemq.version>5.4.1</activemq.version>
     <spring.version>3.0.5.RELEASE</spring.version>
     <imap.version>0.2-M1</imap.version>
     <protocols.version>1.2-M2-SNAPSHOT</protocols.version>

Modified: james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueue.java
URL: http://svn.apache.org/viewvc/james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueue.java?rev=1031552&r1=1031551&r2=1031552&view=diff
==============================================================================
--- james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueue.java (original)
+++ james/server/trunk/queue-activemq/src/main/java/org/apache/james/queue/activemq/ActiveMQMailQueue.java Fri Nov  5 13:12:18 2010
@@ -39,7 +39,6 @@ import javax.mail.internet.MimeMessage;
 
 import org.apache.activemq.ActiveMQSession;
 import org.apache.activemq.BlobMessage;
-import org.apache.activemq.ScheduledMessage;
 import org.apache.commons.logging.Log;
 import org.apache.james.core.MimeMessageCopyOnWriteProxy;
 import org.apache.james.core.MimeMessageInputStream;
@@ -112,6 +111,7 @@ public class ActiveMQMailQueue extends J
      * (non-Javadoc)
      * @see org.apache.james.queue.jms.JMSMailQueue#deQueue()
      */
+    /*
     public MailQueueItem deQueue() throws MailQueueException {
         Connection connection = null;
         Session session = null;
@@ -161,6 +161,7 @@ public class ActiveMQMailQueue extends J
         }
 
     }
+    */
 
     /*
      * (non-Javadoc)
@@ -291,6 +292,7 @@ public class ActiveMQMailQueue extends J
     }
     
 
+    /*
     @Override
     protected Map<String, Object> getJMSProperties(Mail mail, long delayInMillis) throws JMSException, MessagingException {
         Map<String, Object> props =  super.getJMSProperties(mail, delayInMillis);
@@ -302,6 +304,7 @@ public class ActiveMQMailQueue extends J
         }
         return props;
     }
+    */
 
     @Override
     protected MailQueueItem createMailQueueItem(Connection connection, Session session, MessageConsumer consumer, Message message) throws JMSException, MessagingException {



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org