From: Benjamin O. <be...@ou...> - 2005-05-11 10:56:01
|
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. |