Joachim Draeger (JIRA) wrote:
Socket timeout should be configurable per Service
-------------------------------------------------
Hi Joachim,
my suggestion is to create a new block in assembly and config.xml:
<!-- The Connection Manager for the IMAP service block -->
<block name="imapconnections"
class="org.apache.james.util.connection.SimpleConnectionManager" >
<provide name="thread-manager"
role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
</block>
and to change the dependency in for the imapserver block.
So you have 2 connection managers: one for IMAP and the other for the
remaining services.
This issue is somehow related to:
https://issues.apache.org/jira/browse/JAMES-670
I see we are adding many externalizations to that
SimpleConnectionManager... My first reaction has been to "reject" this
kind of changes and create a custom connection manager in assembly if we
need a per service customization.
About the "connection-limit per IP" I don't think it will so useful to
have a different limit per service, but the timeout is of course
something that IMAP and SMTP cannot share...
I would say let's create a specific connection manager for each single
service instead of using a shared connection manager, but we would loose
the "overall connection-limit per IP".
In the end I, currently, have a preference for the 1 connection manager
per service solution: this would clobber our config.xml with many
blocks, but it seems to me the most simple/most flexible thing.
WDYT?
Stefano
Key: JAMES-713
URL: http://issues.apache.org/jira/browse/JAMES-713
Project: James
Issue Type: New Feature
Components: IMAPServer, James Core
Affects Versions: Next Major
Reporter: Joachim Draeger
Assigned To: Joachim Draeger
At the moment the socket timeout is defined globally for the ConnectionManager:
<connections>
<idle-timeout>300000</idle-timeout>
This has been fine for SMTP/ POP3/ RemoteManager because they require a similar
low timeout (e.g. <5 minutes).
IMAP RFC3501 requires a timeout of > 30 min.
I am not completely sure who requires this why, because there is also a
connectiontimeout enforced by a watchdog thread.
Because I am not so familiar with SimpleConnectionManager and
AbstractService/Handler I'm going to attach a patch for review.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]