Failed to update persistent handle
"Diogo Matos" <[email protected]> Mon, 11 Feb 2008 11:58:05 +0000
| Newsgroups | gmane.comp.java.openjms.user |
|---|---|
| Message-ID | <[email protected]> |
--===============1052024786==
Content-Type: multipart/alternative;
boundary="----=_Part_37921_31387519.1202731085743"
------=_Part_37921_31387519.1202731085743
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi,
I'm having problems using DurableSubscribers.
When i send messages to the queue without DurableSubscribers registered
there are no errors on the sender. But when i create a DurableSubscriber,
after a while it will throw exception.
I'm using openjms-0.7.7-beta-1 and the exceptions are:
11:45:53.939 ERROR [Scheduler-Worker-4] - Failed to update persistent
handle: Failed to update message handle=
org.exolab.jms.messagemgr.TopicConsumerMessageHandle@4cc81c
javax.jms.JMSException: Failed to update persistent handle: Failed to update
message handle=org.exolab.jms.messagemgr.TopicConsumerMessageHandle@4cc81c
at org.exolab.jms.messagemgr.AbstractConsumerMessageHandle.update(
AbstractConsumerMessageHandle.java:312)
at org.exolab.jms.server.SentMessageCache.preSend(
SentMessageCache.java:107)
at org.exolab.jms.server.SessionConsumer.send(SessionConsumer.java
:568)
at org.exolab.jms.server.SessionConsumer.dispatch(
SessionConsumer.java:498)
at org.exolab.jms.server.SessionConsumer.access$000(
SessionConsumer.java:78)
at org.exolab.jms.server.SessionConsumer$1.run(SessionConsumer.java
:155)
at org.exolab.jms.scheduler.SerialTask.run(SerialTask.java:164)
at org.exolab.jms.common.threads.ThreadPool$NotifyingRunnable.run(
ThreadPool.java:211)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Thread.java:595)
11:45:53.965 ERROR [ORB-Worker-2] - Failed to make handle persistent
org.exolab.jms.persistence.PersistenceException:
ERROR 40XL1: A lock could not be obtained within the time requested
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at org.apache.derby.impl.services.locks.LockSet.lockObject(Unknown
Source)
at org.apache.derby.impl.services.locks.SinglePool.lockAnObject(Unknown
Source)
at org.apache.derby.impl.services.locks.SinglePool.lockObject(Unknown
Source)
at
org.apache.derby.impl.store.raw.xact.RowLocking3.lockRecordForWrite(Unknown
Source)
at
org.apache.derby.impl.store.access.btree.index.B2IRowLocking3._lockScan(Unknown
Source)
at
org.apache.derby.impl.store.access.btree.index.B2IRowLocking3.lockScan(Unknown
Source)
at org.apache.derby.impl.store.access.btree.LeafControlRow.splitFor(Unknown
Source)
at
org.apache.derby.impl.store.access.btree.BranchControlRow.splitFor(Unknown
Source)
at
org.apache.derby.impl.store.access.btree.BranchControlRow.splitFor(Unknown
Source)
at
org.apache.derby.impl.store.access.btree.BTreeController.start_xact_and_dosplit(Unknown
Source)
at org.apache.derby.impl.store.access.btree.BTreeController.doIns(Unknown
Source)
at org.apache.derby.impl.store.access.btree.BTreeController.insert(Unknown
Source)
at
org.apache.derby.impl.store.access.btree.index.B2IController.insert(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown
Source)
at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown
Source)
at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown
Source)
at
org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown
Source)
at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown
Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
Source)
I also get strange exceptions:
11:45:53.970 ERROR [ORB-Worker-2] - Failed to process message
javax.jms.JMSException: Failed to make handle persistent: Failed to add
message handle=org.exolab.jms.messagemgr.TopicConsumerMessageHandle@bfa709
at org.exolab.jms.messagemgr.AbstractConsumerMessageHandle.add(
AbstractConsumerMessageHandle.java:294)
at
org.exolab.jms.messagemgr.AbstractTopicConsumerEndpoint.persistentMessageAdded
(AbstractTopicConsumerEndpoint.java:255)
at
org.exolab.jms.messagemgr.TopicDestinationCache.persistentMessageAdded(
TopicDestinationCache.java:171)
at org.exolab.jms.messagemgr.MessageMgr.addPersistentMessage(
MessageMgr.java:281)
at org.exolab.jms.messagemgr.MessageMgr.add(MessageMgr.java:181)
at org.exolab.jms.server.ServerSessionImpl.send(
ServerSessionImpl.java:205)
at org.exolab.jms.server.net.RemoteServerSession.send(
RemoteServerSession.java:152)
at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.exolab.jms.net.orb.DefaultORB$Handler.invoke(DefaultORB.java
:572)
at org.exolab.jms.net.orb.DefaultORB$1.run(DefaultORB.java:530)
at org.exolab.jms.common.threads.ThreadPool$NotifyingRunnable.run(
ThreadPool.java:211)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Thread.java:595)
11:45:53.974 ERROR [ORB-Worker-2] - Failed to process message
javax.jms.JMSException: Failed to make handle persistent: Failed to add
message handle=org.exolab.jms.messagemgr.TopicConsumerMessageHandle@bfa709
at org.exolab.jms.messagemgr.AbstractConsumerMessageHandle.add(
AbstractConsumerMessageHandle.java:294)
at
org.exolab.jms.messagemgr.AbstractTopicConsumerEndpoint.persistentMessageAdded
(AbstractTopicConsumerEndpoint.java:255)
at
org.exolab.jms.messagemgr.TopicDestinationCache.persistentMessageAdded(
TopicDestinationCache.java:171)
at org.exolab.jms.messagemgr.MessageMgr.addPersistentMessage(
MessageMgr.java:281)
at org.exolab.jms.messagemgr.MessageMgr.add(MessageMgr.java:181)
at org.exolab.jms.server.ServerSessionImpl.send(
ServerSessionImpl.java:205)
at org.exolab.jms.server.net.RemoteServerSession.send(
RemoteServerSession.java:152)
at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.exolab.jms.net.orb.DefaultORB$Handler.invoke(DefaultORB.java
:572)
at org.exolab.jms.net.orb.DefaultORB$1.run(DefaultORB.java:530)
at org.exolab.jms.common.threads.ThreadPool$NotifyingRunnable.run(
ThreadPool.java:211)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Thread.java:595)
11:45:54.034 ERROR [Scheduler-Worker-4] - Failed to execute
removeMessageHandle for handle=ID:d3de1290-c4b9-1004-8dfc-2adc20b9f7de
destination id=1 consumer id=11
Here is a fragment of the code:
// look up the ConnectionFactory
factory = (ConnectionFactory) context.lookup("ConnectionFactory");
// look up the topic
topic = (Topic) context.lookup(conf.getTopicName());
// create the connection
connection = factory.createConnection();
// create the session
session = connection.createSession(
false, Session.AUTO_ACKNOWLEDGE);
// create the durable subscriber
subscriber = session.createDurableSubscriber(topic,
conf.getSubscriptionName());
subscriber.setMessageListener(new CacheListener(conf));
// start the connection, to enable message receipt
connection.start();
------=_Part_37921_31387519.1202731085743
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi,<br><br>I'm having problems using DurableSubscribers. <br><br>When i send messages to the queue without DurableSubscribers registered there are no errors on the sender. But when i create a DurableSubscriber, after a while it will throw exception.<br>
<br>I'm using openjms-0.7.7-beta-1 and the exceptions are:<br><br>11:45:53.939 ERROR [Scheduler-Worker-4] - Failed to update persistent handle: Failed to update message handle=org.exolab.jms.messagemgr.TopicConsumerMessageHandle@4cc81c<br>
javax.jms.JMSException: Failed to update persistent handle: Failed to update message handle=org.exolab.jms.messagemgr.TopicConsumerMessageHandle@4cc81c<br> at org.exolab.jms.messagemgr.AbstractConsumerMessageHandle.update(AbstractConsumerMessageHandle.java:312)<br>
at org.exolab.jms.server.SentMessageCache.preSend(SentMessageCache.java:107)<br> at org.exolab.jms.server.SessionConsumer.send(SessionConsumer.java:568)<br> at org.exolab.jms.server.SessionConsumer.dispatch(SessionConsumer.java:498)<br>
at org.exolab.jms.server.SessionConsumer.access$000(SessionConsumer.java:78)<br> at org.exolab.jms.server.SessionConsumer$1.run(SessionConsumer.java:155)<br> at org.exolab.jms.scheduler.SerialTask.run(SerialTask.java:164)<br>
at org.exolab.jms.common.threads.ThreadPool$NotifyingRunnable.run(ThreadPool.java:211)<br> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)<br> at java.lang.Thread.run(Thread.java:595)<br>
11:45:53.965 ERROR [ORB-Worker-2] - Failed to make handle persistent<br>org.exolab.jms.persistence.PersistenceException: <br>ERROR 40XL1: A lock could not be obtained within the time requested<br> at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)<br>
at org.apache.derby.impl.services.locks.LockSet.lockObject(Unknown Source)<br> at org.apache.derby.impl.services.locks.SinglePool.lockAnObject(Unknown Source)<br> at org.apache.derby.impl.services.locks.SinglePool.lockObject(Unknown Source)<br>
at org.apache.derby.impl.store.raw.xact.RowLocking3.lockRecordForWrite(Unknown Source)<br> at org.apache.derby.impl.store.access.btree.index.B2IRowLocking3._lockScan(Unknown Source)<br> at org.apache.derby.impl.store.access.btree.index.B2IRowLocking3.lockScan(Unknown Source)<br>
at org.apache.derby.impl.store.access.btree.LeafControlRow.splitFor(Unknown Source)<br> at org.apache.derby.impl.store.access.btree.BranchControlRow.splitFor(Unknown Source)<br> at org.apache.derby.impl.store.access.btree.BranchControlRow.splitFor(Unknown Source)<br>
at org.apache.derby.impl.store.access.btree.BTreeController.start_xact_and_dosplit(Unknown Source)<br> at org.apache.derby.impl.store.access.btree.BTreeController.doIns(Unknown Source)<br> at org.apache.derby.impl.store.access.btree.BTreeController.insert(Unknown Source)<br>
at org.apache.derby.impl.store.access.btree.index.B2IController.insert(Unknown Source)<br> at org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown Source)<br> at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown Source)<br>
at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source)<br> at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown Source)<br> at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown Source)<br>
at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown Source)<br> at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)<br> at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)<br>
<br><br>I also get strange exceptions:<br><br>11:45:53.970 ERROR [ORB-Worker-2] - Failed to process message<br>javax.jms.JMSException: Failed to make handle persistent: Failed to add message handle=org.exolab.jms.messagemgr.TopicConsumerMessageHandle@bfa709<br>
at org.exolab.jms.messagemgr.AbstractConsumerMessageHandle.add(AbstractConsumerMessageHandle.java:294)<br> at org.exolab.jms.messagemgr.AbstractTopicConsumerEndpoint.persistentMessageAdded(AbstractTopicConsumerEndpoint.java:255)<br>
at org.exolab.jms.messagemgr.TopicDestinationCache.persistentMessageAdded(TopicDestinationCache.java:171)<br> at org.exolab.jms.messagemgr.MessageMgr.addPersistentMessage(MessageMgr.java:281)<br> at org.exolab.jms.messagemgr.MessageMgr.add(MessageMgr.java:181)<br>
at org.exolab.jms.server.ServerSessionImpl.send(ServerSessionImpl.java:205)<br> at org.exolab.jms.server.net.RemoteServerSession.send(RemoteServerSession.java:152)<br> at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br> at java.lang.reflect.Method.invoke(Method.java:585)<br> at org.exolab.jms.net.orb.DefaultORB$Handler.invoke(DefaultORB.java:572)<br>
at org.exolab.jms.net.orb.DefaultORB$1.run(DefaultORB.java:530)<br> at org.exolab.jms.common.threads.ThreadPool$NotifyingRunnable.run(ThreadPool.java:211)<br> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)<br>
at java.lang.Thread.run(Thread.java:595)<br>11:45:53.974 ERROR [ORB-Worker-2] - Failed to process message<br>javax.jms.JMSException: Failed to make handle persistent: Failed to add message handle=org.exolab.jms.messagemgr.TopicConsumerMessageHandle@bfa709<br>
at org.exolab.jms.messagemgr.AbstractConsumerMessageHandle.add(AbstractConsumerMessageHandle.java:294)<br> at org.exolab.jms.messagemgr.AbstractTopicConsumerEndpoint.persistentMessageAdded(AbstractTopicConsumerEndpoint.java:255)<br>
at org.exolab.jms.messagemgr.TopicDestinationCache.persistentMessageAdded(TopicDestinationCache.java:171)<br> at org.exolab.jms.messagemgr.MessageMgr.addPersistentMessage(MessageMgr.java:281)<br> at org.exolab.jms.messagemgr.MessageMgr.add(MessageMgr.java:181)<br>
at org.exolab.jms.server.ServerSessionImpl.send(ServerSessionImpl.java:205)<br> at org.exolab.jms.server.net.RemoteServerSession.send(RemoteServerSession.java:152)<br> at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br> at java.lang.reflect.Method.invoke(Method.java:585)<br> at org.exolab.jms.net.orb.DefaultORB$Handler.invoke(DefaultORB.java:572)<br>
at org.exolab.jms.net.orb.DefaultORB$1.run(DefaultORB.java:530)<br> at org.exolab.jms.common.threads.ThreadPool$NotifyingRunnable.run(ThreadPool.java:211)<br> at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)<br>
at java.lang.Thread.run(Thread.java:595)<br>11:45:54.034 ERROR [Scheduler-Worker-4] - Failed to execute removeMessageHandle for handle=ID:d3de1290-c4b9-1004-8dfc-2adc20b9f7de destination id=1 consumer id=11<br><br>
<br>Here is a fragment of the code:<br><br> // look up the ConnectionFactory<br> factory = (ConnectionFactory) context.lookup("ConnectionFactory");<br><br> // look up the topic<br> topic = (Topic) context.lookup(conf.getTopicName());<br>
<br> // create the connection<br> connection = factory.createConnection();<br><br> // create the session<br> session = connection.createSession(<br> false, Session.AUTO_ACKNOWLEDGE);<br>
<br> // create the durable subscriber<br> subscriber = session.createDurableSubscriber(topic, conf.getSubscriptionName());<br> <br> subscriber.setMessageListener(new CacheListener(conf));<br> <br>
// start the connection, to enable message receipt<br> connection.start();<br><br><br><br>
------=_Part_37921_31387519.1202731085743--
--===============1052024786==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
--===============1052024786==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
openjms-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openjms-user
--===============1052024786==--