So now while letting my services run and transmit jms messages, after 2 - 3
hours, I'm getting this problem. There is no consumer attached to the topic
I'm sending to. Is this because the consumer blocked due to the topic still
filling up? I can't connect to servicemix with jconsole to find out since
apparently servicemix pretty much exploded at this point. I'm trying to
figure out how people use servicemix-jms in order to allow proper operation
in an environment where there may or may not be a consumer listening to a
published feed. My JMS config is basically the same as the servicemix
examples, with the exception of the activemq flag mentioned below that I
added:
INFO - ComponentMBeanImpl - Initializing component: ID:
10.40.16.154-1177df9603c-0:491
INFO - ComponentMBeanImpl - Starting component: ID:
10.40.16.154-1177df9603c-0:491
WARN - ActiveMQConnection - Async exception with no exception
listener: org.apache.activemq.transport.Inacti
vityIOException: Channel was inactive for too long.
org.apache.activemq.transport.InactivityIOException: Channel was inactive
for too long.
at org.apache.activemq.transport.InactivityMonitor.readCheck(
InactivityMonitor.java:101)
at org.apache.activemq.transport.InactivityMonitor.access$000(
InactivityMonitor.java:35)
at org.apache.activemq.transport.InactivityMonitor$1.run(
InactivityMonitor.java:51)
at
edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call
(Executors.java:442)
at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(
FutureTask.java:198)
at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101
(Sche
duledThreadPoolExecutor.java:102)
at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic
(Sch
eduledThreadPoolExecutor.java:189)
at
edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run
(ScheduledTh
readPoolExecutor.java:213)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask
(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Exception in thread "Timer-5" java.lang.OutOfMemoryError: Java heap space
at java.io.BufferedInputStream.<init>(BufferedInputStream.java:178)
at java.io.BufferedInputStream.<init>(BufferedInputStream.java:158)
at sun.net.www.protocol.file.FileURLConnection.connect(
FileURLConnection.java:70)
at org.apache.servicemix.jbi.logging.LogTask.reconfigure(
LogTask.java:51)
at org.apache.servicemix.jbi.logging.LogTask.run(LogTask.java:39)
ERROR - JournalPersistenceAdapter - Failed to checkpoint a message
store: edu.emory.mathcs.backport.java.util.concur
rent.ExecutionException: java.lang.NullPointerException
edu.emory.mathcs.backport.java.util.concurrent.ExecutionException:
java.lang.NullPointerException
at
edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(
FutureTask.java:299)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(
FutureTask.java:118)
at
org.apache.activemq.store.journal.JournalPersistenceAdapter.doCheckpoint(
JournalPersistenceAdapter.java:386)
at
org.apache.activemq.store.journal.JournalPersistenceAdapter$2.iterate(
JournalPersistenceAdapter.java:129)
at org.apache.activemq.thread.PooledTaskRunner.runTask(
PooledTaskRunner.java:117)
at org.apache.activemq.thread.PooledTaskRunner.access$100(
PooledTaskRunner.java:26)
at org.apache.activemq.thread.PooledTaskRunner$1.run(
PooledTaskRunner.java:44)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask
(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at org.apache.activemq.store.jdbc.TransactionContext.rollback(
TransactionContext.java:182)
at
org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.rollbackTransaction(
JDBCPersistenceAdapter.java:368)
at
org.apache.activemq.store.journal.JournalPersistenceAdapter.rollbackTransaction
(JournalPersistenceAdapter.java
:197)
at org.apache.activemq.util.TransactionTemplate.run(
TransactionTemplate.java:62)
at org.apache.activemq.store.journal.JournalMessageStore.checkpoint(
JournalMessageStore.java:247)
at org.apache.activemq.store.journal.JournalMessageStore.checkpoint(
JournalMessageStore.java:221)
at
org.apache.activemq.store.journal.JournalPersistenceAdapter$4.call(
JournalPersistenceAdapter.java:356)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(
FutureTask.java:176)
... 3 more
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Exception in thread "DefaultQuartzScheduler_Worker-3" Exception in thread
"DefaultQuartzScheduler_QuartzSchedulerThread"
Exception in thread "ActiveMQ Transport: tcp://localhost/127.0.0.1:61616"
Exception in thread "MulticastDiscovery: tcp://
arcmap15:61616" java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
WARN - TransportConnection - Failed to remove consumer:
ID:arc15-2477-1200409360200-3:80:-1:2. Reason: jav
a.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
Exception in thread "Persistence Adaptor Task" java.lang.OutOfMemoryError:
Java heap space
On Jan 15, 2008 10:19 AM, Ryan Moquin <[EMAIL PROTECTED]> wrote:
> I'm trying to avoid my deadlock issue where messages sent to a topic from
> servicemix-jms eventually cause my producer to block. The only thing I can
> seem to find for this is using the options on this page:
>
> http://activemq.apache.org/destination-options.html
>
> Can I use consumer.maximumPendingMessageLimit with servicemix-jms? If so,
> if I change my jmsProviderDestination name to this below, should it work?
>
> jmsProviderDestinationName="topic/feed-service?consumer.maximumPendingMessageLimit=10"
>
>
> I tried it, but in jconsole, the enqueue count has already gone past 10.
> If there anyway to cause old messages to be disposed? I thought this was
> the point of jms Topics.
>
> Thanks,
> Ryan
>