Garbage collecting messages from RDBMS

Benjamin Outram <ben-ub/[email protected]> Wed, 11 May 2005 11:55:58 +0100
Newsgroups gmane.comp.java.openjms.devel
Message-ID <[email protected]>
Hello,

I am having trouble getting openJMS to garbage collect messages from the
database using 0.7.6.1 and 0.7.7 (CVS).

I think that some messages are being deleted and some are not. When a message
isn't deleted I get the following error message in the logs:

RMI TCP Connection(29)-192.168.0.115 | 242  | Cannot remove
message=ID:f1fec87d-bcd1-1004-863f-3d8cccddcdea

Looking at org.exolab.jms.persistence.Messages line 242 this error is logged
when the table row isn't deleted. The SQL statement is "delete from messages
where messageId=?" Looking in the database, the message with id
'ID:f1fec87d-bcd1-1004-863f-3d8cccddcdea' does exist.

database config:

  <DatabaseConfiguration>
    <RdbmsDatabaseConfiguration
      driver="org.firebirdsql.jdbc.FBDriver"
      url="jdbc:firebirdsql://127.0.0.1:3050/c:/Program
Files/Firebird/Firebird_1_5/data/DATA.FDB"
      user="..."
      password="..."
      maxActive="0"
      testQuery="SELECT CURRENT_TIME FROM RDB$DATABASE"
      testBeforeUse="true" />
  </DatabaseConfiguration>

administered topic config:

<administeredTopic name="logMessageTopic"/>

I use a non durable subscriber and do logMessageTopicSubscriber.receive(1000) to
receive a message.

Object messages are published to the topic using the log4j JMSAppender

  <appender name="jms" class="org.apache.log4j.net.JMSAppender">
    <param name="InitialContextFactoryName"
value="org.exolab.jms.jndi.InitialContextFactory" />
    <param name="ProviderURL" value="rmi://127.0.0.1:1099/" />
    <param name="TopicConnectionFactoryBindingName"
value="JmsTopicConnectionFactory" />
    <param name="TopicBindingName" value="logMessageTopic" />
    <param name="LocationInfo" value="true" />
  </appender>

I run openJMS as an embedded server using
JmsServer jmsServer = new JmsServer(configFileName);
jmsServer.init();

Any help would be greatly appreciated. Thanks.


-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click