xmlBlaster 2.1.0 API

org.xmlBlaster.protocol.rmi
Class CallbackRmiDriver

java.lang.Object
  extended by org.xmlBlaster.protocol.rmi.CallbackRmiDriver
All Implemented Interfaces:
I_CallbackDriver, I_Plugin

public class CallbackRmiDriver
extends java.lang.Object
implements I_CallbackDriver

This object sends a MsgUnitRaw back to a client using RMI.

The BlasterCallback.update() method of the client will be invoked

This callback rmi client can be used independent from the RmiDriver.

Your client needs to have a callback server implementing interface I_XmlBlasterCallback running and registered with rmi-registry.

Author:
Marcel Ruff.

Field Summary
private  CallbackAddress callbackAddress
           
private  I_XmlBlasterCallback cb
           
private  Global glob
           
private static java.util.logging.Logger log
           
private  java.lang.String ME
           
 
Constructor Summary
CallbackRmiDriver()
           
 
Method Summary
private  I_XmlBlasterCallback getCb()
           
 java.lang.String getName()
          Get a human readable name of this driver
 java.lang.String getProtocolId()
          Access the xmlBlaster internal name of the protocol driver.
 java.lang.String getRawAddress()
          Get the address how to access this driver.
 java.lang.String getType()
          Enforced by I_Plugin
 java.lang.String getVersion()
          Enforced by I_Plugin
 void init(Global glob, CallbackAddress callbackAddress)
          Get callback reference here.
 void init(Global glob, PluginInfo pluginInfo)
          This method is called by the PluginManager (enforced by I_Plugin).
 boolean isAlive()
           
 java.lang.String ping(java.lang.String qos)
          Ping to check if callback server is alive.
 I_ProgressListener registerProgressListener(I_ProgressListener listener)
          Register a listener for to receive information about the progress of incoming data.
 java.lang.String[] sendUpdate(MsgUnitRaw[] msgArr)
          This sends the update to the client.
 void sendUpdateOneway(MsgUnitRaw[] msgArr)
          The oneway variant, without return value.
 void shutdown()
          This method shuts down the driver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ME

private java.lang.String ME

cb

private I_XmlBlasterCallback cb

callbackAddress

private CallbackAddress callbackAddress

glob

private Global glob

log

private static java.util.logging.Logger log
Constructor Detail

CallbackRmiDriver

public CallbackRmiDriver()
Method Detail

getName

public java.lang.String getName()
Get a human readable name of this driver

Specified by:
getName in interface I_CallbackDriver

getProtocolId

public java.lang.String getProtocolId()
Access the xmlBlaster internal name of the protocol driver.

Specified by:
getProtocolId in interface I_CallbackDriver
Returns:
"RMI"

getType

public java.lang.String getType()
Enforced by I_Plugin

Specified by:
getType in interface I_Plugin

getVersion

public java.lang.String getVersion()
Enforced by I_Plugin

Specified by:
getVersion in interface I_Plugin

init

public void init(Global glob,
                 PluginInfo pluginInfo)
This method is called by the PluginManager (enforced by I_Plugin).

Specified by:
init in interface I_Plugin
See Also:
I_Plugin.init(org.xmlBlaster.util.Global,org.xmlBlaster.util.plugin.PluginInfo)

getRawAddress

public java.lang.String getRawAddress()
Get the address how to access this driver.

Specified by:
getRawAddress in interface I_CallbackDriver
Returns:
"rmi://www.mars.universe:1099/I_AuthServer"

init

public void init(Global glob,
                 CallbackAddress callbackAddress)
          throws XmlBlasterException
Get callback reference here.

Specified by:
init in interface I_CallbackDriver
Parameters:
callbackAddress - Contains the rmi registry name of the client callback server
Throws:
XmlBlasterException

getCb

private I_XmlBlasterCallback getCb()
                            throws XmlBlasterException
Throws:
XmlBlasterException

sendUpdate

public final java.lang.String[] sendUpdate(MsgUnitRaw[] msgArr)
                                    throws XmlBlasterException
This sends the update to the client.

Specified by:
sendUpdate in interface I_CallbackDriver
Parameters:
msgArr - Array of all messages to send, is guaranteed to never be null
Returns:
Clients should return a qos as follows. An empty qos string "" is valid as well and interpreted as OK
  <qos>
     <state id='OK'/>  <!-- Client processing state OK | ERROR ... see Constants.java -->
  </qos>
 
Throws:
Exceptions - thrown from client are re thrown as ErrorCode.USER*
XmlBlasterException

sendUpdateOneway

public void sendUpdateOneway(MsgUnitRaw[] msgArr)
                      throws XmlBlasterException
The oneway variant, without return value.

Specified by:
sendUpdateOneway in interface I_CallbackDriver
Parameters:
msgArr - Array of all messages to send, is guaranteed to never be null
Throws:
XmlBlasterException - Is never from the client (oneway).

ping

public final java.lang.String ping(java.lang.String qos)
                            throws XmlBlasterException
Ping to check if callback server is alive. This ping checks the availability on the application level.

Specified by:
ping in interface I_CallbackDriver
Parameters:
qos - Currently an empty string ""
Returns:
Currently an empty string ""
Throws:
XmlBlasterException - If client not reachable
See Also:
org.xmlBlaster.protocol.I_XmlBlaster#ping(String)

registerProgressListener

public I_ProgressListener registerProgressListener(I_ProgressListener listener)
Description copied from interface: I_CallbackDriver
Register a listener for to receive information about the progress of incoming data. Only one listener is supported, the last call overwrites older calls.

Specified by:
registerProgressListener in interface I_CallbackDriver
Parameters:
listener - Your listener, pass 0 to unregister.
Returns:
The previously registered listener or 0

shutdown

public void shutdown()
This method shuts down the driver.

Specified by:
shutdown in interface I_Plugin

isAlive

public boolean isAlive()
Specified by:
isAlive in interface I_CallbackDriver
Returns:
true if the plugin is still alive, false otherwise

xmlBlaster 2.1.0 API

Copyright © 1999-2011 The xmlBlaster.org contributers.