thanks Bill!
On Jan 2, 2008, at 8:08 AM, bill richard wrote:


Thanks!
i modified the org.apache.activemq.store.kahadaptor.KahaTopicReferenceStore
removeSubscriberMessageContainer(String clientId,
                        String subscriptionName) throws IOException
to
protected void removeSubscriberMessageContainer(String clientId,
                        String subscriptionName) throws IOException {
String subscriberKey = getSubscriptionKey(clientId, subscriptionName);
                String containerName = 
getSubscriptionContainerName(subscriberKey);
                subscriberContainer.remove(subscriberKey);
TopicSubContainer container = subscriberMessages.remove(subscriberKey);
                if (container != null){
                        for (Iterator i = container.iterator(); i.hasNext();) {
                                ConsumerMessageRef ref = (ConsumerMessageRef) 
i.next();
                                if (ref != null) {
                                        TopicSubAck tsa = 
ackContainer.get(ref.getAckEntry());
                                        if (tsa != null) {
                                                if (tsa.decrementCount() <= 0) {
                                                        
ackContainer.remove(ref.getAckEntry());
                                                        
messageContainer.remove(tsa.getMessageEntry());
                                                } else {
                                                        
ackContainer.update(ref.getAckEntry(), tsa);
                                                }
                                        }
                                }
                        }
                }
                store.deleteMapContainer(containerName);
        }

it seems work for me!
And i also reported this:
https://issues.apache.org/activemq/browse/AMQ-1533


rajdavies wrote:

Hi Bill,

this is obviously a bug - could raise an issue on
http://issues.apache.org/activemq/browse/AMQ

thanks,

Rob

On Jan 2, 2008, at 2:27 AM, bill richard wrote:


can anyone give me some hint?why this exception was thrown?


bill richard wrote:

[EMAIL PROTECTED] msgclient]$ javax.jms.JMSException:
java.lang.NullPointerException
      at
org
.apache
.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:
49)
      at
org
.apache
.activemq .ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:
1178)
      at
org
.apache
.activemq.ActiveMQConnection.unsubscribe(ActiveMQConnection.java:
1921)
      at
org
.apache.activemq.ActiveMQSession.unsubscribe(ActiveMQSession.java:
1417)
      at
org
.apache
.activemq
.ActiveMQTopicSession.unsubscribe(ActiveMQTopicSession.java:380)
      at
org
.gos .common.msg.controller.MessageConsumerWrapper.unSubScribe(Unknown
Source)
at org.gos.system.msg.helpper.UnsubMessage.unSubscribe(Unknown
Source)
      at org.gos.system.msg.helpper.UnsubMessage.main(Unknown
Source)
Caused by: java.lang.NullPointerException
      at
org
.apache
.activemq
.store
.kahadaptor
.KahaTopicReferenceStore
.removeSubscriberMessageContainer(KahaTopicReferenceStore.java:304)
      at
org
.apache
.activemq
.store
.kahadaptor
.KahaTopicReferenceStore
.deleteSubscription(KahaTopicReferenceStore.java:217)
      at
org
.apache
.activemq
.store
.amq
.AMQTopicMessageStore.deleteSubscription(AMQTopicMessageStore.java:
178)
      at
org
.apache.activemq.broker.region.Topic.deleteSubscription(Topic.java:
179)
      at
org
.apache
.activemq
.broker.region.TopicRegion.removeSubscription(TopicRegion.java:137)
      at
org
.apache
.activemq
.broker.region.RegionBroker.removeSubscription(RegionBroker.java: 372)
      at
org
.apache
.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:
97)
      at
org
.apache
.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:
97)
      at
org
.apache
.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:
97)
      at
org
.apache
.activemq
.broker
.MutableBrokerFilter.removeSubscription(MutableBrokerFilter.java: 107)
      at
org
.apache
.activemq
.broker
.TransportConnection
.processRemoveSubscription(TransportConnection.java:315)
      at
org
.apache
.activemq
.command.RemoveSubscriptionInfo.visit(RemoveSubscriptionInfo.java: 83)
      at
org
.apache
.activemq
.broker.TransportConnection.service(TransportConnection.java:281)
      at
org.apache.activemq.broker.TransportConnection
$1.onCommand(TransportConnection.java:178)
      at
org
.apache
.activemq.transport.TransportFilter.onCommand(TransportFilter.java:
67)
      at
org
.apache
.activemq
.transport .WireFormatNegotiator.onCommand(WireFormatNegotiator.java:
134)
      at
org
.apache
.activemq
.transport.InactivityMonitor.onCommand(InactivityMonitor.java:138)
      at
org
.apache
.activemq
.transport.TransportSupport.doConsume(TransportSupport.java:83)
      at
org
.apache .activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:
185)
      at
org
.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
172)
      at java.lang.Thread.run(Thread.java:595)
javax.jms.InvalidDestinationException: No durable subscription
exists for:
10.61.0.200:3808011111messageproxy-hpcg.MsgClientTopicTest
      at
org
.apache
.activemq
.broker.region.TopicRegion.removeSubscription(TopicRegion.java:128)
      at
org
.apache
.activemq
.broker.region.RegionBroker.removeSubscription(RegionBroker.java: 372)
      at
org
.apache
.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:
97)
      at
org
.apache
.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:
97)
      at
org
.apache
.activemq.broker.BrokerFilter.removeSubscription(BrokerFilter.java:
97)
      at
org
.apache
.activemq
.broker
.MutableBrokerFilter.removeSubscription(MutableBrokerFilter.java: 107)
      at
org
.apache
.activemq
.broker
.TransportConnection
.processRemoveSubscription(TransportConnection.java:315)
      at
org
.apache
.activemq
.command.RemoveSubscriptionInfo.visit(RemoveSubscriptionInfo.java: 83)
      at
org
.apache
.activemq
.broker.TransportConnection.service(TransportConnection.java:281)
      at
org.apache.activemq.broker.TransportConnection
$1.onCommand(TransportConnection.java:178)
      at
org
.apache
.activemq.transport.TransportFilter.onCommand(TransportFilter.java:
67)
      at
org
.apache
.activemq
.transport .WireFormatNegotiator.onCommand(WireFormatNegotiator.java:
134)
      at
org
.apache
.activemq
.transport.InactivityMonitor.onCommand(InactivityMonitor.java:138)
      at
org
.apache
.activemq
.transport.TransportSupport.doConsume(TransportSupport.java:83)
      at
org
.apache .activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:
185)
      at
org
.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
172)
      at java.lang.Thread.run(Thread.java:595)



--
View this message in context:
http://www.nabble.com/unsubscribe-unsuccess%21%21-tp14546901s2354p14572729.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.





--
View this message in context: 
http://www.nabble.com/unsubscribe-unsuccess%21%21-tp14546901s2354p14574838.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Reply via email to