CallbackAddress callback = new CallbackAddress(glob);
callback.setPingInterval(1000);
qos.addCallbackAddress(callback);
SessionQos sessionQos = qos.getSessionQos();
sessionQos.setMaxSessions(1);
sessionQos.setReconnectSameClientOnly(true);
this.con.connect(qos, this);
}
catch (Exception e) {
Thread.dumpStack();
fail(ME+": Can't connect to xmlBlaster: " + e.toString());
}
try {
log.info("Connecting other ...");
Global glob2 = glob.getClone(null);
I_XmlBlasterAccess con2 = glob2.getXmlBlasterAccess();
// Activate plugin for callback only:
ConnectQos qos = new ConnectQos(glob2, "JOE/1", "secret");
SessionQos sessionQos = qos.getSessionQos();
sessionQos.setMaxSessions(1);
sessionQos.setReconnectSameClientOnly(true);
con2.connect(qos, this);
fail(ME+": Reconnect to xmlBlaster should not be possible");
}
catch (XmlBlasterException e) {
log.info("SUCCESS, reconnect is not possible: " + e.getMessage());
}
// boolean isSocket = Client
// boolean isRpc = (this.con.getCbServer() instanceof XmlRpcCallbackImpl);
try {
Client.shutdownCb(con, Client.Shutdown.LEAVE_SERVER);
}
catch (XmlBlasterException e) {
fail("Can't setup test: " + e.getMessage());
}
try { Thread.sleep(2000); } catch( InterruptedException i) {} // Wait
try {
log.info("Connecting other ...");
Global glob2 = glob.getClone(null);
I_XmlBlasterAccess con2 = glob2.getXmlBlasterAccess();
// Activate plugin for callback only:
ConnectQos qos = new ConnectQos(glob2, "JOE/1", "secret");
SessionQos sessionQos = qos.getSessionQos();
sessionQos.setMaxSessions(1);
sessionQos.setReconnectSameClientOnly(true);
con2.connect(qos, this);
log.info("SUCCESS, reconnect is OK after first session died");
}
catch (XmlBlasterException e) {
fail(ME + ": Reconnect should now be possible: " + e.getMessage());