So has anyone had a problem with a topic filling up and found a way around it? I thought topic's weren't supposed to be persistent, except for durable subscribers, which I have non. I wouldn't have thought this would occur. I think I saw some stuff that said this is fixed in activemq 5.0 (or at least similar issues), but that doesn't do me any good when servicemix won't be using 5.0 for a while.
Thanks, Ryan On Jan 2, 2008 8:51 AM, Ryan Moquin <[EMAIL PROTECTED]> wrote: > Ah, that's right, I did read about a similar issue and this possibly being > the issue. I guess I need to have a TTL on the messages being sent? A > large amount of JMS messages are being sent to a topic, but unless there are > durable subscribers, I don't understand why the messages aren't discarded > after either they are delivered or it's determined noone is subscribing yet. > > > Sure, I can send my config. I wasn't initially sure if sending my > configuration would help. It's very basic since I only modified what I > found I think in the servicemix-jms example until I figure out more > specifics of what I want: > > <?xml version="1.0" encoding="UTF-8"?> > <beans xmlns:notservice="urn://notification.service.com" > xmlns:jms="http://servicemix.apache.org/jms/1.0 "> > <jms:endpoint service="notservice:notificationJmsService" > endpoint="notificationServiceJmsProvider" > role="provider" > destinationStyle="topic" > jmsProviderDestinationName="topic/notificationService" > connectionFactory="#connectionFactory" > wsdlResource="classpath:notification-service.wsdl " /> > > <bean id="connectionFactory" class=" > org.apache.activemq.ActiveMQConnectionFactory"> > <property name="brokerURL" value="tcp://localhost:61616" /> > </bean> > </beans> > > > On Jan 1, 2008 4:07 PM, Guillaume Nodet <[EMAIL PROTECTED]> wrote: > > > It seems the stack trace shows that the queues / thread pools are > > totally > > filled and you are running out of these resources. In such a case, the > > component sending the jbi exchange will be blocked until there is more > > room. The behavior can be tuned by changing the seda queue sizes (see > > http://servicemix.apache.org/thread-pools.html). You can use unbounded > > queues if you want, but you may run out of memory, use unlimited thread > > number (which may run out of memory too), or have a maximum for both (in > > which case the sender would block). > > > > I'm not sure what really happens with your JMS endpoint. Could you post > > the > > configuration used maybe ? > > > > On Jan 1, 2008 6:28 PM, Ryan Moquin <[EMAIL PROTECTED]> wrote: > > > > > So I've been tracking down a problem in my servicemix CXF service, > > where I > > > have a thread (I know I probably shouldn't be doing it that way, I'm > > > guessing a quartz task is probably the recommended way) that does some > > > data > > > collection in the background for the service "appears" to stop > > running. I > > > managed to reproduce this state and did a thread dump on the service. > > I > > > found trying to send to my jms endpoint is locking the whole thing up. > > > I'm > > > a little puzzled as to why, and was hoping someone could give me some > > > insight on this and help me to understand what I need to do to prevent > > it > > > from happening. I'm still investigating the stack dump but I'm hoping > > > someone might just already know the answer of why servicemix would > > stay > > > locked at this point. I've been trying to figure out why my JMS > > messages > > > seem to "stop" after a while, this would explain that as well. > > > > > > > > > Here is the code that tries to send some data to a jms queue, the last > > > > > line > > > is where it's hanging: > > > > > > InOnly exchange = client.createInOnlyExchange(); > > > NormalizedMessage message = exchange.getInMessage(); > > > message.setContent(new StreamSource(new StringReader(data))); > > > exchange.setService(jmsServiceQname); > > > client.send(exchange); > > > > > > Here is the stacktrace where it is hung: > > > > > > "Thread-13" daemon prio=6 tid=0x2925fd10 nid=0xae8 waiting on > > condition > > > [0x2f05e000..0x2f05fa18] > > > at sun.misc.Unsafe.park(Native Method) > > > at java.util.concurrent.locks.LockSupport.park(LockSupport.java > > > :118) > > > at > > > > > > > > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await > > > ( > > > AbstractQueuedSynchronizer.java:18 > > > 41) > > > at java.util.concurrent.ArrayBlockingQueue.put( > > > ArrayBlockingQueue.java:368) > > > at > > > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound( > > > DeliveryChannelImpl.java:663) > > > at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting( > > > AbstractFlow.java:170) > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting ( > > > SedaFlow.java:167) > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run( > > > SedaQueue.java:134) > > > at > > > > > java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy.rejectedExecution > > > ( > > > ThreadPoolExecutor.java:1455) > > > at java.util.concurrent.ThreadPoolExecutor.reject( > > > ThreadPoolExecutor.java:384) > > > at java.util.concurrent.ThreadPoolExecutor.execute( > > > ThreadPoolExecutor.java:867) > > > at org.apache.servicemix.executors.impl.ExecutorImpl.execute( > > > ExecutorImpl.java:43) > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue.enqueue( > > > SedaQueue.java:128) > > > at > > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.enqueuePacket( > > > SedaFlow.java:182) > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doSend( > > > SedaFlow.java :162) > > > at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send( > > > AbstractFlow.java:123) > > > at > > org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket( > > > DefaultBroker.java:283) > > > at > > > org.apache.servicemix.jbi.security.SecuredBroker.sendExchangePacket( > > > SecuredBroker.java:81) > > > at > > org.apache.servicemix.jbi.container.JBIContainer.sendExchange( > > > JBIContainer.java :830) > > > at > > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend( > > > DeliveryChannelImpl.java:395) > > > at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send > > ( > > > DeliveryChannelImpl.java :431) > > > at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange > > ( > > > BaseLifeCycle.java:58) > > > at > > > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound > > ( > > > DeliveryChannelImpl.java:610) > > > at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting( > > > AbstractFlow.java:170) > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting( > > > SedaFlow.java:167) > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run( > > > SedaQueue.java:134) > > > at > > > > > java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy.rejectedExecution > > > ( > > > ThreadPoolExecutor.java:1455) > > > at java.util.concurrent.ThreadPoolExecutor.reject( > > > ThreadPoolExecutor.java:384) > > > at java.util.concurrent.ThreadPoolExecutor.execute( > > > ThreadPoolExecutor.java:867) > > > at org.apache.servicemix.executors.impl.ExecutorImpl.execute( > > > ExecutorImpl.java:43) > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue.enqueue( > > > SedaQueue.java:128) > > > at > > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.enqueuePacket( > > > SedaFlow.java:182) > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doSend( > > > SedaFlow.java :162) > > > at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send( > > > AbstractFlow.java:123) > > > at > > org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket( > > > DefaultBroker.java:283) > > > at > > > org.apache.servicemix.jbi.security.SecuredBroker.sendExchangePacket( > > > SecuredBroker.java:81) > > > at > > org.apache.servicemix.jbi.container.JBIContainer.sendExchange( > > > JBIContainer.java :830) > > > at > > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend( > > > DeliveryChannelImpl.java:395) > > > at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send > > ( > > > DeliveryChannelImpl.java :431) > > > at org.apache.servicemix.client.DefaultServiceMixClient.send( > > > DefaultServiceMixClient.java:147) > > > > > > > > > > > -- > > Cheers, > > Guillaume Nodet > > ------------------------ > > Blog: http://gnodet.blogspot.com/ > > > >
