[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[xmlblaster] NPE in ClientSubscriptions.getSubscriptionByOid
Hi,
I'm using XMLBlaster 0.80. I'm getting a NPE in
ClientSubscriptions.getSubscriptionByOid...
[Oct 18, 2002 4:44:50 PM ERROR
CbWorker-/node/http:10.0.1.157:3412/client/guest/3] Unexpected
exception: java.lang.NullPointerException
java.lang.NullPointerException
at
org.xmlBlaster.engine.ClientSubscriptions.getSubscriptionByOid(ClientSubscriptions.java:210)
at
org.xmlBlaster.engine.ClientSubscriptions.messageErase(ClientSubscriptions.java:285)
at
org.xmlBlaster.engine.RequestBroker.fireMessageEraseEvent(RequestBroker.java:1669)
at
org.xmlBlaster.engine.RequestBroker.eraseVolatile(RequestBroker.java:1318)
at
org.xmlBlaster.engine.queue.MsgQueue.checkForVolatileErase(MsgQueue.java:212)
at org.xmlBlaster.engine.callback.CbWorker.run(CbWorker.java:61)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:728)
at java.lang.Thread.run(Thread.java:498)
All of my subscriptions are XPATH based, rather than OID based.. For
example:
SubscribeKeyWrapper subscribeKey = new
SubscribeKeyWrapper(
"//service[.=\""+EventQueueConstants.SERVICE_TEMPLATE_PARSE+"\" and "+
"../type[.=\""+EventQueueConstants.TYPE_RESPONSE+"\"
and "+
"../id[.=\""+ eventQueueId+"\"]]]","XPATH");
I'm using primarily volatile messages. I see the NPE while the sweeper
thread (for volatile messages) appears to be running.
I'm going to attach a dump of the xmlblaster state. I *DO* notice that
even during a dump xmlblaster complains about the "Can't determine key
oid" (See the top of the dump).
I'm obviously doing something wrong here... Insights appreciated :-)
Russ
PS. For what it's worth, it a linux debian woody environment with and
IBM jdk 1.3 JVM (server & client).
INFO [MainGUI] Dump start
WARN [XmlKey] Can't determine key oid
WARN [XmlKey] Can't determine key oid
WARN [XmlKey] Can't determine key oid
WARN [XmlKey] Can't determine key oid
WARN [XmlKey] Can't determine key oid
DUMP [MainGUI]
<Authenticate>
<SubjectInfo id='3' subjectId='guest'>
<loginName>guest</loginName>
<MsgQueue name='/node/http:10.0.1.157:3412/client/guest' currMsgs='0' numSent='0'>
<!-- QueuePropertyBase -->
<queue relating='subject'>
<callback type='SOCKET' hostname='10.0.1.157'>
127.0.0.1:57615
</callback>
</queue>
<CbManager>
<guest />
</CbManager>
<cbWorkerIsActive>false</cbWorkerIsActive>
</MsgQueue>
<SessionInfo id='3' sessionId='sessionId:10.0.1.157-null-1034973454169--535391047-3' publicSessionId='3'>
<MsgQueue name='/node/http:10.0.1.157:3412/client/guest/3' currMsgs='0' numSent='7'>
<!-- QueuePropertyBase -->
<queue relating='session'>
<callback type='SOCKET' hostname='10.0.1.157'>
127.0.0.1:57615
</callback>
</queue>
<CbManager>
<guest />
</CbManager>
<cbWorkerIsActive>false</cbWorkerIsActive>
</MsgQueue>
</SessionInfo>
</SubjectInfo>
<SubjectInfo id='1' subjectId='__sys__jdbc'>
<loginName>__sys__jdbc</loginName>
<MsgQueue name='/node/http:10.0.1.157:3412/client/__sys__jdbc' currMsgs='0' numSent='0'>
<!-- QueuePropertyBase -->
<queue relating='subject'>
<callback type='JDBC' hostname='10.0.1.157'>
org.xmlBlaster.protocol.jdbc.CallbackJdbcDriver
</callback>
</queue>
<CbManager>
<CallbackJdbcDriver />
</CbManager>
<cbWorkerIsActive>false</cbWorkerIsActive>
</MsgQueue>
<SessionInfo id='1' sessionId='sessionId:10.0.1.157-null-1034973092272--1821543679-2' publicSessionId='1'>
<MsgQueue name='/node/http:10.0.1.157:3412/client/__sys__jdbc/1' currMsgs='0' numSent='0'>
<!-- QueuePropertyBase -->
<queue relating='session'>
<callback type='JDBC' hostname='10.0.1.157'>
org.xmlBlaster.protocol.jdbc.CallbackJdbcDriver
</callback>
</queue>
<CbManager>
<CallbackJdbcDriver />
</CbManager>
<cbWorkerIsActive>false</cbWorkerIsActive>
</MsgQueue>
</SessionInfo>
</SubjectInfo>
</Authenticate>
<RequestBroker>
<MessageUnitHandler>
<uniqueKey>__sys__Login</uniqueKey>
<MessageUnitWrapper>
<uniqueKey>__sys__Login</uniqueKey>
<qos> <!-- PublishQos -->
<Pub_Sub_style />
<sender>__RequestBroker_internal[http://10.0.1.157:3412]</sender>
<rcvTimestamp nanos='1034973090662000000'/>
</qos>
<content>[B at b8a8089</content>
</MessageUnitWrapper>
<SubscriptionInfo>NO SUBSCRIPTIONS</SubscriptionInfo>
<handlerIsNewCreated>false</handlerIsNewCreated>
</MessageUnitHandler>
<MessageUnitHandler>
<uniqueKey>__sys__Logout</uniqueKey>
<MessageUnitWrapper>
<uniqueKey>__sys__Logout</uniqueKey>
<qos> <!-- PublishQos -->
<Pub_Sub_style />
<sender>__RequestBroker_internal[http://10.0.1.157:3412]</sender>
<rcvTimestamp nanos='1034973090830000000'/>
</qos>
<content>[B at 13ea8089</content>
</MessageUnitWrapper>
<SubscriptionInfo>NO SUBSCRIPTIONS</SubscriptionInfo>
<handlerIsNewCreated>false</handlerIsNewCreated>
</MessageUnitHandler>
<MessageUnitHandler>
<uniqueKey>http_10_0_1_157_3412-1034973887702-10</uniqueKey>
<MessageUnitWrapper>
<uniqueKey>http_10_0_1_157_3412-1034973887702-10</uniqueKey>
<qos> <!-- PublishQos -->
<Pub_Sub_style />
<sender>guest</sender>
<rcvTimestamp nanos='1034973887701000000'/>
<route>
<node id='http://10.0.1.157:3412' stratum='0' timestamp='1034973887701000000' dirtyRead='false'/>
</route>
</qos>
<content>[B at 682cc089</content>
</MessageUnitWrapper>
<SubscriptionInfo id='__subId:XPATH4:12/>
<handlerIsNewCreated>false</handlerIsNewCreated>
</MessageUnitHandler>
<MessageUnitHandler>
<uniqueKey>__sys__UserList</uniqueKey>
<MessageUnitWrapper>
<uniqueKey>__sys__UserList</uniqueKey>
<qos> <!-- PublishQos -->
<Pub_Sub_style />
<sender>guest</sender>
<rcvTimestamp nanos='1034973454176000000'/>
<route>
<node id='http://10.0.1.157:3412' stratum='0' timestamp='1034973454176000000' dirtyRead='false'/>
</route>
</qos>
<content>[B at bde4089</content>
</MessageUnitWrapper>
<SubscriptionInfo>NO SUBSCRIPTIONS</SubscriptionInfo>
<handlerIsNewCreated>false</handlerIsNewCreated>
</MessageUnitHandler>
<MessageUnitHandler>
<uniqueKey>http_10_0_1_157_3412-1034973456285-6</uniqueKey>
<MessageUnitWrapper>
<uniqueKey>http_10_0_1_157_3412-1034973456285-6</uniqueKey>
<qos> <!-- PublishQos -->
<Pub_Sub_style />
<sender>guest</sender>
<rcvTimestamp nanos='1034973456284000000'/>
<route>
<node id='http://10.0.1.157:3412' stratum='0' timestamp='1034973456284000000' dirtyRead='false'/>
</route>
</qos>
<content>[B at 7b22008b</content>
</MessageUnitWrapper>
<SubscriptionInfo id='__subId:XPATH4:7/>
<handlerIsNewCreated>false</handlerIsNewCreated>
</MessageUnitHandler>
<BigXmlKeyDOM>
<?xml version="1.0" encoding="UTF-8"?>
<xmlBlaster>
<key oid="__sys__Login" contentMime="text/plain">
</key>
<key oid="__sys__UserList" contentMime="text/plain">
<__sys__internal>
</__sys__internal>
</key>
<key oid="__sys__Logout" contentMime="text/plain">
</key>
<key oid="http_10_0_1_157_3412-1034973456285-6" contentMime="text/xml">
<service>template</service>
<type>request</type>
<id>69</id>
</key>
<key oid="http_10_0_1_157_3412-1034973887702-10" contentMime="text/xml">
<service>template</service>
<type>request</type>
<id>70</id>
</key>
</xmlBlaster>
</BigXmlKeyDOM>
<ClientSubscriptions>
<ExactSubscriptions>
</ExactSubscriptions>
<XPathSubscriptions>
<SubscriptionInfo id='__subId:XPATH11'>
<msgQueue id='/node/http:10.0.1.157:3412/client/guest/3'/>
<XmlKey oid='null' contentMime='null' contentMimeExtended='null' domain='null' queryType='XPATH'>
<queryString>//service[.="template" and ../type[.="response" and ../id[.="70"]]]</queryString>
<keyType>0</keyType>
<isGeneratedOid>true</isGeneratedOid>
<isPublish>false</isPublish>
<isInternalMsg>false</isInternalMsg>
<XmlToDom>
<key queryType="XPATH">
//service[.="template" and ../type[.="response" and ../id[.="70"]]]
</key>
</XmlToDom>
</XmlKey>
<qos> <!-- SubscribeQos -->
<!-- QueuePropertyBase -->
<queue relating='session'/>
</qos>
<UnSubscribeQos></UnSubscribeQos>
<msgUnitHandler id='null'/>
<creationTime>Oct 18, 2002 4:44:47 PM</creationTime>
</SubscriptionInfo>
<SubscriptionInfo id='__subId:XPATH4'>
<msgQueue id='/node/http:10.0.1.157:3412/client/guest/3'/>
<XmlKey oid='null' contentMime='null' contentMimeExtended='null' domain='null' queryType='XPATH'>
<queryString>//service[.="template" and ../type[.="request"]]</queryString>
<keyType>0</keyType>
<isGeneratedOid>true</isGeneratedOid>
<isPublish>false</isPublish>
<isInternalMsg>false</isInternalMsg>
<XmlToDom>
<key queryType="XPATH">
//service[.="template" and ../type[.="request"]]
</key>
</XmlToDom>
</XmlKey>
<qos> <!-- SubscribeQos -->
<!-- QueuePropertyBase -->
<queue relating='session'/>
</qos>
<UnSubscribeQos></UnSubscribeQos>
<msgUnitHandler id='null'/>
<creationTime>Oct 18, 2002 4:37:35 PM</creationTime>
<child>__subId:XPATH4:7</child>
<child>__subId:XPATH4:12</child>
</SubscriptionInfo>
<SubscriptionInfo id='__subId:XPATH5'>
<msgQueue id='/node/http:10.0.1.157:3412/client/guest/3'/>
<XmlKey oid='null' contentMime='null' contentMimeExtended='null' domain='null' queryType='XPATH'>
<queryString>//type[.="response"]</queryString>
<keyType>0</keyType>
<isGeneratedOid>true</isGeneratedOid>
<isPublish>false</isPublish>
<isInternalMsg>false</isInternalMsg>
<XmlToDom>
<key queryType="XPATH">
//type[.="response"]
</key>
</XmlToDom>
</XmlKey>
<qos> <!-- SubscribeQos -->
<!-- QueuePropertyBase -->
<queue relating='session'/>
</qos>
<UnSubscribeQos></UnSubscribeQos>
<msgUnitHandler id='null'/>
<creationTime>Oct 18, 2002 4:37:35 PM</creationTime>
</SubscriptionInfo>
<SubscriptionInfo id='__subId:XPATH3'>
<msgQueue id='/node/http:10.0.1.157:3412/client/guest/3'/>
<XmlKey oid='null' contentMime='null' contentMimeExtended='null' domain='null' queryType='XPATH'>
<queryString>//service[.="email" and ../type[.="request"]]</queryString>
<keyType>0</keyType>
<isGeneratedOid>true</isGeneratedOid>
<isPublish>false</isPublish>
<isInternalMsg>false</isInternalMsg>
<XmlToDom>
<key queryType="XPATH">
//service[.="email" and ../type[.="request"]]
</key>
</XmlToDom>
</XmlKey>
<qos> <!-- SubscribeQos -->
<!-- QueuePropertyBase -->
<queue relating='session'/>
</qos>
<UnSubscribeQos></UnSubscribeQos>
<msgUnitHandler id='null'/>
<creationTime>Oct 18, 2002 4:37:35 PM</creationTime>
</SubscriptionInfo>
<SubscriptionInfo id='__subId:XPATH2'>
<msgQueue id='/node/http:10.0.1.157:3412/client/guest/3'/>
<XmlKey oid='null' contentMime='null' contentMimeExtended='null' domain='null' queryType='XPATH'>
<queryString>//service[.="edserver" and ../type[.="request"]]</queryString>
<keyType>0</keyType>
<isGeneratedOid>true</isGeneratedOid>
<isPublish>false</isPublish>
<isInternalMsg>false</isInternalMsg>
<XmlToDom>
<key queryType="XPATH">
//service[.="edserver" and ../type[.="request"]]
</key>
</XmlToDom>
</XmlKey>
<qos> <!-- SubscribeQos -->
<!-- QueuePropertyBase -->
<queue relating='session'/>
</qos>
<UnSubscribeQos></UnSubscribeQos>
<msgUnitHandler id='null'/>
<creationTime>Oct 18, 2002 4:37:34 PM</creationTime>
</SubscriptionInfo>
</XPathSubscriptions>
</ClientSubscriptions>
<clusterManager>
<clusternode id='http://10.0.1.157:3412'>
<info>
<address type='IOR'>
IOR:000000000000004149444c3a6f72672e786d6c426c61737465722e70726f746f636f6c2e636f7262612f61757468656e74696361746549646c2f417574685365727665723a312e3000000000000000030000000000000037000100000000000b31302e302e312e3135370000e0f500000000001b5374616e64617264496d706c4e616d652f001103470f011f152a0000000000000000003c000101000000000b31302e302e312e3135370000e0f500000000001b5374616e64617264496d706c4e616d652f001103470f011f152a000000000000000000010000002c0000000000000001000000010000001c00000000000100010000000105010001000101090000000105010001
</address>
<address type='RMI'>
rmi://blade:0/I_AuthServer
</address>
<address type='SOCKET'>
0.0.0.0:7607
</address>
<address type='XML-RPC'>
http://blade:10000/
</address>
</info>
<state>
</state>
</clusternode>
</clusterManager>
</RequestBroker>
INFO [MainGUI] Dump end