Using James 2.0a3 on RH Linux 7.2 (JDK 1.4) with MySQL 3.23.49a:

I am seeing a problem fairly frequently where I get "SQLException: Giving up... no 
connections available." showing up in the logs, and the email ending up in the error 
repository.  I have included two snippets from smtpserver.log and spoolmanager.log 
below.

It usually happens when several emails are sent to '[EMAIL PROTECTED]' nearly 
simultaneously, where I have forwarding set up as follows in config.xml:

<mailet match="[EMAIL PROTECTED]" class="Forward">
   <forwardto> [EMAIL PROTECTED] </forwardto>
   <forwardto> [EMAIL PROTECTED] </forwardto>
   <forwardto> [EMAIL PROTECTED] </forwardto>
   <forwardto> [EMAIL PROTECTED] </forwardto>
   <forwardto> [EMAIL PROTECTED] </forwardto>
   <forwardto> [EMAIL PROTECTED] </forwardto>
   <forwardto> [EMAIL PROTECTED] </forwardto>
   <forwardto> [EMAIL PROTECTED] </forwardto>
   <forwardto> [EMAIL PROTECTED] </forwardto>
   <forwardto> [EMAIL PROTECTED] </forwardto>
</mailet>

Note that it has occasionally happened when a single email is sent to two or more 
users as well.  Also, James seems to keep on working, i.e. other emails sent after 
this occurs are processed normally.

I realize this is probably a configuration problem, but I haven't been able to figure 
out what I need to change to make this problem go away.  Should adjusting the 
spoolmanager thread count have an effect?  Or is the instance of MySQL simply not 
configured properly to allow enough connections to be created simultaneously?

Thanks for your help.

Sam






snippet from smtpserver.log:
1021475060742 [DEBUG  ] (smtpserver): Exception opening socket: An exception occurred 
getting a database connection.
org.apache.avalon.framework.CascadingRuntimeException: An exception occurred getting a 
database connection.
        at 
org.apache.james.userrepository.AbstractJdbcUsersRepository.openConnection(AbstractJdbcUsersRepository.java:493)
        at 
org.apache.james.userrepository.AbstractJdbcUsersRepository.getUserByName(AbstractJdbcUsersRepository.java:403)
        at 
org.apache.james.userrepository.AbstractUsersRepository.test(AbstractUsersRepository.java:256)
        at org.apache.james.smtpserver.SMTPHandler.doAUTH(SMTPHandler.java:354)
        at org.apache.james.smtpserver.SMTPHandler.parseCommand(SMTPHandler.java:238)
        at 
org.apache.james.smtpserver.SMTPHandler.handleConnection(SMTPHandler.java:163)
        at 
org.apache.avalon.cornerstone.blocks.connection.ConnectionRunner.run(Connection.java:167)
 rethrown from
java.sql.SQLException: Giving up... no connections available.
        at 
org.apache.james.util.mordred.JdbcDataSource.getConnection(JdbcDataSource.java:396)
        at 
org.apache.james.userrepository.AbstractJdbcUsersRepository.openConnection(AbstractJdbcUsersRepository.java:490)
        at 
org.apache.james.userrepository.AbstractJdbcUsersRepository.getUserByName(AbstractJdbcUsersRepository.java:403)
        at 
org.apache.james.userrepository.AbstractUsersRepository.test(AbstractUsersRepository.java:256)
        at org.apache.james.smtpserver.SMTPHandler.doAUTH(SMTPHandler.java:354)
        at org.apache.james.smtpserver.SMTPHandler.parseCommand(SMTPHandler.java:238)
        at 
org.apache.james.smtpserver.SMTPHandler.handleConnection(SMTPHandler.java:163)


snippet from spoolmanager.log:
1021481004321 [ERROR  ] (spoolmanager.transport): Exception calling Forward: Exception 
spooling message: Exception caught while storing mail Container: java.io.IOException: 
java.sql.SQLException: Giving up... no connections available.;
  nested exception is:
        java.lang.RuntimeException: Exception caught while storing mail Container: 
java.io.IOException: java.sql.SQLException: Giving up... no connections available.
javax.mail.MessagingException: Exception spooling message: Exception caught while 
storing mail Container: java.io.IOException: java.sql.SQLException: Giving up... no 
connections available.;
  nested exception is:
        java.lang.RuntimeException: Exception caught while storing mail Container: 
java.io.IOException: java.sql.SQLException: Giving up... no connections available.
        at org.apache.james.James.sendMail(James.java:260)
        at org.apache.james.James.sendMail(James.java:235)
        at org.apache.james.James.sendMail(James.java:228)
        at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.apache.avalon.phoenix.components.application.BlockInvocationHandler.invoke(BlockInvocationHandler.java:91)
        at $Proxy9.sendMail(Unknown Source)
        at org.apache.james.transport.mailets.Forward.service(Forward.java:38)
        at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:183)
        at 
org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:241)
        at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:208)
        at 
org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:47)
        at 
org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:86)
java.lang.RuntimeException: Exception caught while storing mail Container: 
java.io.IOException: java.sql.SQLException: Giving up... no connections available.
        at 
org.apache.james.mailrepository.JDBCMailRepository.store(JDBCMailRepository.java:422)
        at 
org.apache.james.mailrepository.JDBCSpoolRepository.store(JDBCSpoolRepository.java:176)
        at org.apache.james.James.sendMail(James.java:254)
        at org.apache.james.James.sendMail(James.java:235)
        at org.apache.james.James.sendMail(James.java:228)
        at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.apache.avalon.phoenix.components.application.BlockInvocationHandler.invoke(BlockInvocationHandler.java:91)
        at $Proxy9.sendMail(Unknown Source)
        at org.apache.james.transport.mailets.Forward.service(Forward.java:38)
        at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:183)
        at 
org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:241)
        at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:208)
        at 
org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:47)
        at 
org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:86)



Reply via email to