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]

Reply via email to