[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xmlblaster] RE: client not responding to sever pings??




Hi All,

Ignore the spam. I was compiling with an older version.

All the best 

Martin


>-----Original Message-----
>From: Martin Johnson [mailto:mjohnson at quickcut.com.au]
>Sent: Saturday, June 25, 2005 9:04 AM
>To: xmlblaster at server.xmlblaster.org
>Subject: client not responding to sever pings??
>
>
>Hi All,
>
>
>I'm trying to work through a troublesome networking evironment. Since
>logging is so verbose I have selectivly enabled in critical areas that
>I wish to trace for and have recompiled.
>
>Now having done so the client is no longer responding to server pings.
>Though pre built versions do so. Stepping through the code I can see
>why my build is not. Please see below.
>
>try { // Executor
>            super.initialize(this.sockCon.getGlobal(),
>this.callbackAddress, sock, null);
>    }
>
>The snippet above is from SocketCallbackImpl the clue is last
>parameter being a null.
>The snippet below is from Executor it is the code that runs when the
>client recv's a PING request for the server. The clue here is
>xmlBlasterImpl this is set to null by the
>above snippet. Therefore the response to the server ping is never
>excuted. Where/How does the client respond to the server pings. As far
>as I can see this is the only place that initializes the
>xmlBlasterImpl member var.
>
>else if (MethodName.PING == receiver.getMethodName()) {
>            MsgUnitRaw[] arr = receiver.getMessageArr();
>            if (this.cbClient == null && !glob.isServerSide()) {
>               XmlBlasterException xmlBlasterException = new 
>XmlBlasterException(glob, 
>ErrorCode.COMMUNICATION_NOCONNECTION_CALLBACKSERVER_NOTAVAILABLE, 
>ME, "No SOCKET callback driver is available, can't process the 
>remote invocation.");
>               executeException(receiver, xmlBlasterException);
>               return true;
>            }
>            if (xmlBlasterImpl != null) { <<<<<  how does it 
>respond to ping.
>               String response =
>			
>xmlBlasterImpl.ping(/*receiver.getSecretSessionId(),*/ 
>(arr.length>0)? arr[0].getQos() : "<qos/>");
>               executeResponse(receiver, response); 
>//Constants.RET_OK="<qos><state id='OK'/></qos>" or current run level
>            }
>         }
>
>
>WorkerThread t = new WorkerThread(glob, this, receiver); runs whenever
>a recv.isInvoke detected.
>
>XmlBlaster rocks.
>
>Regards
>
>Martin