XmlBlaster Logo

REQUIREMENT

interface.disconnect

XmlBlaster Logo


Type NEW
Priority HIGH
Status CLOSED
Topic Disconnecting from xmlBlaster
Des
cription

The disconnect() method allows to logout from xmlBlaster.

Method detail (CORBA IDL notation):

   typedef string XmlType;

   void disconnect(in string sessionId, in serverIdl::XmlType qos)
                      raises (serverIdl::XmlBlasterException);
      
ParameterTypeDescription
sessionIdstringThe sessionId you got on connect to authenticate yourself
qosstringThe XML encoded Quality of Service (QoS)
XmlBlasterExceptionexceptionThrown on error

Quality of service (QoS) features:

QoS Default Description Impl
clearSessions false Allows to kill all other login sessions of this user on logout yes
deleteSubjectQueue true Kills the subject queue when last session of a user logs out yes
Example
XML

Here is an example QoS:

<qos>
  <deleteSubjectQueue>true</deleteSubjectQueue>
  <clearSessions>false</clearSessions>

  <clientProperty name='shutdownDispatcher'>true</clientProperty>
  <clientProperty name='shutdownCbServer'>true</clientProperty>
  <clientProperty name='leaveServer'>false</clientProperty>
</qos>
   
Example
XmlRpc

This is the XmlRpc server interface variant:

   public String disconnect(final String sessionId, String qos_literal)
                            throws XmlBlasterException
      
Example
Java

A typical Java client code:

   import org.xmlBlaster.client.qos.DisconnectQos;
   ...

   DisconnectQos qos = new DisconnectQos(glob);

   qos.clearSessions(true);

   con.disconnect(qos);
      

The java client library has a client side tail back queue which queues messages if the connection to the server is unavailable. If a client queue contains entries the default behavior on disconnect is depending on the public session ID. If the client uses a login name with a specified public session ID the queue entries are kept so if the client reconnects later with the same public session ID the messages in the queue are sent. If the public session ID was arbitrary chosen by the xmlBlaster server the queue entries are discarded.
You can control this behavior with qos.clearClientQueue(true/false);

Configure
dispatch/connection/shutdownDispatcher  true/false
dispatch/connection/shutdownCbServer    true/false
dispatch/connection/leaveServer         true/false

NOTE: Configuration parameters are specified on command line (-someValue 17) or in the xmlBlaster.properties file (someValue=17). See requirement "util.property" for details.
Columns named Impl tells you if the feature is implemented.
Columns named Hot tells you if the configuration is changeable in hot operation.

See REQ interface
See API org.xmlBlaster.client.qos.DisconnectQos
See http://www.xmlBlaster.org/xmlBlaster/src/java/org/xmlBlaster/protocol/corba/xmlBlaster.idl

This page is generated from the requirement XML file xmlBlaster/doc/requirements/interface.disconnect.xml

Back to overview