Steve,
Please submit that information. A lot of users have asked about using
HypersonicSQL with James.
Please update to the CVS version. We've made a number of changes
specifically in the area you were exercising.
If I recall correctly, there is a race condition in the spooler scheme. A
message is acquired from the spool by a worker thread. The worker thread
then asks if it can own the message. If another thread has the message
locked (in a map), then the worker can't have it, and it goes back to the
spool for another. However, if a thread actively working on the message
should happen finish, delete and unlock the message between the time when
the new worker thread tentatively acquires the message from the spool to
work on and when it sees if someone else has locked it, then you'll see that
exception.
We've recently done a lot of work in that part of the code, and have
significantly reduced the possibility of that exception. When it does
happen, it is harmless. It simply means that a message was in the queue,
was pulled from the queue, but was already in use by another thread that
finished with it and deleted it because there is nothing left to do.
--- Noel
-----Original Message-----
From: Steve [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, August 14, 2002 2:36
To: James Users List
Subject: Is this an error? Trying to create a hypersonic db store
Hello all.
I am trying to setup James using HypersonicSQL as my db stores. I just
downloaded james-2.1a1 in an attempt to start with the latest version (short
of CVS).
I have
- modified my SAR-INF/config.xml so that all (I hope) mailets and stores use
the db option.
- I have added hypersonic connection parameters to the
<database-connections> section.
- I have updated the sqlResources.xml
added dbMatcher for Hypersonic
added sql's for hypersonic
James now starts up without reporting any errors.
I can use the telnet client to add and list users.
I can send emails to James, from james, and within james.
Once, when I was sending an email to myself, I noted the following in the
run window:
C:\james-2.1a1\bin>run
Using PHOENIX_HOME: C:\james-2.1a1
Using PHOENIX_TMPDIR: C:\james-2.1a1\temp
Using JAVA_HOME: c:\jdk1.3
Phoenix 4.0a4
James 2.1a1
Started POP3 Server plain:110
Started SMTP Server plain:25
Started NNTP Server plain:119
java.lang.RuntimeException: Did not find a record Mail1029306580132-2 in
spool
at
org.apache.james.mailrepository.JDBCMailRepository.retrieve(JDBCMailR
epository.java:454)
at
org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.ja
va:205)
at
org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(Ex
ecutableRunnable.java:47)
at
org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread
.java:80)
java.lang.RuntimeException: Exception while retrieving mail: Did not find a
reco
rd Mail1029306580132-2 in spool
at
org.apache.james.mailrepository.JDBCMailRepository.retrieve(JDBCMailR
epository.java:494)
at
org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.ja
va:205)
at
org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(Ex
ecutableRunnable.java:47)
at
org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread
.java:80)
However, I did receive the email. Is this a problem? In general, I want to
test the setup. What tests would you suggest, and what logs should I look
for?
Thanks!
Steve B.
PS - the JDBC How-To makes it sound like you have only to add info to the
database-connections section. This may be a bit misleading as there are many
places in the config.xml that need to be commented and uncommented. It may
be worth listing them as when I eventually realized there were additional
changes to be made, it took me a couple tries to find them all...just a
suggestion.
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>