|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jgroups.mux.Multiplexer
public class Multiplexer
The multiplexer allows multiple channel interfaces to be associated with one underlying instance of JChannel.
The multiplexer is essentially a building block residing on top of a JChannel providing multiplexing functionality to N instances of MuxChannel. Since MuxChannel extends the JGroups JChannel class, user applications are completely unaware of this change in the underlying plumbing.
Each JGroups application sharing a channel through a multiplexer has to create a MuxChannel with a unique application id. The multiplexer keeps track of all registered applications and tags messages belonging to a specific application with that id for sent messages. When receiving a message from a remote peer, the multiplexer will dispatch a message to the appropriate MuxChannel depending on the id attached to the message.
MuxChannel,
Channel| Constructor Summary | |
|---|---|
Multiplexer(JChannel channel)
|
|
| Method Summary | |
|---|---|
void |
addServiceIfNotPresent(java.lang.String id,
MuxChannel ch)
|
boolean |
close()
|
void |
closeAll()
|
void |
connect(java.lang.String cluster_name)
|
Channel |
createMuxChannel(java.lang.String id,
java.lang.String stack_name)
|
protected java.util.concurrent.ThreadPoolExecutor |
createThreadPool()
|
void |
disconnect()
Closes the underlying JChannel if all MuxChannels have been disconnected |
boolean |
flushSupported()
|
java.util.Set |
getApplicationIds()
Deprecated. Use ${link #getServiceIds()} instead |
JChannel |
getChannel()
|
Address |
getLocalAddress()
|
java.util.Set<java.lang.String> |
getServiceIds()
|
long |
getServicesResponseTimeout()
|
View |
getServiceView(java.lang.String service_id)
Returns a copy of the current view minus the nodes on which service service_id is not running |
boolean |
getState(Address target,
java.lang.String id,
long timeout)
|
Address |
getStateProvider(Address preferredTarget,
java.lang.String service_id)
Returns an Address of a state provider for a given service_id. |
boolean |
isConnected()
|
boolean |
isOpen()
Determines whether the channel is open; i.e., the protocol stack has been created (may not be connected though). |
void |
open()
Re-opens a closed channel. |
void |
registerForStateTransfer(java.lang.String appl_id,
java.lang.String substate_id)
|
MuxChannel |
remove(java.lang.String id)
|
void |
sendServiceDownMessage(java.lang.String service,
Address host,
boolean bypassFlush)
|
void |
sendServiceUpMessage(java.lang.String service,
Address host,
boolean bypassFlush)
|
void |
setServicesResponseTimeout(long services_rsp_timeout)
|
boolean |
shutdown()
|
protected void |
shutdownThreadPool()
|
boolean |
startFlush(boolean automatic_resume)
|
boolean |
stateTransferListenersPresent()
|
void |
stopFlush()
|
void |
unregister(java.lang.String appl_id)
|
java.lang.Object |
up(Event evt)
Remove mux header and dispatch to correct MuxChannel |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Multiplexer(JChannel channel)
| Method Detail |
|---|
public JChannel getChannel()
public java.util.Set getApplicationIds()
public java.util.Set<java.lang.String> getServiceIds()
public long getServicesResponseTimeout()
public void setServicesResponseTimeout(long services_rsp_timeout)
public View getServiceView(java.lang.String service_id)
service_id -
public boolean stateTransferListenersPresent()
public void registerForStateTransfer(java.lang.String appl_id,
java.lang.String substate_id)
public boolean getState(Address target,
java.lang.String id,
long timeout)
throws ChannelNotConnectedException,
ChannelClosedException
ChannelNotConnectedException
ChannelClosedExceptionprotected java.util.concurrent.ThreadPoolExecutor createThreadPool()
protected void shutdownThreadPool()
public void sendServiceUpMessage(java.lang.String service,
Address host,
boolean bypassFlush)
throws java.lang.Exception
java.lang.Exception
public void sendServiceDownMessage(java.lang.String service,
Address host,
boolean bypassFlush)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object up(Event evt)
up in interface UpHandlerevt -
public Channel createMuxChannel(java.lang.String id,
java.lang.String stack_name)
throws java.lang.Exception
java.lang.Exceptionpublic MuxChannel remove(java.lang.String id)
public void disconnect()
public void unregister(java.lang.String appl_id)
public boolean close()
public void closeAll()
public boolean shutdown()
public Address getLocalAddress()
public boolean flushSupported()
public boolean startFlush(boolean automatic_resume)
public void stopFlush()
public boolean isConnected()
public void connect(java.lang.String cluster_name)
throws ChannelException
ChannelException
public void open()
throws ChannelException
ChannelExceptionpublic boolean isOpen()
public Address getStateProvider(Address preferredTarget,
java.lang.String service_id)
preferredTarget - service_id -
public void addServiceIfNotPresent(java.lang.String id,
MuxChannel ch)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||