|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.mortbay.cometd.BayeuxService
public abstract class BayeuxService
Abstract Bayeux Service class.
This is a base class to assist with the creation of server side
clients that provide services to remote Bayeux clients. The class provides
a Bayeux Client
and Listener
together with convenience methods to map
subscriptions to methods on the derived class and to send responses to those methods.
Constructor Summary | |
---|---|
BayeuxService(Bayeux bayeux,
String name)
Instantiate the service. |
Method Summary | |
---|---|
protected void |
exception(Client fromClient,
Client toClient,
Map<String,Object> msg,
Throwable th)
Handle Exception. |
Bayeux |
getBayeux()
|
Client |
getClient()
|
protected void |
send(Client toClient,
String onChannel,
Object data,
String id)
Send data to a individual client. |
protected void |
subscribe(String channelId,
String methodName)
Subscribe to a channel. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public BayeuxService(Bayeux bayeux, String name)
bayeux
- The bayeux instance.name
- The name of the service (used as client ID prefix).Method Detail |
---|
public Bayeux getBayeux()
public Client getClient()
protected void subscribe(String channelId, String methodName)
myMethod(Client fromClient,Object data)
myMethod(Client fromClient,Object data,String id)
myMethod(Client fromClient,String channel,Object data,String id)
Message
then
the message object itself is passed rather than just the data.
Typically a service will subscribe to a channel in the "/service/**" space which is not a broadcast channel. Messages published to these channels are only delivered to server side clients like this service.
Any object returned by a mapped subscription method is delivered to the
calling client and not broadcast. If the method returns void or null, then
no response is sent. A mapped subscription method may also call send(Client, String, Object, String)
to deliver a response message(s) to different clients and/or channels. It may
also publish methods via the normal Bayeux
API.
channelId
- The channel to subscribe tomethodName
- The name of the method on this object to call when messages are recieved.protected void send(Client toClient, String onChannel, Object data, String id)
Typcially this method is only required if a service method sends response(s) to channels other than the subscribed channel. If the response is to be sent to the subscribed channel, then the data can simply be returned from the subscription method.
toClient
- The target clientonChannel
- The channel the message is fordata
- The data of the messageid
- The id of the message (or null for a random id).protected void exception(Client fromClient, Client toClient, Map<String,Object> msg, Throwable th)
fromClient
- toClient
- msg
- th
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |