Hi,

I have an activemq 4 (snapshot march 23rd). I am launching a durable topic consumer in Spring using lingo. The first time I run the client on the active broker, all works just fine. I shutdown both processes (the broker and the consumer), and I restart them both. Then, I get an exception in both that says that the durable subscription is already active.

1- Is this a normal behavior? Is it a bug?

2- How can I "reset" activemq? Where does it persist this state information by default? I want to run a clean activemq.

Here is my config
:
<bean id="someService" class="org.logicblaze.lingo.jms.JmsServiceExporter">
   <property name="service" ref="someServiceImpl"/>
   <property name="serviceInterface" value="com.someCompany.SomeService"/>
   <property name="connectionFactory" ref="jmsFactory"/>
   <property name="destination" ref="someServiceTopic"/>
<property name="invocationFactory" ref="invocationFactory"/> <property name="clientID" value="someService-consumer1"/>
   <property name="subscriberName" value="someService-consumer1"/>
 </bean>

And the exception:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException:
 Error creating bean with name 'someService' defined in
 class path resource [com/someCompany/server-applicationContext.xml]:
Invocation of init method failed; nested exception is javax.jms.JMSException:
 That durable subscription is already active.
javax.jms.JMSException: That durable subscription is already active.
at org.apache.activemq.broker.region.TopicRegion.createSubscription(Topi
cRegion.java:205)
at org.apache.activemq.broker.jmx.ManagedTopicRegion.createSubscription(
ManagedTopicRegion.java:44)
at org.apache.activemq.broker.region.TopicRegion.createDestination(Topic
Region.java:170)
at org.apache.activemq.broker.jmx.ManagedTopicRegion.createDestination(M
anagedTopicRegion.java:56)
at org.apache.activemq.broker.region.AbstractRegion.addDestination(Abstr
actRegion.java:76)
at org.apache.activemq.broker.region.RegionBroker.addDestination(RegionB
roker.java:194)
at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.j
ava:124)
at org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBr
oker.java:139)
at org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.j
ava:124)
at org.apache.activemq.broker.MutableBrokerFilter.addDestination(Mutable
BrokerFilter.java:136)
at org.apache.activemq.broker.region.AbstractRegion.lookup(AbstractRegio
n.java:215)
at org.apache.activemq.broker.region.TopicRegion.addConsumer(TopicRegion
.java:66)
at org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBrok
er.java:261)
at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java
:68)
at org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroke
r.java:75)
at org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java
:68)
at org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBro
kerFilter.java:80)
at org.apache.activemq.broker.AbstractConnection.processAddConsumer(Abst
ractConnection.java:422)
at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:291)

at org.apache.activemq.broker.AbstractConnection.service(AbstractConnect
ion.java:196)
at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportC
onnection.java:62)
at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCo
rrelator.java:88)
at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilt
er.java:70)
at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireForm
atNegotiator.java:114)
at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityM
onitor.java:122)
at org.apache.activemq.transport.TransportSupport.doConsume(TransportSup
port.java:87)
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
136)
       at java.lang.Thread.run(Thread.java:595)

Reply via email to