Yup. I set up a failover server (failover only - no local accounts):
1. set up servernames 2. set up authorization for non-local names 3. for all 'non-local' emails, relay them You can set a matcher to match emails for a server, and relay them using that server as a relay. I just use the above and rely on MX records. Daniel. > -----Original Message----- > From: Michael Motet [mailto:[EMAIL PROTECTED] > Sent: 22 December 2004 19:45 > To: James Users List > Subject: Re: RE : i need help urgently > > > This worries me a little bit if using database connection is unstable!?. > We intend to make use of James Mailserver connected to an MS SQL Server. > (already running). > But the system must be able to hold more than 200000 mail users. > We hope we have done the right choice by installing the James Mail Server. > Btw has anyone installed a functional failover mailserver using James > Mail Server ? > > -Michael > > Nathan Cheng wrote: > > > Diego, > > > > That was it. We ran the JVM in debug mode and discovered that most of > > its threads were deadlocking in "mordred" classes. > > > > Mordred is aptly named. Good riddance. It should be not only > > deprecated, but completely removed from the James code base. We would > > much rather have discovered this while upgrading and configuring 2.2 > > rather than getting killed by a time bomb two months later. This has > > cost us dearly. > > > > Thanks to all for the help. > > > > Nathan > > > > Diego Castillo wrote: > > > >> Hello Nathan, > >> > >> You seem to have run out of JDBC connections. I have > experienced similar > >> problems when my JDBC connections expire. James does not restart them > >> and it simply hangs after a while. > >> > >> This is what I would do: > >> 1. Restart your server. > >> 2. Defragment your MySQL queues periodically via crontab: > >> 0 * * * * /usr/local/mysql/bin/mysql -uXXX -pXXX -Dmail -e"OPTIMIZE > >> TABLE spool" > >> 3. Replace Mordred by DBCP: > >> org.apache.james.util.mordred.JdbcDataSource > >> > >> Hope this helps, > >> > >> > >> Diego > >> > >> -----Message d'origine----- > >> De : Nathan Cheng [mailto:[EMAIL PROTECTED] Envoy� : mardi 21 > >> d�cembre 2004 02:32 > >> � : James Users List > >> Objet : Re: i need help urgently > >> > >> It all started with this error in the spoolmanager log: > >> > >> 17/12/04 14:02:06 ERROR spoolmanager: Exception in processor > <transport> > >> javax.mail.MessagingException: Exception caught while storing mail > >> Container: java.io.IOException: java.sql.SQLException: Giving up... > >> no connections available. > >> at > >> > org.apache.james.mailrepository.JDBCMailRepository.store(JDBCMailReposit > >> ory.java:764) > >> at > >> > org.apache.james.mailrepository.JDBCSpoolRepository.store(JDBCSpoolRepos > >> itory.java:238) > >> at > >> > org.apache.james.transport.LinearProcessor.service(LinearProcessor.java: > >> 438) > >> at > >> > org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.j > >> ava:451) > >> at > >> > org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java: > >> 360) > >> at java.lang.Thread.run(Thread.java:534) > >> 17/12/04 14:02:06 ERROR spoolmanager: An error occurred processing > >> Mail1103309206722-118542 through transport > >> 17/12/04 14:02:06 ERROR spoolmanager: Result was ghost > >> > >> No connections available, eh? What is wrong with these settings: > >> > >> ... > >> > >> <data-source name="maildb" > >> class="org.apache.james.util.mordred.JdbcDataSource"> > >> <driver>org.gjt.mm.mysql.Driver</driver> > >> > >> <dburl>jdbc:mysql://newco-prod-db/mail?autoReconnect=true</dburl> > >> <user>xxxxxxx</user> > >> <password>xxxxxxx</password> > >> <max>100</max> > >> </data-source> > >> <data-source name="newcodb" > >> class="org.apache.james.util.mordred.JdbcDataSource"> > >> <driver>org.gjt.mm.mysql.Driver</driver> > >> > >> <dburl>jdbc:mysql://newco-prod-db/newco?autoReconnect=true</dburl> > >> <user>xxxxxxx</user> > >> <password>xxxxxxx</password> > >> <max>100</max> > >> </data-source> > >> > >> ... > >> > >> <connections> > >> <idle-timeout>300000</idle-timeout> > >> <max-connections>100</max-connections> > >> </connections> > >> > >> ... > >> > >> <thread-manager> > >> <thread-group> > >> <name>default</name> > >> <priority>8</priority> > >> <is-daemon>false</is-daemon> > >> <max-threads>100</max-threads> > >> <min-threads>20</min-threads> > >> <min-spare-threads>20</min-spare-threads> > >> </thread-group> > >> </thread-manager> > >> > >> And here is this: > >> > >> mysql> select count(*), message_state from spool group by > message_state; > >> +----------+---------------+ > >> | count(*) | message_state | > >> +----------+---------------+ > >> | 41 | error | > >> | 5903 | root | > >> | 99 | spam | > >> | 32 | transport | > >> +----------+---------------+ > >> 4 rows in set (0.55 sec) > >> > >> ... 2 minutes pass .... > >> > >> mysql> select count(*), message_state from spool group by > message_state; > >> +----------+---------------+ > >> | count(*) | message_state | > >> +----------+---------------+ > >> | 41 | error | > >> | 5903 | root | > >> | 99 | spam | > >> | 32 | transport | > >> +----------+---------------+ > >> 4 rows in set (0.58 sec) > >> > >> > >> ... 10 minutes pass .... > >> > >> mysql> select count(*), message_state from spool group by > message_state; > >> +----------+---------------+ > >> | count(*) | message_state | > >> +----------+---------------+ > >> | 41 | error | > >> | 5889 | root | > >> | 99 | spam | > >> | 59 | transport | > >> +----------+---------------+ > >> 4 rows in set (0.56 sec) > >> > >> ... 1 minute passes ... > >> > >> mysql> select count(*), message_state from spool group by > message_state; > >> +----------+---------------+ > >> | count(*) | message_state | > >> +----------+---------------+ > >> | 41 | error | > >> | 5889 | root | > >> | 99 | spam | > >> | 60 | transport | > >> +----------+---------------+ > >> 4 rows in set (0.56 sec) > >> > >> ... 3 minutes pass ... > >> > >> mysql> select count(*), message_state from spool group by > message_state; > >> +----------+---------------+ > >> | count(*) | message_state | > >> +----------+---------------+ > >> | 41 | error | > >> | 5885 | root | > >> | 99 | spam | > >> | 65 | transport | > >> +----------+---------------+ > >> 4 rows in set (0.55 sec) > >> > >> THANKS! > >> > >> > >> Nathan > >> > >> Nathan Cheng wrote: > >> > >>> We have been using James for over a year to provide email to our > >>> customers. Off and > >>> on we have had really bad problems that we have been able to deal with > >> > >> > >> > >>> by either > >>> upgrading to the latest James or tinkering with the config.xml for > >>> several days. We > >>> now have several hundred users who depend on our email to run their > >>> day-to-day > >>> businesses, and James has once again started to fail miserably. We > >>> do not have time > >>> any more to tinker around in the dark with config.xml. > >>> > >>> We need help from someone who knows James much better than whoever > >> > >> > >> wrote > >> > >>> the > >>> documentation knows James. Please help. > >>> > >>> If you are qualified, please contact me by email at > >>> [EMAIL PROTECTED] > >>> > >>> Here are the symptoms: > >>> > >>> As of early Friday morning James had been working fine for a couple > >>> months, sending > >>> and receiving on the order of 10's of thousands of emails per day. > >> > >> > >> Then > >> > >>> something > >>> happened. I don't know what happened. It may have been that were > >> > >> > >> several > >> > >>> hundred more > >>> messages sent than usual. But anyway, something happened, and James > >>> decided not to work > >>> any more. It would allow POPping about 50% of the time, it would claim > >> > >> > >> > >>> to fail when > >>> sending an email through SMTP, but then about 25% of the time actually > >> > >> > >> > >>> send the message > >>> several hours later. It continued like that throughout the weekend. > >>> After fiddling with > >>> it for a while today, and blocking our web application from reaching > >> > >> > >> the > >> > >>> mail server > >>> using iptables (so that only people using their own email clients > >> > >> > >> could > >> > >>> access it), > >>> I actually got it to send several thousand spooled emails over the > >>> period of about an > >>> hour. Then, without warning, it stopped again--with about 6000 > >>> emails left in the > >>> 'root' message_state and 11 in 'transport'. Our web application has > >>> another 1000 mails > >>> or so queued up that it's trying to send (but can't thanks to > >> > >> > >> iptables). > >> > >>> So we're behind > >>> about 7000 emails and we've got several hundred angry clients. > >>> > >>> As I said, please help. > >>> > >>> Thank you, > >>> > >>> Nathan > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
