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 er...@apache.org on 2012/01/27 05:31:59 UTC
svn commit: r1236522 -
/james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml
Author: eric
Date: Fri Jan 27 04:31:59 2012
New Revision: 1236522
URL: http://svn.apache.org/viewvc?rev=1236522&view=rev
Log:
Tune JPA datasource for timeout,... - Contributed by Michael Herrmann (JAMES-1317)
Modified:
james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml
Modified: james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml
URL: http://svn.apache.org/viewvc/james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml?rev=1236522&r1=1236521&r2=1236522&view=diff
==============================================================================
--- james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml (original)
+++ james/app/trunk/src/main/resources/META-INF/org/apache/james/spring-server.xml Fri Jan 27 04:31:59 2012
@@ -315,6 +315,22 @@
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
+ <!--The value for maxActive should always be larger than the number of spooler threads. The-->
+ <!--reason is that a spooler thread normally requires 1 connection to process a mail, however-->
+ <!--sometimes OpenJPA requires 1 connection to finish the processing on top of that. If-->
+ <!-- maxActive <= num spooler threads,-->
+ <!--it can happen that the spooler threads grab all maxActive connections but then cannot-->
+ <!--finish processing because each of them blocks waiting for OpenJPA which itself is waiting-->
+ <!--for a connection. See https://issues.apache.org/jira/browse/JAMES-1317.-->
+ <property name="maxActive" value="21"/>
+ <!-- This lets a mail fail to be processed rather than the server freezing. -->
+ <property name="maxWait" value="30000"/>
+ <!-- This keeps the number of connections in the pool low on average -->
+ <property name="timeBetweenEvictionRunsMillis" value="300000"/>
+ <property name="minEvictableIdleTimeMillis" value="300000"/>
+ <property name="removeAbandoned" value="true"/>
+ <property name="logAbandoned" value="true"/>
+ <property name="removeAbandonedTimeout" value="300"/>
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="datasource"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org