[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