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

Re: [xmlblaster] persistant connection



Hi eClaire,
I see you now have a positive sessionId but I can see from the error message that you did not set the amount of retries to -1 (to ping indefenitely).
Are you invoking your code with:


java YourClass -retries -1 -session.name joe/2

?

Regards
Michele




eClaire wrote:
Hello,

thank you for your response ! I followed the instructions and it is the same
thing. Just after the login and the publishing i have this message:

WARN [MsgErrorHandler-/node/xmlBlaster_10_51_102_255_3412/client/madjonk/1]
Callback server is lost, killing login session of client
callback:/node/xmlBlaster_10_51_102_255_3412/client/madjonk/1:
XmlBlasterException errorCode=[communication.noConnection.dead]
serverSideException=true location=[CallbackCorbaDriver] message=[#1.0 CORBA
callback ping failed : org.omg.CORBA.TRANSIENT: Retries exceeded, couldn't
reconnect to 10.51.102.255:4136  vmcid: 0x0  minor code: 0  completed: No] [See
URL
http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#communication.noConnection.dead]

I've done this, like in the example...:

import org.xmlBlaster.client.I_ConnectionStateListener;
import org.xmlBlaster.util.dispatch.ConnectionStateEnum;
import org.xmlBlaster.client.I_XmlBlasterAccess;
...

con.registerConnectionListener(new I_ConnectionStateListener() {

     public void reachedAlive(ConnectionStateEnum oldState,
                              I_XmlBlasterAccess connection) {
        ConnectReturnQos conRetQos = connection.getConnectReturnQos();
        log.info(ME, "I_ConnectionStateListener: We were lucky, connected to "
+
           connection.getGlobal().getId() + " as " +
conRetQos.getSessionName());
        // we can access the queue via 'connection' and for example
        // erase the entries:
        //connection.getQueue().clear();
     }
     public void reachedPolling(ConnectionStateEnum oldState,
                                I_XmlBlasterAccess connection) {
        log.warn(ME, "I_ConnectionStateListener: No connection to " +
                 connection.getGlobal().getId() + ", we are polling ...");
     }
     public void reachedDead(ConnectionStateEnum oldState,
                             I_XmlBlasterAccess connection) {
        log.warn(ME, "I_ConnectionStateListener: Connection to " +
                 connection.getGlobal().getId() + " is DEAD");
     }
  });

ConnectReturnQos conRetQos = con.connect(qos, this);

log.info(ME, "Connected to xmlBlaster.");
...

xmlBlaster kills the connection just after the connection of my application. If
you have an idea...

Regards



On Mon, 28 Feb 2005 16:46:49 +0100, Michele <laghi at swissinfo.org> wrote:

Hi eClaire (is that your name ?)

setting the connection qos to 'true' means your session becomes
persistent but the connection is still not failsafe.

In order to keep the client connection when the server crashes you also
have to use failsafe settings and a positive sessionId. More about these:

http://www.xmlblaster.org/xmlBlaster/doc/requirements/client.failsafe.html

Kind regards
Michele


eClaire wrote:

I send a message yesterday but it didn't passed. Here it is:

Hello,


I have some problem with xmlBlaster. I want to set a persistent connection and xmlBlaster shutdown the server:

WARN [MsgErrorHandler-/node/xmlBlaster_10_51_102_255_3412/client/madjonk/-2]
Callback server is lost, killing login session of client
callback:/node/xmlBlaster_10_51_102_255_3412/client/madjonk/-2:
XmlBlasterException errorCode=[communication.noConnection.dead]
serverSideException=true location=[CallbackCorbaDriver] message=[#1.0 CORBA
callback ping failed : org.omg.CORBA.TRANSIENT: Retries exceeded, couldn't
reconnect to 10.51.102.255:3264  vmcid: 0x0  minor code: 0  completed: No] [See
URL
http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.errorcodes.listing.html#communication.noConnection.dead]

I wrote this :

ConnectQos qos = new ConnectQos(glob);
qos.setPersistent(true);
qos.setRefreshSession(true);

I have 2 applications A and B. B have to be always connected. Application A send
message to B , and B return some results.
But it does'nt work. I have always the error message from xmlBlaster. Maybe it
is the wrong command. if someone can help me it will be nice !

Regards.