public final class ACSStructuredPushConsumer
extends StructuredPushConsumerPOA
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
isConnected |
protected boolean |
isEventSetup |
protected boolean |
isInitialized |
protected static java.util.Random |
random |
protected StructuredProxyPushSupplier |
structuredProxyPushSupplier |
| Constructor and Description |
|---|
ACSStructuredPushConsumer(ACSRemoteAccess acsra,
ACSListenersDispatcher listenersDispatcher,
ACSLogRetrieval logRetrieval)
StructuredPushConsumer constructor comment.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close(boolean sync)
Close the threads and free all the resources
|
void |
connect()
Connects the push supplier to the push consumer.
|
static java.lang.String |
createUniqueClientName()
Copied from jcontnc :: Helper, which we cannot use here because of build order issues.
|
void |
destroy() |
void |
disconnect_structured_push_consumer() |
boolean |
isConnected()
Check if the consumer is connected by reconnecting the channel
|
boolean |
isInitialized() |
boolean |
isSuspended() |
void |
offer_change(org.omg.CosNotification.EventType[] added,
org.omg.CosNotification.EventType[] removed) |
void |
push_structured_event(StructuredEvent event)
Adds all the logs to a list in a synchronized manner.
|
void |
setSupended(boolean suspended)
Suspend the notification of the incoming logs
The logs received while suspended discarded
(i.e.
|
void |
setupEvents()
Changes subscription on ConsumerAdmin.
|
void |
teardownEvents()
Remove subscription on ConsumerAdmin.
|
protected static final java.util.Random random
protected StructuredProxyPushSupplier structuredProxyPushSupplier
protected boolean isConnected
protected boolean isEventSetup
protected boolean isInitialized
public ACSStructuredPushConsumer(ACSRemoteAccess acsra, ACSListenersDispatcher listenersDispatcher, ACSLogRetrieval logRetrieval)
acsra - The remote access obj to ACS NCtheEngine - The LCEnginepublic void connect()
public void destroy()
public void disconnect_structured_push_consumer()
public boolean isInitialized()
public void offer_change(org.omg.CosNotification.EventType[] added,
org.omg.CosNotification.EventType[] removed)
throws org.omg.CosNotifyComm.InvalidEventType
org.omg.CosNotifyComm.InvalidEventTypepublic void push_structured_event(StructuredEvent event)
throws org.omg.CosEventComm.Disconnected
org.omg.CosEventComm.Disconnectedpublic void setupEvents()
public void teardownEvents()
public boolean isConnected()
public boolean isSuspended()
public void setSupended(boolean suspended)
suspend - If true suspend the notification of new logsLCEnginepublic void close(boolean sync)
sync - If it is true wait the termination of the threads before returningpublic static java.lang.String createUniqueClientName()
We need to have a unique client name, even though every jlog instance uses its own consumer admin object. This is different from jcontnc's NCSubscriber class who started with this unique name business. The reason is the TAO MC API "ConsumerNames" statistics used by the eventGUI. It returns "factoryName/channelName/supplierProxyName", which leaves out the admin object, and returns this string only once even if this same path applies to several proxies.