Package org.jgroups.protocols.rules
Class SUPERVISOR
- java.lang.Object
-
- org.jgroups.stack.Protocol
-
- org.jgroups.protocols.rules.SUPERVISOR
-
@Deprecated public class SUPERVISOR extends Protocol
Deprecated.Not really needed; all of this can be done by external code, ie. code running in the application.Protocol which supervises other protocols. Essentially a rule engine, where rule conditions are checked periodically, triggering (optional) actions. Example: start failure detection in FD is it isn't running https://issues.jboss.org/browse/JGRP-1557- Since:
- 3.3
- Author:
- Bela Ban
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringCLASSDeprecated.protected java.lang.StringconfigDeprecated.protected java.util.List<EventHandler>event_handlersDeprecated.protected BoundedList<java.lang.String>executionsDeprecated.protected static java.lang.StringINTERVALDeprecated.protected Addresslocal_addrDeprecated.protected static java.lang.StringNAMEDeprecated.protected intnum_event_handlersDeprecated.protected static java.lang.StringRULEDeprecated.protected java.util.Map<java.lang.String,Tuple<Rule,java.util.concurrent.Future<?>>>rulesDeprecated.protected static java.lang.StringRULESDeprecated.protected TimeSchedulertimerDeprecated.protected ViewviewDeprecated.-
Fields inherited from class org.jgroups.stack.Protocol
after_creation_hook, down_prot, ergonomics, id, log, stack, stats, up_prot
-
-
Constructor Summary
Constructors Constructor Description SUPERVISOR()Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddCondition(java.lang.String cond)Deprecated.voiddestroy()Deprecated.This method is called on aJChannel.close().java.lang.Objectdown(Event evt)Deprecated.An event is to be sent down the stack.java.lang.Objectdown(Message msg)Deprecated.A message is sent down the stack.java.lang.StringdumpRules()Deprecated.java.lang.Stringexecutions()Deprecated.AddressgetLocalAddress()Deprecated.intgetNumRules()Deprecated.ViewgetView()Deprecated.protected voidhandleView(View view)Deprecated.voidinit()Deprecated.Called after instance has been created (null constructor) and before protocol is started.voidinstallRule(long interval, java.lang.String classname)Deprecated.voidinstallRule(long interval, Rule rule)Deprecated.Installs a new rulevoidinstallRule(java.lang.String name, long interval, java.lang.String classname)Deprecated.voidinstallRule(java.lang.String name, long interval, Rule rule)Deprecated.Installs a new ruleprotected static voidmatch(java.lang.String expected_name, java.lang.String name, boolean is_element)Deprecated.protected voidparseConfig(java.lang.String filename)Deprecated.protected voidparseRule(org.w3c.dom.Node root)Deprecated.protected voidparseRules(java.io.InputStream input)Deprecated.voidregister(EventHandler handler)Deprecated.voiduninstallRule(java.lang.String name)Deprecated.voidunregister(EventHandler handler)Deprecated.java.lang.Objectup(Event evt)Deprecated.An event was received from the protocol below.voidup(MessageBatch batch)Deprecated.Sends up a multiple messages in aMessageBatch.-
Methods inherited from class org.jgroups.stack.Protocol
accept, afterCreationHook, enableStats, getConfigurableObjects, getDownProtocol, getDownServices, getId, getIdsAbove, getLevel, getLog, getName, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getUpServices, getValue, isErgonomics, level, parse, providedDownServices, providedUpServices, requiredDownServices, requiredUpServices, resetStatistics, resetStats, setDownProtocol, setErgonomics, setId, setLevel, setProtocolStack, setSocketFactory, setUpProtocol, setValue, start, statsEnabled, stop, up
-
-
-
-
Field Detail
-
local_addr
protected Address local_addr
Deprecated.
-
view
protected volatile View view
Deprecated.
-
timer
protected TimeScheduler timer
Deprecated.
-
executions
protected final BoundedList<java.lang.String> executions
Deprecated.
-
config
protected java.lang.String config
Deprecated.
-
rules
protected final java.util.Map<java.lang.String,Tuple<Rule,java.util.concurrent.Future<?>>> rules
Deprecated.
-
event_handlers
protected final java.util.List<EventHandler> event_handlers
Deprecated.
-
num_event_handlers
protected volatile int num_event_handlers
Deprecated.
-
RULES
protected static final java.lang.String RULES
Deprecated.- See Also:
- Constant Field Values
-
RULE
protected static final java.lang.String RULE
Deprecated.- See Also:
- Constant Field Values
-
NAME
protected static final java.lang.String NAME
Deprecated.- See Also:
- Constant Field Values
-
CLASS
protected static final java.lang.String CLASS
Deprecated.- See Also:
- Constant Field Values
-
INTERVAL
protected static final java.lang.String INTERVAL
Deprecated.- See Also:
- Constant Field Values
-
-
Method Detail
-
getLocalAddress
public Address getLocalAddress()
Deprecated.
-
getView
public View getView()
Deprecated.
-
executions
public java.lang.String executions()
Deprecated.
-
addCondition
public void addCondition(java.lang.String cond)
Deprecated.
-
getNumRules
public int getNumRules()
Deprecated.
-
dumpRules
public java.lang.String dumpRules()
Deprecated.
-
register
public void register(EventHandler handler)
Deprecated.
-
unregister
public void unregister(EventHandler handler)
Deprecated.
-
init
public void init() throws java.lang.ExceptionDeprecated.Description copied from class:ProtocolCalled after instance has been created (null constructor) and before protocol is started. Properties are already set. Other protocols are not yet connected and events cannot yet be sent.
-
destroy
public void destroy()
Deprecated.Description copied from class:ProtocolThis method is called on aJChannel.close(). Does some cleanup; after the call the VM will terminate
-
installRule
public void installRule(long interval, Rule rule)Deprecated.Installs a new rule- Parameters:
interval- Number of ms between executions of the rulerule- The rule
-
installRule
public void installRule(java.lang.String name, long interval, Rule rule)Deprecated.Installs a new rule- Parameters:
name- The name of the ruleinterval- Number of ms between executions of the rulerule- The rule
-
installRule
public void installRule(java.lang.String name, long interval, java.lang.String classname) throws java.lang.ExceptionDeprecated.- Throws:
java.lang.Exception
-
installRule
public void installRule(long interval, java.lang.String classname) throws java.lang.ExceptionDeprecated.- Throws:
java.lang.Exception
-
uninstallRule
public void uninstallRule(java.lang.String name)
Deprecated.
-
down
public java.lang.Object down(Event evt)
Deprecated.Description copied from class:ProtocolAn event is to be sent down the stack. A protocol may want to examine its type and perform some action on it, depending on the event's type. If the event is a message MSG, then the protocol may need to add a header to it (or do nothing at all) before sending it down the stack usingdown_prot.down().
-
down
public java.lang.Object down(Message msg)
Deprecated.Description copied from class:ProtocolA message is sent down the stack. Protocols may examine the message and do something (e.g. add a header) with it before passing it down.
-
up
public java.lang.Object up(Event evt)
Deprecated.Description copied from class:ProtocolAn event was received from the protocol below. Usually the current protocol will want to examine the event type and - depending on its type - perform some computation (e.g. removing headers from a MSG event type, or updating the internal membership list when receiving a VIEW_CHANGE event). Finally the event is either a) discarded, or b) an event is sent down the stack usingdown_prot.down()or c) the event (or another event) is sent up the stack usingup_prot.up().
-
up
public void up(MessageBatch batch)
Deprecated.Description copied from class:ProtocolSends up a multiple messages in aMessageBatch. The sender of the batch is always the same, and so is the destination (null == multicast messages). Messages in a batch can be OOB messages, regular messages, or mixed messages, although the transport itself will create initial MessageBatches that contain only either OOB or regular messages. The default processing below sends messages up the stack individually, based on a matching criteria (callingProtocol.accept(org.jgroups.Message)), and - if true - callsProtocol.up(org.jgroups.Event)for that message and removes the message. If the batch is not empty, it is passed up, or else it is dropped. Subclasses should check if there are any messages destined for them (e.g. usingMessageBatch.getMatchingMessages(short,boolean)), then possibly remove and process them and finally pass the batch up to the next protocol. Protocols can also modify messages in place, e.g. ENCRYPT could decrypt all encrypted messages in the batch, not remove them, and pass the batch up when done.
-
handleView
protected void handleView(View view)
Deprecated.
-
parseConfig
protected void parseConfig(java.lang.String filename) throws java.lang.ExceptionDeprecated.- Throws:
java.lang.Exception
-
parseRules
protected void parseRules(java.io.InputStream input) throws java.lang.ExceptionDeprecated.- Throws:
java.lang.Exception
-
parseRule
protected void parseRule(org.w3c.dom.Node root) throws java.lang.ExceptionDeprecated.- Throws:
java.lang.Exception
-
match
protected static void match(java.lang.String expected_name, java.lang.String name, boolean is_element) throws java.lang.ExceptionDeprecated.- Throws:
java.lang.Exception
-
-