Benjamin Outram
2005-05-11 10:55:58 UTC
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.
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.