|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.neeve.root.RootObject
com.neeve.aep.AepEngineDescriptor
public final class AepEngineDescriptor
An AEP engine descriptor.
This class configures an AEP engine instance and supplies methods to persist descriptors in platform configuration respositories.
Nested Class Summary | |
---|---|
static class |
AepEngineDescriptor.ChannelConfig
Class describing configuration information for an AEP engine's channel. |
Method Summary | |
---|---|
AepEngineDescriptor |
addBus(String busName)
Add a bus to an engine's list of buses. |
AepEngineDescriptor |
addChannel(String channelDescriptor)
Add a channel to an engine's list of channels. |
AepEngineDescriptor |
addChannel(String channelName,
AepEngineDescriptor.ChannelConfig channelConfig)
Add a global channel to an engine's list of channels. |
AepEngineDescriptor |
addChannel(String busName,
String channelName,
AepEngineDescriptor.ChannelConfig channelConfig)
Add a bus specific channel to an engine's list of channels. |
AepEngineDescriptor |
addMessageFactory(String factoryClassName)
Add the name of a factory class to the list of message factories |
AepEngineDescriptor |
addStateFactory(String factoryClassName)
Add the name of a factory class to the list of state factories |
AepEngineDescriptor |
clearBusManagerProperties(String busName)
Clear a bus manager's configuration properties |
AepEngineDescriptor |
clearBusManagerProperty(String busName,
String propName)
Clear a bus manager's configuration property |
AepEngineDescriptor |
clearEventMultiplexerProperty(String name)
Clear an engine's event multiplexer property. |
AepEngineDescriptor |
clearInboundMessageLoggingProperty(String name)
Clear an engine's inbound message logging property. |
AepEngineDescriptor |
clearOutboundMessageLoggingProperty(String name)
Clear an engine's outbound message logging property. |
AepEngineDescriptor |
clearPerTransactionStatsLoggingProperty(String name)
Clear an engine's per transaction stats message logging property. |
AepEngineDescriptor |
clearStartupExpectation(AepEngine.StartupExpectation expectation)
Clear an engine's startup expectation. |
static AepEngineDescriptor |
create(String name)
Create a default AEP engine descriptor. |
void |
delete()
Delete an AEP engine descriptor from the default configuration repository. |
void |
delete(IConfigRepository repo)
Delete an AEP engine descriptor from a configuration repository. |
static boolean |
exists(IConfigRepository repo,
String name)
Checks if an AEP engine is configured in a configuration repository. |
static boolean |
exists(String name)
Checks if an AEP engine is configured in the default configuration repository |
int |
getAdaptiveCommitBatchCeiling()
Get an engine's adaptive commit batch ceiling. |
boolean |
getAdministrative()
Get whether an engine is an administrative enginel |
AepEngine.AppExceptionHandlingPolicy |
getAppExceptionHandlingPolicy()
Get an engine's application exception handling policy. |
Set<String> |
getBuses()
Get an engine's bus list. |
Properties |
getBusManagerProperties(String busName)
Get a bus manager's configuration properties |
Set<String> |
getBusManagersWithConfiguration()
Get the set of bus names that have been configured |
boolean |
getCaptureEventLatencyStats()
Get whether event processing latencies are captured. |
boolean |
getCaptureMessageTypeStats()
Get whether stats are additionally recorded ona per message type basis. |
boolean |
getCapturePerTransactionStats()
Get whether or not the engine records transaction timing stats. |
boolean |
getCaptureTransactionLatencyStats()
Get whether or not the engine records transaction latency stats. |
AepEngineDescriptor.ChannelConfig |
getChannelConfig(String busName,
String channelName)
Get an engine's channel configuration |
Map<String,AepEngineDescriptor.ChannelConfig> |
getChannels(String busName)
Get an engine's channel list. |
int |
getClusterHeartbeatInterval()
Get the cluster heartbeat interval |
boolean |
getDispatchTransactionStageEvents()
Get whether an engine will dispatch transaction stage events. |
boolean |
getDisposeOnSend()
Get whether AepEngine.sendMessage(com.neeve.sma.MessageChannel, com.neeve.rog.IRogMessage, java.util.Properties) disposes sent messages. |
boolean |
getEnableEventTrace()
Get whether diagnostic trace logging related to engine events is enabled. |
boolean |
getEnableMessageTrace()
Get whether diagnostic trace logging for messages is enabled |
boolean |
getEnableScheduleTrace()
Get whether diagnostic trace logging related to engine schedules is enabled. |
boolean |
getEnableSendCommitCompleteSequenceAlerts()
Get whether or not to enable out of order send commit completion detection. |
boolean |
getEnableSequenceNumberTrace()
Get whether diagnostic trace logging related to message sequencing is enabled. |
boolean |
getEnableTransactionCommitSuspension()
Get whether transaction commit suspension is enabled in an engine. |
boolean |
getEnableTransactionSavepoints()
Gets whether or not transaction savepoints are enabled for the engine. |
boolean |
getEnableTransactionTrace()
Get whether diagnostic trace logging related to engine transactions is enabled. |
Properties |
getEventMultiplexerProperties()
Get the set of event multiplexer properties. |
String |
getEventMultiplexerProperty(String name)
Get an engine's event multiplexer property. |
AepEngine.EventMultiplexerType |
getEventMultiplexerType()
Get an engine's event multiplexer type. |
AepEngine.HAPolicy |
getHAPolicy()
Get an engine's HA policy. |
AepEngine.InboundEventAcknowledgementPolicy |
getInboundEventAcknowledgementPolicy()
Gets the AepEngine 's AepEngine.InboundEventAcknowledgementPolicy . |
AepEngine.InboundMessageLoggingFailurePolicy |
getInboundMessageLoggingFailurePolicy()
The engine's inbound message logging failure policy. |
AepEngine.InboundMessageLoggingPolicy |
getInboundMessageLoggingPolicy()
Get an engine's message inbound message logging policy. |
Properties |
getInboundMessageLoggingProperties()
Get the set of inbound message logging properties. |
String |
getInboundMessageLoggingProperty(String name)
Get an engine's inbound message logging property. |
int |
getMaxEnvironmentProviders()
Get the maximum number of environment providers that can be registered with the engine. |
AepEngine.MessageBusBindingFailPolicy |
getMessageBusBindingFailPolicy()
Get an engine's message bus binding fail policy. |
List<String> |
getMessageFactories()
Get the list of an engine's message factories |
AepEngine.MessageHandlingPolicy |
getMessageHandlingPolicy()
Get an engine's message handling policy. |
AepEngine.MessageSendExceptionHandlingPolicy |
getMessageSendExceptionHandlingPolicy()
Get an engine's message send exception handling policy. |
AepEngine.MessageSendPolicy |
getMessageSendPolicy()
Deprecated. The message send policy has been deprecated. This method will always return AepEngine.MessageSendPolicy.ReplicateBeforeSend |
boolean |
getMessageTraceFilterUnsetFields()
Get whether unset fields are filtered for json formatted objects when json message tracing is enabled. |
boolean |
getMessageTraceInJson()
Get whether messages are traced in Json or toString |
RogLogUtil.JsonPrettyPrintStyle |
getMessageTraceJsonStyle()
Get the styling of Json formated message trace. |
RogLogUtil.MetadataDisplayPolicy |
getMessageTraceMetadataDisplayPolicy()
Get whether metadata, payload or both will be traced when message trace logging is enabled. |
AepEngine.MessagingStartFailPolicy |
getMessagingStartFailPolicy()
Get an engine's messaging start fail policy. |
String |
getName()
Get the name of the AEP engine that this descriptor describes. |
AepEngine.OutboundMessageLoggingFailurePolicy |
getOutboundMessageLoggingFailurePolicy()
The engine's outbound message logging failure policy. |
AepEngine.OutboundMessageLoggingPolicy |
getOutboundMessageLoggingPolicy()
Get an engine's message outbound message logging policy. |
Properties |
getOutboundMessageLoggingProperties()
Get the set of outbound message logging properties. |
String |
getOutboundMessageLoggingProperty(String name)
Get an engine's outbound message logging property. |
boolean |
getPerformDuplicateChecking()
Get whether an engine is configured to perform duplicate checking |
boolean |
getPerformMidstreamInitializationValidation()
Get whether the engine checks that initial transactions are not missing during recovery or replication in Event Sourced
engines. |
AepEngine.PerTransactionStatsLoggingFailurePolicy |
getPerTransactionStatsLoggingFailurePolicy()
The engine's binary transaction stats logging failure policy. |
AepEngine.PerTransactionStatsLoggingPolicy |
getPerTransactionStatsLoggingPolicy()
Get an engine's binary transaction stats logging policy. |
Properties |
getPerTransactionStatsLoggingProperties()
Gets an aep engine's per transaction stats logging properties. |
String |
getPerTransactionStatsLoggingProperty(String name)
Get an engine's per transaction stats message logging property. |
boolean |
getPreserveChannelJoinsOnStop()
Gets whether or not joined channels are preserved on clean shutdown. |
String |
getQuarantineChannel()
Get an engine's quarantine channel |
String |
getQuarantineMessageKey()
Get an engine's quarantine message key. |
boolean |
getReplicateInParallel()
Get whether parallel replication is enabled |
boolean |
getReplicateSolicitedSends()
Get whether to replicate solicited sends. |
boolean |
getReplicateUnsolicitedSends()
Get whether to replicate unsolicited sends. |
AepEngine.ReplicationPolicy |
getReplicationPolicy()
Get an engine's replication policy. |
boolean |
getSequenceUnsolicitedSends()
Get whether unsolicited sends are sequenced. |
boolean |
getSequenceUnsolicitedWithSolicitedSends()
Get whether unsolicited sends are sequenced with solicited sends. |
boolean |
getSetInboundMessagesAsReadOnly()
Get whether inbound messages are marked as read only on receipt. |
boolean |
getSetOutboundMessagesAsReadOnly()
Get whether outbound messages are marked as read only on send. |
boolean |
getSetOutboundSequenceNumbers()
Get whether sequence numbers are set on outbound messages |
boolean |
getSetSupportMetadata()
Get whether inbound messages are marked as read only on receipt. |
Enum<?> |
getStartupExpectation(AepEngine.StartupExpectation expectation)
Get an engine's startup expectation. |
Map<AepEngine.StartupExpectation,Enum<?>> |
getStartupExpectations()
Get the set of an engine's startup expectations. |
List<String> |
getStateFactories()
Get the list of an engine's state factories |
String |
getStore()
Get the name of an engine's ODS store. |
int |
getStuckAlertEventThreshold()
Get's the engine stuck alert event threshold. |
boolean |
getSyncInjectedMessages()
Gets whether MessageView.sync() is called during AepEngine.injectMessage(com.neeve.rog.IRogMessage) . |
static AepEngineDescriptor |
load(IConfigRepository repo,
String name)
Create an AEP engine descriptor from a configuration repository. |
static AepEngineDescriptor |
load(String name)
Create an AEP engine from the default configuration repository. |
static Set<AepEngineDescriptor> |
loadAll()
Create descriptors for all AEP engines in the default configuration repository. |
static Set<AepEngineDescriptor> |
loadAll(IConfigRepository repo)
Create descriptors for all AEP engines in a configuration repository. |
AepEngineDescriptor |
removeBus(String busName)
Remove a bus from an engine's list of buses. |
AepEngineDescriptor |
removeChannel(String channelDescriptor)
Remove a channel from an engine's list of channels. |
AepEngineDescriptor |
removeChannel(String busName,
String channelName)
Remove a bus specific channel from an engine's list of channels. |
void |
save()
Save an AEP engine descriptor to the default configuration repository. |
void |
save(IConfigRepository repo)
Save a AEP engine descriptor to a configuration repository. |
AepEngineDescriptor |
setAdaptiveCommitBatchCeiling(int val)
Set the adaptive commit batch ceiling. |
AepEngineDescriptor |
setAdministrative(boolean val)
Set whether an engine is an administrative engine. |
AepEngineDescriptor |
setAppExceptionHandlingPolicy(AepEngine.AppExceptionHandlingPolicy val)
Set an engine's application exception handling policy. |
AepEngineDescriptor |
setBusManagerProperties(String busName,
Properties properties)
Set a bus manager's configuration properties |
String |
setBusManagerProperty(String busName,
String propName)
Get a bus manager's configuration property |
AepEngineDescriptor |
setBusManagerProperty(String busName,
String propName,
String propVal)
Set a bus manager's configuration property |
AepEngineDescriptor |
setCaptureEventLatencyStats(boolean val)
Set whether event processing latencies are captured. |
AepEngineDescriptor |
setCaptureMessageTypeStats(boolean val)
Set whether stats are additionally recorded ona per message type basis. |
AepEngineDescriptor |
setCapturePerTransactionStats(boolean val)
Sets whether or not the engine record per transaction stats. |
AepEngineDescriptor |
setCaptureTransactionLatencyStats(boolean val)
Set whether or not the engine records transaction latency stats. |
AepEngineDescriptor |
setClusterHeartbeatInterval(int val)
Set the cluster heartbeat interval (in milliseconds). |
AepEngineDescriptor |
setDispatchTransactionStageEvents(boolean val)
Set whether transaction stage events should dispatched. |
AepEngineDescriptor |
setDisposeOnSend(boolean val)
Set whether to automatically dispose sent messages. |
AepEngineDescriptor |
setEnableEventTrace(boolean val)
Enable diagnostic trace logging of events received and dispatched by an engine Enabling this is useful in determining the sequence of events processed by the engine When enabled trace will be emitted at debug level to the logger named 'nv.aep.event'. |
AepEngineDescriptor |
setEnableMessageTrace(boolean val)
Enable diagnostic trace logging for messages. |
AepEngineDescriptor |
setEnableScheduleTrace(boolean val)
Enable diagnostic trace logging related to schedules managed by an engine. |
AepEngineDescriptor |
setEnableSendCommitCompleteSequenceAlerts(boolean val)
Set whether or not to enable out of order send commit completion detection. |
AepEngineDescriptor |
setEnableSequenceNumberTrace(boolean val)
Enable diagnostic trace logging related to message sequencing. |
AepEngineDescriptor |
setEnableTransactionCommitSuspension(boolean val)
Set whether transaction commit suspension is enabled or disabled. |
void |
setEnableTransactionSavepoints(boolean enableTransactionSavepoints)
Sets whether or not transaction savepoints are enabled for the engine. |
AepEngineDescriptor |
setEnableTransactionTrace(boolean val)
Enable diagnostic trace logging related to transactions processed by an engine. |
AepEngineDescriptor |
setEventMultiplexerProperties(Properties val)
Set the set of event multiplexer properties. |
AepEngineDescriptor |
setEventMultiplexerProperty(String name,
String val)
Set an engine's event multiplexer property. |
AepEngineDescriptor |
setEventMultiplexerType(AepEngine.EventMultiplexerType val)
Set an engine's event multiplexer type. |
AepEngineDescriptor |
setHAPolicy(AepEngine.HAPolicy val)
Set an engine's HA policy. |
AepEngineDescriptor |
setInboundEventAcknowledgementPolicy(AepEngine.InboundEventAcknowledgementPolicy policy)
Set's the policy controlling when inbound events processed by an the application are acnowledged upstream. |
AepEngineDescriptor |
setInboundMessageLoggingFailurePolicy(AepEngine.InboundMessageLoggingFailurePolicy val)
Set an engine's inbound message logging failure policy. |
AepEngineDescriptor |
setInboundMessageLoggingPolicy(AepEngine.InboundMessageLoggingPolicy val)
Set an engine's inbound message logging policy. |
AepEngineDescriptor |
setInboundMessageLoggingProperties(Properties val)
Set the set of inbound message logging properties. |
AepEngineDescriptor |
setInboundMessageLoggingProperty(String name,
String val)
Set an engine's inbound message logging property. |
AepEngineDescriptor |
setMaxEnvironmentProviders(int val)
Set the maximum number of environment providers that can be registered with the engine. |
AepEngineDescriptor |
setMessageBusBindingFailPolicy(AepEngine.MessageBusBindingFailPolicy val)
Set an engine's message bus binding fail policy. |
AepEngineDescriptor |
setMessageHandlingPolicy(AepEngine.MessageHandlingPolicy val)
Set an engine's message handling policy. |
AepEngineDescriptor |
setMessageSendExceptionHandlingPolicy(AepEngine.MessageSendExceptionHandlingPolicy val)
Set an engine's message send exception handling policy. |
AepEngineDescriptor |
setMessageSendPolicy(AepEngine.MessageSendPolicy val)
Deprecated. The message send policy has been deprecated. This method is a noop. AEP engines will always function with ReplicateBeforeSend |
AepEngineDescriptor |
setMessageTraceFilterUnsetFields(boolean val)
Set whether unset fields are filtered for json formatted objects when json message tracing is enabled. |
AepEngineDescriptor |
setMessageTraceInJson(boolean val)
Sets whether messages are traced in Json or toString format. |
AepEngineDescriptor |
setMessageTraceJsonStyle(RogLogUtil.JsonPrettyPrintStyle val)
Set the styling of Json formatted message trace. |
AepEngineDescriptor |
setMessageTraceMetadataDisplayPolicy(RogLogUtil.MetadataDisplayPolicy val)
Set whether metadata, payload or both will be traced when message trace logging is enabled. |
AepEngineDescriptor |
setMessagingStartFailPolicy(AepEngine.MessagingStartFailPolicy val)
Set an engine's messaging start fail policy. |
AepEngineDescriptor |
setOutboundMessageLoggingFailurePolicy(AepEngine.OutboundMessageLoggingFailurePolicy val)
Set an engine's outbound message logging failure policy. |
AepEngineDescriptor |
setOutboundMessageLoggingPolicy(AepEngine.OutboundMessageLoggingPolicy val)
Set an engine's outbound message logging policy. |
AepEngineDescriptor |
setOutboundMessageLoggingProperties(Properties val)
Set the set of outbound message logging properties. |
AepEngineDescriptor |
setOutboundMessageLoggingProperty(String name,
String val)
Set an engine's outbound message logging property. |
AepEngineDescriptor |
setPerformDuplicateChecking(boolean val)
Set whether the engine should perform duplicate checking When duplicate checking is enabled received messaegs that are deemed duplicates are discarded by the engine. |
AepEngineDescriptor |
setPerformMidstreamInitializationValidation(boolean val)
Set whether the engine checks that initial transactions are not missing during recovery or replication in Event Sourced
engines. |
AepEngineDescriptor |
setPerTransactionStatsLoggingFailurePolicy(AepEngine.PerTransactionStatsLoggingFailurePolicy val)
Set an engine's binary transaction stats logging failure policy. |
AepEngineDescriptor |
setPerTransactionStatsLoggingPolicy(AepEngine.PerTransactionStatsLoggingPolicy val)
Set an engine's binary transaction stats logging policy. |
AepEngineDescriptor |
setPerTransactionStatsLoggingProperties(Properties val)
Set the value of a per transaction stats logging properties. |
AepEngineDescriptor |
setPerTransactionStatsLoggingProperty(String name,
String val)
Set an engine's per transaction stats message logging property. |
AepEngineDescriptor |
setPreserveChannelJoinsOnStop(boolean preserveChannelJoinsOnStop)
Sets whether or not to preserve joined channels when the engine stops normally. |
AepEngineDescriptor |
setQuarantineChannel(String val)
Set an engine's quarantine channel. |
AepEngineDescriptor |
setQuarantineMessageKey(String val)
Set an engine's quarantine message key. |
AepEngineDescriptor |
setReplicateInParallel(boolean val)
Enable parallel replication When parallel replication is enabled, the engine replicates inbound messages to the cluster backups in parallel with the processing of the message by the message handler. |
AepEngineDescriptor |
setReplicateSolicitedSends(boolean val)
Set whether to replicate solicited sends. |
AepEngineDescriptor |
setReplicateUnsolicitedSends(boolean val)
Set whether to replicate unsolicited sends. |
AepEngineDescriptor |
setReplicationPolicy(AepEngine.ReplicationPolicy val)
Set an engine's replication policy. |
AepEngineDescriptor |
setSequenceUnsolicitedSends(boolean val)
Set whether to sequence unsolicited sends. |
AepEngineDescriptor |
setSequenceUnsolicitedWithSolicitedSends(boolean val)
Set whether to sequence unsolicited sends with solicited sends. |
AepEngineDescriptor |
setSetInboundMessagesAsReadOnly(boolean val)
Set whether inbound messages are marked as read only on receipt. |
AepEngineDescriptor |
setSetOutboundMessagesAsReadOnly(boolean val)
Set whether outbound messages are marked as read only on send. |
AepEngineDescriptor |
setSetOutboundSequenceNumbers(boolean val)
Set whether support sequence numbers are set by the engine on outbound messages Setting this property to false prevents the engine from setting sequence
numbers on outbound messages. |
AepEngineDescriptor |
setSetSupportMetadata(boolean val)
Set whether support related metadata is set by the engine on inbound and outbound messages. |
AepEngineDescriptor |
setStartupExpectation(AepEngine.StartupExpectation expectation,
Enum<?> val)
Set an engine's startup expectation. |
AepEngineDescriptor |
setStartupExpectations(Map<AepEngine.StartupExpectation,Enum<?>> val)
Set the set of an engine's startup expectations. |
AepEngineDescriptor |
setStore(String storeName)
Set the name of an engine's ODS store. |
AepEngineDescriptor |
setStuckAlertEventThreshold(int thresholdSeconds)
Defines the threshold, in seconds, after which an AepStuckAlertEvent is dispatched to the application's IAepAsynchronousEventHandler . |
void |
setSyncInjectedMessages(boolean syncInjectedMessages)
Sets whether MessageView.sync() is called during AepEngine.injectMessage(com.neeve.rog.IRogMessage) . |
String |
toString()
Return the string representation of an engine descriptor |
Methods inherited from class com.neeve.root.RootObject |
---|
getChecked, getThreaded, getTracer, setChecked, setTracer |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Method Detail |
---|
public final String getName()
public final AepEngineDescriptor addStateFactory(String factoryClassName)
factoryClassName
- The name of the factory class to add.
public final List<String> getStateFactories()
public final AepEngineDescriptor addMessageFactory(String factoryClassName)
factoryClassName
- The name of the factory class to add.
public final List<String> getMessageFactories()
public final AepEngineDescriptor addBus(String busName)
busName
- The bus to add.
public final AepEngineDescriptor setBusManagerProperty(String busName, String propName, String propVal)
busName
- The bus manager to configure.propName
- The property to set.propVal
- The property value.
public final String setBusManagerProperty(String busName, String propName)
busName
- The bus manager to configure.propName
- The property to set.
public final AepEngineDescriptor clearBusManagerProperty(String busName, String propName)
busName
- The bus manager to configure.propName
- The property to set.
public final AepEngineDescriptor setBusManagerProperties(String busName, Properties properties)
busName
- The bus manager to configure.
public final Properties getBusManagerProperties(String busName)
busName
- The bus manager whose configuration to return.Note: The properties object returned is the object maintained by the descriptor. Therefore, bus managed properties can be added, removed and/or updated directly in the returned object. For the changes to take effect, the changes must be made before the engine is created.
public final AepEngineDescriptor clearBusManagerProperties(String busName)
busName
- The bus manager whose configuration to clear.
public final Set<String> getBusManagersWithConfiguration()
public final AepEngineDescriptor removeBus(String busName)
busName
- The bus to add.
public final AepEngineDescriptor addChannel(String channelName, AepEngineDescriptor.ChannelConfig channelConfig)
channelName
- The channel to add.channelConfig
- The channel configuration object.
This method will add a global channel to the engine's list of channels. A global channel is one that is processed for each of the buses configured for the application except the engine's internal buses.
public final AepEngineDescriptor addChannel(String busName, String channelName, AepEngineDescriptor.ChannelConfig channelConfig)
busName
- The bus to which the channel belongs.channelName
- The channel to add.channelConfig
- The channel configuration object.
This method will add a bus specific channel to the engine's list of channels. A bus specific channel is one that is processed only for the specified bus when the engine starts messaging.
public final AepEngineDescriptor removeChannel(String busName, String channelName)
busName
- The bus to which the channel belongs.channelName
- The channel to remove.Note: If all channels are removed from a bus, the bus is also effectively removed from the descriptor i.e. the bus will not be joined by the engine. If the intent is to keep the bus around and just remove the channels, then the bus needs to be explictly added again after the remove.
public final AepEngineDescriptor addChannel(String channelDescriptor)
channelDescriptor
- Specifies the channel to be added. This must
be of the form public final AepEngineDescriptor removeChannel(String channelDescriptor)
channelDescriptor
- Specifies the channel to be removed. This must
be of the form public final Set<String> getBuses()
This method returns the list of buses for which the engine has channels configured to join.
public final Map<String,AepEngineDescriptor.ChannelConfig> getChannels(String busName)
busName
- The bus for which the channels are to be retrieved.This method returns the list of channels within a specified bus that an engine is configured to join. A return value of null indicates that the engine is not configured to join any of the channels in the specified bus.
public final AepEngineDescriptor.ChannelConfig getChannelConfig(String busName, String channelName)
public final AepEngineDescriptor setStore(String storeName)
storeName
- The name of the store. A store of this name should
exist in the default repository at runtime from where the AEP engine
using this descriptor will load the store descriptor.public final String getStore()
public final AepEngineDescriptor setHAPolicy(AepEngine.HAPolicy val)
val
- The HA policy to set.
public final AepEngine.HAPolicy getHAPolicy()
public final AepEngineDescriptor setReplicationPolicy(AepEngine.ReplicationPolicy val)
val
- The replication policy to set.
public final AepEngine.ReplicationPolicy getReplicationPolicy()
public final AepEngineDescriptor setMessagingStartFailPolicy(AepEngine.MessagingStartFailPolicy val)
val
- The policy to set.
public final AepEngine.MessagingStartFailPolicy getMessagingStartFailPolicy()
public final AepEngineDescriptor setMessageBusBindingFailPolicy(AepEngine.MessageBusBindingFailPolicy val)
val
- The policy to set.
public final AepEngine.MessageBusBindingFailPolicy getMessageBusBindingFailPolicy()
public final AepEngineDescriptor setInboundMessageLoggingPolicy(AepEngine.InboundMessageLoggingPolicy val)
val
- The policy to set.
public final AepEngine.InboundMessageLoggingPolicy getInboundMessageLoggingPolicy()
public final AepEngineDescriptor setInboundMessageLoggingFailurePolicy(AepEngine.InboundMessageLoggingFailurePolicy val)
val
- The policy to set.
public AepEngine.InboundMessageLoggingFailurePolicy getInboundMessageLoggingFailurePolicy()
When not set this defaults to AepEngine.InboundMessageLoggingFailurePolicy.StopEngine
public final AepEngineDescriptor setInboundMessageLoggingProperty(String name, String val)
name
- The name of the property to set.val
- The property value.
public final String getInboundMessageLoggingProperty(String name)
name
- The property name
public final AepEngineDescriptor clearInboundMessageLoggingProperty(String name)
name
- The name of the property to clear.
public final AepEngineDescriptor setInboundMessageLoggingProperties(Properties val)
val
- The property tablepublic final Properties getInboundMessageLoggingProperties()
Note: The properties object returned is the object maintained by the descriptor. Therefore, inbound message logging properties can be added, removed and/or updated directly in the returned object. For the changes to take effect, the changes must be made before the engine is created.
public final AepEngineDescriptor setOutboundMessageLoggingPolicy(AepEngine.OutboundMessageLoggingPolicy val)
val
- The policy to set.
public final AepEngine.OutboundMessageLoggingPolicy getOutboundMessageLoggingPolicy()
public final AepEngineDescriptor setOutboundMessageLoggingFailurePolicy(AepEngine.OutboundMessageLoggingFailurePolicy val)
val
- The policy to set.
public AepEngine.OutboundMessageLoggingFailurePolicy getOutboundMessageLoggingFailurePolicy()
When not set this defaults to AepEngine.OutboundMessageLoggingFailurePolicy.StopEngine
public final AepEngineDescriptor setOutboundMessageLoggingProperty(String name, String val)
name
- The name of the property to set.val
- The property value.
public final String getOutboundMessageLoggingProperty(String name)
name
- The property name
public final AepEngineDescriptor clearOutboundMessageLoggingProperty(String name)
name
- The name of the property to clear.
public final AepEngineDescriptor setOutboundMessageLoggingProperties(Properties val)
val
- The property tablepublic final Properties getOutboundMessageLoggingProperties()
Note: The properties object returned is the object maintained by the descriptor. Therefore, outbound message logging properties can be added, removed and/or updated directly in the returned object. For the changes to take effect, the changes must be made before the engine is created.
public final AepEngineDescriptor setPerTransactionStatsLoggingPolicy(AepEngine.PerTransactionStatsLoggingPolicy val)
When getCapturePerTransactionStats()
is enabled, this logger is used
to write the captured stats to a transaction log.
val
- The policy to set.
public final AepEngine.PerTransactionStatsLoggingPolicy getPerTransactionStatsLoggingPolicy()
public final AepEngineDescriptor setPerTransactionStatsLoggingFailurePolicy(AepEngine.PerTransactionStatsLoggingFailurePolicy val)
val
- The policy to set.
public AepEngine.PerTransactionStatsLoggingFailurePolicy getPerTransactionStatsLoggingFailurePolicy()
When not set this defaults to AepEngine.PerTransactionStatsLoggingFailurePolicy.StopEngine
public final AepEngineDescriptor setPerTransactionStatsLoggingProperty(String name, String val)
name
- The name of the property to set.val
- The property value.
public final String getPerTransactionStatsLoggingProperty(String name)
name
- The property name
public final AepEngineDescriptor clearPerTransactionStatsLoggingProperty(String name)
name
- The name of the property to clear.
public final AepEngineDescriptor setPerTransactionStatsLoggingProperties(Properties val)
val
- The property tablepublic final Properties getPerTransactionStatsLoggingProperties()
Note: The properties object returned is the object maintained by the descriptor. Therefore, transaction stats logging properties can be added, removed and/or updated directly in the returned object. For the changes to take effect, the changes must be made before the engine is created.
public final AepEngineDescriptor setMessageHandlingPolicy(AepEngine.MessageHandlingPolicy val)
val
- The policy to set.
Note: The message handling policy is for internal testing purposes only. An application should never have any need to change it
public final AepEngine.MessageHandlingPolicy getMessageHandlingPolicy()
@Deprecated public final AepEngineDescriptor setMessageSendPolicy(AepEngine.MessageSendPolicy val)
val
- The policy to set.
@Deprecated public final AepEngine.MessageSendPolicy getMessageSendPolicy()
AepEngine.MessageSendPolicy.ReplicateBeforeSend
public final AepEngineDescriptor setAppExceptionHandlingPolicy(AepEngine.AppExceptionHandlingPolicy val)
val
- The policy to set.
public final AepEngine.AppExceptionHandlingPolicy getAppExceptionHandlingPolicy()
public final AepEngineDescriptor setMessageSendExceptionHandlingPolicy(AepEngine.MessageSendExceptionHandlingPolicy val)
val
- The policy to set.
public final AepEngine.MessageSendExceptionHandlingPolicy getMessageSendExceptionHandlingPolicy()
public final AepEngineDescriptor setEventMultiplexerType(AepEngine.EventMultiplexerType val)
val
- The type to set.
public final AepEngine.EventMultiplexerType getEventMultiplexerType()
public final AepEngineDescriptor setEventMultiplexerProperty(String name, String val)
name
- The name of the property to set.val
- The property value.
public final String getEventMultiplexerProperty(String name)
name
- The property name
public final AepEngineDescriptor clearEventMultiplexerProperty(String name)
name
- The name of the property to clear.
public final AepEngineDescriptor setEventMultiplexerProperties(Properties val)
val
- The property tablepublic final Properties getEventMultiplexerProperties()
Note: The properties object returned is the object maintained by the descriptor. Therefore, event multiplexer properties can be added, removed and/or updated directly in the returned object. For the changes to take effect, the changes must be made before the engine is created.
public final AepEngineDescriptor setStartupExpectation(AepEngine.StartupExpectation expectation, Enum<?> val)
expectation
- The expectation.val
- The expectation value.
public final Enum<?> getStartupExpectation(AepEngine.StartupExpectation expectation)
expectation
- The expectation to get
public final AepEngineDescriptor clearStartupExpectation(AepEngine.StartupExpectation expectation)
expectation
- The expectation to clear.
public final AepEngineDescriptor setStartupExpectations(Map<AepEngine.StartupExpectation,Enum<?>> val)
val
- The property tablepublic final Map<AepEngine.StartupExpectation,Enum<?>> getStartupExpectations()
Note: The map returned is the map maintained by the descriptor. Therefore, startup expectations can be added, removed and/or updated directly in the returned map. For the changes to take effect, the changes must be made before the engine is created.
public final AepEngineDescriptor setAdaptiveCommitBatchCeiling(int val)
val
- The ceiling to set. A value <=0 disables adaptive commit
batch sizing.
public final int getAdaptiveCommitBatchCeiling()
public final AepEngineDescriptor setDispatchTransactionStageEvents(boolean val)
val
- The value to set.
public final boolean getDispatchTransactionStageEvents()
public final AepEngineDescriptor setEnableTransactionCommitSuspension(boolean val)
val
- The value to set.
public final boolean getEnableTransactionCommitSuspension()
public final boolean getEnableTransactionSavepoints()
Transaction savepoints allow an application to create savepoints and rollback work done in message handlers to that save point.
When transaction savepoints are not enabled, application calls to create savepoints
or rollback to savepoints will result in an IllegalStateException
.
AepEngine.createTransactionSavepoint()
,
AepEngine.rollbackToTransactionSavepoint(int)
public final void setEnableTransactionSavepoints(boolean enableTransactionSavepoints)
Enabling of transaction savepoints introduces a small amount of overhead in the engine. It is only recommended that it be enabled for applications that need it.
enableTransactionSavepoints
- Whether or not transaction savepoints are enabled.AepEngine.createTransactionSavepoint()
,
AepEngine.rollbackToTransactionSavepoint(int)
public final AepEngineDescriptor setReplicateSolicitedSends(boolean val)
val
- The value to set.
This parameter governs whether solicited sends (sends triggered by the processing of inbound messages) performed on clustered State Replication engines will be replicated or not. This setting has no effect on Event Sourced engines or engines that are not clustered.
Note: This parameter should be changed with extreme caution. The act of disabling replication of outbound messages will likely result in a loss of outbound messages in the event of a fail over.
This parameter is only applicable to State Replicated engines. The default value for this parameter is true.
public final boolean getReplicateSolicitedSends()
public final AepEngineDescriptor setReplicateUnsolicitedSends(boolean val)
val
- The value to set.
This parameter governs whether unsolicited sends performed on clustered State Replication engines will be replicated or not. This setting has no effect on Event Sourced engines or engines that are not clustered.
This parameter is only applicable to State Replicated engines. The default value for this parameter is false.
public final boolean getReplicateUnsolicitedSends()
public final AepEngineDescriptor setSequenceUnsolicitedSends(boolean val)
val
- The value to set.
By default, unsolicited sends are sent with a sequence number of 0. Specifying true in this parameter will cause sequence numbers to be attached to unsolicited sends too.
Note: Be careful about attaching sequence numbers to unsolicited sends especially if the application is going to be doing both unsolicited and solicited sends concurrently since that can cause messages to be sent on the wire in a sequence different from the sequence in which sequence numbers were assigned to the message thus causing legitimate messages to be dropped due to incorrect duplicate determination. For such applications, use sequenceSolicitedWithUnsolicitedSends instead to ensure that not only are unsolicited sends sequenced but that they are also correctly sequenced vis-a-vis solicited sends.
The default value for this parameter is false.
public final boolean getSequenceUnsolicitedSends()
public final AepEngineDescriptor setClusterHeartbeatInterval(int val)
val
- The interval in milliseconds
The default value for this parameter is 0 (i.e. cluster heartbeats are off).
public final int getClusterHeartbeatInterval()
public final AepEngineDescriptor setSequenceUnsolicitedWithSolicitedSends(boolean val)
val
- The value to set.
This parameter is applicable for applications performing concurrent solicited and unsolicited sends and want the unsolicited sends to be sequenced. Setting this parameter ensures that unsolicited and solicited sends are sequenced on the wire in the same order in which the sequence numbers were attached to the messages.
The default value for this parameter is false.
public final boolean getSequenceUnsolicitedWithSolicitedSends()
public final AepEngineDescriptor setDisposeOnSend(boolean val)
val
- The value to set.
If set, then the AepEngine.sendMessage(com.neeve.sma.MessageChannel, com.neeve.rog.IRogMessage, java.util.Properties)
method will dispose
a message after it has been sent. This means that the caller must
not hold onto or reference a message beyond the call to the send
message method.
The default value for this parameter is true.
public final boolean getDisposeOnSend()
AepEngine.sendMessage(com.neeve.sma.MessageChannel, com.neeve.rog.IRogMessage, java.util.Properties)
disposes sent messages.
public final AepEngineDescriptor setQuarantineChannel(String val)
This method sets the channel on which quarantined messages are transmitted.
This applies when the application throws an exception and the application
exception policy is configured to be 'quarantine and stop' i.e.
(AepEngine.AppExceptionHandlingPolicy.QuarantineAndStop
)
val
- The channel name to set as the quarantine channel.
public final String getQuarantineChannel()
public final AepEngineDescriptor setQuarantineMessageKey(String val)
val
- The channel name to set as the quarantine channel.
This method is used to explicitly set the message key to be associated with outbound quarantine messages. If the key is set using this method, the sending of the quarantine message will bypass the dynamic key resolution machinery.
public final String getQuarantineMessageKey()
public final AepEngineDescriptor setAdministrative(boolean val)
Engines designated as administratibve engines are not subject to auto performance tuning.
public final boolean getAdministrative()
public final AepEngineDescriptor setStuckAlertEventThreshold(int thresholdSeconds)
IAepAsynchronousEventHandler
.
An AepStuckAlertEvent event is intended to alert that the engine's transaction pipeline is "stuck" i.e. there are one or more transaction commits in the pipeline and the event multiplexer thread is not processing any events. For example, the event multiplexer thread could be flow controlled on the replication TCP connection due to an issue in the backup or could be spinning in a loop in the business logic due to a bug in a business logic handler. This event triggered by the AEP engine under the following conditions:
thresholdSeconds
- A positive value indicates the time in seconds that the engine must
be stuck before an event is issued.IAepAsynchronousEventHandler
,
AepEngine.setAsynchronousEventHandler(IAepAsynchronousEventHandler)
public final int getStuckAlertEventThreshold()
setStuckAlertEventThreshold(int)
public final AepEngineDescriptor setPerformDuplicateChecking(boolean val)
When duplicate checking is enabled received messaegs that are deemed duplicates are discarded by the engine. A message is considered to be a duplicate if:
AepEngine
Default Value: Value of AepConstants.PERFORM_DUPLICATE_CHECKING_PROPNAME
property
MessageView.getMessageSender()
,
MessageView.getMessageSequenceNumber()
,
MessageView.getMessageFlow()
,
getSequenceUnsolicitedSends()
public final boolean getPerformDuplicateChecking()
setPerformDuplicateChecking(boolean)
public final AepEngineDescriptor setPerformMidstreamInitializationValidation(boolean val)
Event Sourced
engines.
Can be set to false
to disable the validation check that when operating
with HA Policy of EventSourcing
that the
the first replayed transaction has an id of 2 (e.g. 1 plus the engine's initial
transaction id of 1).
It is not recommended that you disable this check unless it recommended that you do so by Neeve support.
Default Value: Value of AepConstants.PERFORM_MIDSTREAMINIT_VALIDATION_PROPNAME
property
public final boolean getPerformMidstreamInitializationValidation()
Event Sourced
engines.
setPerformMidstreamInitializationValidation(boolean)
public final AepEngineDescriptor setEnableSequenceNumberTrace(boolean val)
Enabling this can assist in diagnosing issues related to the loss, duplicate or out of order events.
When enabled trace will be emitted at debug level to the logger named 'nv.aep.sno'.
It is often times useful to enable this tracing in concert with event and transaction
tracing (see setEnableTransactionTrace(boolean)
and setEnableEventTrace(boolean)
)
Default Value: Value of AepConstants.ENABLE_SEQUENCENUMBER_TRACE_PROPNAME
property
public final boolean getEnableSequenceNumberTrace()
setEnableSequenceNumberTrace(boolean)
public final AepEngineDescriptor setEnableEventTrace(boolean val)
Enabling this is useful in determining the sequence of events processed by the engine
When enabled trace will be emitted at debug level to the logger named 'nv.aep.event'.
It is often times useful to enable this tracing in concert with transaction and sequence
number tracing (see setEnableTransactionTrace(boolean)
and setEnableSequenceNumberTrace(boolean)
)
Default Value: Value of AepConstants.ENABLE_EVENT_TRACE_PROPNAME
property
public final boolean getEnableEventTrace()
setEnableEventTrace(boolean)
public final AepEngineDescriptor setEnableTransactionTrace(boolean val)
Enabling this is useful in determining the relative sequencing and timing of a transaction commit as the commit proceeds to completion
When enabled trace will be emitted at debug level to the logger named 'nv.aep.txn'.
It is often times useful to enable this tracing in concert with sequence number and
event tracing (see setEnableEventTrace(boolean)
and setEnableSequenceNumberTrace(boolean)
)
Default Value: Value of AepConstants.ENABLE_TRANSACTION_TRACE_PROPNAME
property
public final boolean getEnableTransactionTrace()
setEnableTransactionTrace(boolean)
public final AepEngineDescriptor setEnableScheduleTrace(boolean val)
Enabling this is useful for diagnosing issues related to timer execution and scheduling
When enabled trace will be emitted at debug level to the logger named 'nv.aep.sched'.
Default Value: Value of AepConstants.ENABLE_SCHEDULE_TRACE_PROPNAME
property
public final boolean getEnableScheduleTrace()
setEnableScheduleTrace(boolean)
public final AepEngineDescriptor setEnableMessageTrace(boolean val)
When enabled, messages and Entities will be traced at debug level to the tracer named 'nv.aep.msg' at the following points:
AepEngine.HAPolicy.EventSourcing
).
AepEngine.HAPolicy.StateReplication
).
Default Value: Value of AepConstants.ENABLE_MESSAGE_TRACE_PROPNAME
property
public final boolean getEnableMessageTrace()
setEnableMessageTrace(boolean)
public final AepEngineDescriptor setMessageTraceInJson(boolean val)
When set to true
The message will be printed in Json format, otherwise
message will be traced using its toString method.
Default Value: Value of AepConstants.MESSAGE_TRACE_IN_JSON_PROPNAME
property
public final boolean getMessageTraceInJson()
setMessageTraceInJson(boolean)
public final AepEngineDescriptor setMessageTraceJsonStyle(RogLogUtil.JsonPrettyPrintStyle val)
Default Value: Value of AepConstants.MESSAGE_TRACE_JSONSTYLE_PROPNAME
property
public final RogLogUtil.JsonPrettyPrintStyle getMessageTraceJsonStyle()
setMessageTraceJsonStyle(com.neeve.rog.log.RogLogUtil.JsonPrettyPrintStyle)
public final AepEngineDescriptor setMessageTraceMetadataDisplayPolicy(RogLogUtil.MetadataDisplayPolicy val)
To display only the payload use a value of "Off", to display both metadata and payload use "On". The default behavior ("Only") is to log only metadata.
Default Value: Value of AepConstants.MESSAGE_TRACE_METADATA_DISPLAY_PROPNAME
property
AepConstants.ENABLE_MESSAGE_TRACE_PROPNAME
,
RogLogUtil.MetadataDisplayPolicy
public final RogLogUtil.MetadataDisplayPolicy getMessageTraceMetadataDisplayPolicy()
setMessageTraceMetadataDisplayPolicy(com.neeve.rog.log.RogLogUtil.MetadataDisplayPolicy)
public final AepEngineDescriptor setMessageTraceFilterUnsetFields(boolean val)
Default Value: Value of AepConstants.FILTER_UNSET_FIELDS_IN_MESSAGE_TRACE_PROPNAME
property
public final boolean getMessageTraceFilterUnsetFields()
setMessageTraceFilterUnsetFields(boolean)
public final AepEngineDescriptor setMaxEnvironmentProviders(int val)
Default Value: Value of AepConstants.MAX_ENVIRONMENTPROVIDERS_PROPNAME
property
public final int getMaxEnvironmentProviders()
setMaxEnvironmentProviders(int)
public final AepEngineDescriptor setEnableSendCommitCompleteSequenceAlerts(boolean val)
When enabled the engine will enable checks that stability events are received in an ordered
fashion from bus bindings. If send commit completions occur out of order, then
AepOutOfOrderSendCommitCompletionAlertEvent
events will be dispatched.
There are many cases where it is permissible for commit completions to come back out of order with respect to the order in which the sends in the transaction were completed. When enabled out of order send commit completion checking attempts to take into account cases where transaction T(2) can complete before transact a previous transaction T(1) such as:
Enabling out of order send commit completions is not recommended for normal operation, the checks are
costly, and a lost send commit completion can be better reported using aep engine stuck alerts (see
setStuckAlertEventThreshold(int)
).
Default Value: Value of AepConstants.ENABLE_SENDCOMMITCOMPLETE_SEQUENCEALERTS_PROPNAME
property
public final boolean getEnableSendCommitCompleteSequenceAlerts()
setEnableSendCommitCompleteSequenceAlerts(boolean)
public final AepEngineDescriptor setSetInboundMessagesAsReadOnly(boolean val)
By contract it is illegal for an application to modify an inbound message and this policy is enforced by the AepEngine when message events are received.
Setting this propery to false
prevents the engine from marking inbound
messages as read only, but does not make modifying the message a supported operation.
Modifying a received message can severely compromise the recovery and stability of the
application, and would only be advisable in extreme cases or for testing purposes
when recommended by Neeve support.
Default Value: Value of AepConstants.SET_INBOUNDMESSAGE_ASREADONLY_PROPNAME
property
public final boolean getSetInboundMessagesAsReadOnly()
setSetInboundMessagesAsReadOnly(boolean)
public final AepEngineDescriptor setSetOutboundMessagesAsReadOnly(boolean val)
By contract it is illegal for an application to modify an outbound message after it has been sent..
Setting this propery to false
prevents the engine from marking outbound
messages as read only, but does not make modifying the message a supported operation.
Modifying an output message can severely compromise the recovery and stability of the
application, and would only be advisable in extreme cases or for testing purposes
when recommended by support.
Default Value: Value of AepConstants.SET_OUTBOUNDMESSAGE_ASREADONLY_PROPNAME
property
public final boolean getSetOutboundMessagesAsReadOnly()
setSetInboundMessagesAsReadOnly(boolean)
public final AepEngineDescriptor setCaptureMessageTypeStats(boolean val)
Can be enabled on an engine by engine basis using 'nv.aep.{enginename}.msgtype.stats' where
{enginename} is replaced by the name of the engine as specified in its AepEngineDescriptor
.
Collection of message type specific stats records counts and rates per type as well as message processing time stats for each message which can be useful in finding particular handlers that have high execution times.
Default Value: Value of AepConstants.CAPTURE_MSGTYPE_STATS_PROPNAME
property
public final boolean getCaptureMessageTypeStats()
setCaptureMessageTypeStats(boolean)
public final AepEngineDescriptor setCaptureTransactionLatencyStats(boolean val)
Can be enabled on an engine by engine basis using 'nv.aep.{enginename}.latency.stats' where
{enginename} is replaced by the name of the engine as specified in its AepEngineDescriptor
.
When enabled the following stats are recorded and made available in IAepEngineStats
:
mpproc
mproc
msend
msendc
cstart
cprolo
csend
]
ctrans
cstore
cepilo
cfull
tleg1
tleg2
tleg3
inout
inack
IAepEngineStats
can be traced by enabling
or stats can be collected by a Talon Server.
Default Value: Value of AepConstants.CAPTURE_TRANSACTION_LATENCY_STATS_PROPNAME
property
public final boolean getCaptureTransactionLatencyStats()
setCaptureTransactionLatencyStats(boolean)
public final AepEngineDescriptor setCapturePerTransactionStats(boolean val)
Unlike captureTransactionLatencyStats which records histographical latencies, this setting is much more expensive in that it records and emits individual timestamps for operations that occured in the transaction including store commit timestamps and individual message timestamps.
In most cases the capturing this level of detail is not worth the overhead it incurrs, as the histographical latency captured via captureTransactionLatencyStats is usually sufficient for inferring timings within a given sampling interval. However, in cases where it is critical to determine the exact timings of transaction processing to better understand product behavior it can be useful.
If used in production (which is not recommended), applications should undergo stress testing under maximum peak load to determine the impact of enabling collection of per transaction timings.
This feature is classified as an expiremental feature and is subject to change or be removed without notice
public final boolean getCapturePerTransactionStats()
setCapturePerTransactionStats(boolean)
public final AepEngineDescriptor setCaptureEventLatencyStats(boolean val)
Can be enabled on an engine by engine basis using 'nv.aep.{enginename}.msgtype.stats' where
{enginename} is replaced by the name of the engine as specified in its AepEngineDescriptor
.
Capture event latency stats is useful in determining the amount of time spent by the engine's dispatch thread processing non message events.
Default Value: Value of AepConstants.CAPTURE_EVENT_LATENCY_STATS_PROPNAME
property
public final boolean getCaptureEventLatencyStats()
setCaptureEventLatencyStats(boolean)
public final AepEngineDescriptor setReplicateInParallel(boolean val)
When parallel replication is enabled, the engine replicates inbound messages to the cluster backups in parallel with the processing of the message by the message handler. This parameter only applies to Event Sourced engines
public final boolean getReplicateInParallel()
public final boolean getPreserveChannelJoinsOnStop()
false
to 'leave' channels on clean stop.public final AepEngineDescriptor setPreserveChannelJoinsOnStop(boolean preserveChannelJoinsOnStop)
By default when an engine is stopped without an error bus channels that were 'joined'
will be 'left' meaning that any subscriptions or interests created by the message
bus will be unsubscribed or unregistered. Setting this value to true
causes the engine to preserve channel interest even on a clean shutdown.
Note that this property has no effect for the case where an engine shuts down
with an error (e.g. AepEngine.stop(Exception)
with a non null cause. In
this case channel joins are left in tact allowing a backup to take over.
Note that this behavior can be overridden programatically on a case by case basis
by a handler for AepEngineStoppingEvent
setting AepEngineStoppingEvent.setPreserveChannelJoins(boolean)
,
preserveChannelJoinsOnStop
- Indicates whether or not to preserve joined channel
subscriptions on a normal stop.
AepEngineStoppingEvent.setPreserveChannelJoins(boolean)
public final AepEngineDescriptor setSetSupportMetadata(boolean val)
Setting this property to false
prevents the engine from setting support
related metadata on inbound and outbound messages. Support related metadata is not critical
to the operation of the engine but is useful information set by the engine that can aid
in support, reporting and troubleshooting activities since the metadata is persisted in
the transaction log.
Default Value: Value of AepConstants.SET_SUPPORT_METADATA_PROPNAME
property
public final boolean getSetSupportMetadata()
setSetSupportMetadata(boolean)
public final AepEngineDescriptor setSetOutboundSequenceNumbers(boolean val)
Setting this property to false
prevents the engine from setting sequence
numbers on outbound messages. This is beneficial for very latency sensitive applications
but comes at the cost that messages sent by such configured engines will not be checked
for duplicates by downstream receiving applications.
Default Value: Value of AepConstants.SET_OUTBOUND_SEQUENCE_NUMBERS_PROPNAME
property
public final boolean getSetOutboundSequenceNumbers()
setSetOutboundSequenceNumbers(boolean)
public final AepEngine.InboundEventAcknowledgementPolicy getInboundEventAcknowledgementPolicy()
AepEngine
's AepEngine.InboundEventAcknowledgementPolicy
.
AepEngine.InboundEventAcknowledgementPolicy
public final AepEngineDescriptor setInboundEventAcknowledgementPolicy(AepEngine.InboundEventAcknowledgementPolicy policy)
Note this is an experimental setting. It should not be set in production without guidance from Neeve support.
The general contract of an AepEngine is that it cannot acknowledge up stream events (such as message events) in a transaction until such as the transaction has been stabilized to the point that in the event of a failure the message will not be lost.
When the engine is not configured with a store this property has no effect and events are acknowledged when the entire transaction is committed (e.g. when downstream acknowledgements are received.)
policy
- the InboundEventAcknowledgementPolicy for the engine.
public final boolean getSyncInjectedMessages()
MessageView.sync()
is called during AepEngine.injectMessage(com.neeve.rog.IRogMessage)
.
setSyncInjectedMessages(boolean)
public final void setSyncInjectedMessages(boolean syncInjectedMessages)
MessageView.sync()
is called during AepEngine.injectMessage(com.neeve.rog.IRogMessage)
.
When using Event Sourcing or inbound message logging injected messages injected messages may be replicated and/or persisted to disk. To do so means that the contents of the message must be synced. By doing sync() during the inject call, it can save the engine's processor thread cpu cycles.
syncInjectedMessages
- True to enable sync on message injection.public final void save(IConfigRepository repo) throws EAepException
repo
- The configuration respository to save the descriptor to.
EAepException
- Thrown in case an error in encountered while
saving the descriptor.This method saves an AEP engine descriptor to a configuration repository. The descriptor is saved in a format suitable for loading subsequently using any of the load methods offered by this class.
public final void save() throws EAepException
EAepException
This method saves an AEP engine descriptor to the default configuration respository. The descriptor is saved in a format suitable for loading subsequently using any of the load methods offered in this class.
public final void delete(IConfigRepository repo) throws EAepException
repo
- The configuration respository to delete the descriptor from.
EAepException
- Thrown in case an error in encountered during the
deletion of the descriptor.This method permanently deletes an AEP engine descriptor from a configuration repository.
public final void delete() throws EAepException
EAepException
- Thrown in case an error in encountered during the
deletion of the descriptor.This method permanently deletes an AEP engine descriptor from the default configuration repository.
public static AepEngineDescriptor create(String name)
name
- The engine name.public static boolean exists(IConfigRepository repo, String name)
repo
- The configuration respository to check in.name
- The name of the engine to check for.public static boolean exists(String name)
name
- The name of the engine to check for.public static AepEngineDescriptor load(IConfigRepository repo, String name) throws EAepException
repo
- The configuration respository to create it from.name
- The name of the engine whose descriptor is to be prepared.
EAepException
This method creates and initializes an AEP engine descriptor from a configuration repository.
public static AepEngineDescriptor load(String name) throws EAepException
name
- The name of the engine whose descriptor is to be prepared.
EAepException
This method creates and initializes an AEP engine descriptor from the default configuration repository.
public static Set<AepEngineDescriptor> loadAll(IConfigRepository repo) throws EAepException
repo
- The configuration respository from where to create the engines.
EAepException
public static Set<AepEngineDescriptor> loadAll() throws EAepException
EAepException
public final String toString()
toString
in class Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |