Class EventHandlerBase
- java.lang.Object
-
- com.adaptris.core.EventHandlerBase
-
- All Implemented Interfaces:
AdaptrisComponent
,ComponentLifecycle
,ComponentLifecycleExtension
,EventHandler
,StateManagedComponent
- Direct Known Subclasses:
DefaultEventHandler
public abstract class EventHandlerBase extends java.lang.Object implements EventHandler
Contains behaviour common to implementations of
EventHandler
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
EventHandlerBase.EventEmissary
-
Field Summary
Fields Modifier and Type Field Description protected EventHandlerBase.EventEmissary
eventProducerDelegate
protected org.slf4j.Logger
log
-
Constructor Summary
Constructors Constructor Description EventHandlerBase()
Creates a new instance.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
changeState(ComponentState c)
Updates the state for the componentComponentState
.void
close()
Closes the component.AdaptrisMarshaller
currentMarshaller()
AdaptrisMessageFactory
currentMessageFactory()
protected abstract void
eventHandlerClose()
protected abstract void
eventHandlerInit()
protected abstract void
eventHandlerStart()
protected abstract void
eventHandlerStop()
java.lang.Boolean
getLogAllExceptions()
AdaptrisMarshaller
getMarshaller()
AdaptrisMessageFactory
getMessageFactory()
java.lang.Integer
getShutdownWaitSeconds()
java.lang.String
getUniqueId()
Get the unique-id that is associated with this component.void
init()
Initialises the component.void
registerSourceId(java.lang.String s)
Sets the source id for this EventHandler.void
requestClose()
Request this component is closed.void
requestInit()
Request this component is init'd.void
requestStart()
Request this component is started.void
requestStop()
Request this component is stopped.ComponentState
retrieveComponentState()
Returns the last recordeComponentState
.abstract AdaptrisMessageSender
retrieveProducer()
java.lang.String
retrieveSourceId()
Retrieve the source id for this EventHandler.void
send(Event evt)
Send anEvent
to the configured default destination.void
send(Event evt, java.util.Map<java.lang.String,java.lang.String> properties)
Send anEvent
to the configured default destination.void
setLogAllExceptions(java.lang.Boolean logAllExceptions)
void
setMarshaller(AdaptrisMarshaller m)
Set theAdaptrisMarshaller
implementation to use when sending events.void
setMessageFactory(AdaptrisMessageFactory f)
Set the message factory used when creating AdaptrisMessage instances.void
setShutdownWaitSeconds(java.lang.Integer i)
Set the number of seconds to wait when shutting down any internal threads.void
setUniqueId(java.lang.String s)
int
shutdownWaitSeconds()
void
start()
Starts the component.void
stop()
Stop the component-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.adaptris.core.ComponentLifecycleExtension
prepare
-
-
-
-
Field Detail
-
log
protected transient org.slf4j.Logger log
-
eventProducerDelegate
protected transient EventHandlerBase.EventEmissary eventProducerDelegate
-
-
Method Detail
-
retrieveProducer
public abstract AdaptrisMessageSender retrieveProducer() throws CoreException
- Throws:
CoreException
-
send
public void send(Event evt) throws CoreException
Description copied from interface:EventHandler
Send an
Event
to the configured default destination.- Specified by:
send
in interfaceEventHandler
- Parameters:
evt
- theEvent
to send- Throws:
CoreException
- wrapping any underlying Exceptions
-
send
public void send(Event evt, java.util.Map<java.lang.String,java.lang.String> properties) throws CoreException
Description copied from interface:EventHandler
Send an
Event
to the configured default destination.- Specified by:
send
in interfaceEventHandler
- Parameters:
evt
- theEvent
to sendproperties
- any additional properties that should be sent if possible.- Throws:
CoreException
- wrapping any underlying Exceptions
-
setMarshaller
public void setMarshaller(AdaptrisMarshaller m)
Set theAdaptrisMarshaller
implementation to use when sending events.- Parameters:
m
- the implementation to use, if null thenDefaultMarshaller.getDefaultMarshaller()
is used.
-
getMarshaller
public AdaptrisMarshaller getMarshaller()
-
currentMarshaller
public AdaptrisMarshaller currentMarshaller()
-
registerSourceId
public void registerSourceId(java.lang.String s)
Description copied from interface:EventHandler
Sets the source id for this EventHandler. The source id may be used for routing or replying to events and is generally the unique id of the
Adapter
.- Specified by:
registerSourceId
in interfaceEventHandler
- Parameters:
s
- the source id to be sent as part of theEvent
- See Also:
EventHandler.registerSourceId(java.lang.String)
-
retrieveSourceId
public java.lang.String retrieveSourceId()
Description copied from interface:EventHandler
Retrieve the source id for this EventHandler. The source id may be used for routing or replying to events and is generally the unique id of the
Adapter
.- Specified by:
retrieveSourceId
in interfaceEventHandler
-
currentMessageFactory
public AdaptrisMessageFactory currentMessageFactory() throws CoreException
- Throws:
CoreException
-
getMessageFactory
public AdaptrisMessageFactory getMessageFactory()
- Returns:
- the messageFactory
-
setMessageFactory
public void setMessageFactory(AdaptrisMessageFactory f)
Set the message factory used when creating AdaptrisMessage instances.- Parameters:
f
- the messageFactory to set
-
retrieveComponentState
public ComponentState retrieveComponentState()
Description copied from interface:StateManagedComponent
Returns the last recorde
ComponentState
.- Specified by:
retrieveComponentState
in interfaceStateManagedComponent
- Returns:
- the current
ComponentState
- See Also:
StateManagedComponent.retrieveComponentState()
-
getShutdownWaitSeconds
public java.lang.Integer getShutdownWaitSeconds()
-
shutdownWaitSeconds
public int shutdownWaitSeconds()
-
setShutdownWaitSeconds
public void setShutdownWaitSeconds(java.lang.Integer i)
Set the number of seconds to wait when shutting down any internal threads.- Parameters:
i
- the number of seconds, default if not specified is 60
-
getUniqueId
public java.lang.String getUniqueId()
Description copied from interface:AdaptrisComponent
Get the unique-id that is associated with this component.- Specified by:
getUniqueId
in interfaceAdaptrisComponent
- Returns:
- the unique-id
- See Also:
AdaptrisComponent.getUniqueId()
-
setUniqueId
public void setUniqueId(java.lang.String s)
- See Also:
AdaptrisComponent.getUniqueId()
-
changeState
public void changeState(ComponentState c)
Description copied from interface:StateManagedComponent
Updates the state for the component
ComponentState
.- Specified by:
changeState
in interfaceStateManagedComponent
-
init
public final void init() throws CoreException
Description copied from interface:ComponentLifecycle
Initialises the component.Component initialisation includes config verification, creation of connections etc.
- Specified by:
init
in interfaceComponentLifecycle
- Throws:
CoreException
- wrapping any underlyingException
s
-
eventHandlerInit
protected abstract void eventHandlerInit() throws CoreException
- Throws:
CoreException
-
start
public void start() throws CoreException
Description copied from interface:ComponentLifecycle
Starts the component.Once a component is started it should be ready to process messages. In the case of
AdaptrisMessageConsumer
, calling start will begin message delivery.- Specified by:
start
in interfaceComponentLifecycle
- Throws:
CoreException
- wrapping any underlyingException
s- See Also:
ComponentLifecycle.start()
-
eventHandlerStart
protected abstract void eventHandlerStart() throws CoreException
- Throws:
CoreException
-
eventHandlerStop
protected abstract void eventHandlerStop()
-
stop
public void stop()
Description copied from interface:ComponentLifecycle
Stop the componentA stopped component is not expected to be ready to process messages. In the case of
AdaptrisMessageConsumer
, calling stop will pause message delivery. Throwing aRuntimeException
may cause unintended consequences- Specified by:
stop
in interfaceComponentLifecycle
- See Also:
ComponentLifecycle.stop()
-
close
public void close()
Description copied from interface:ComponentLifecycle
Closes the component.A closed component should release any connections it uses, etc. and clean up completely. Throwing a
RuntimeException
may cause unintended consequences- Specified by:
close
in interfaceComponentLifecycle
- See Also:
ComponentLifecycle.close()
-
eventHandlerClose
protected abstract void eventHandlerClose()
-
getLogAllExceptions
public java.lang.Boolean getLogAllExceptions()
- Returns:
- the logAllExceptions
-
setLogAllExceptions
public void setLogAllExceptions(java.lang.Boolean logAllExceptions)
- Parameters:
logAllExceptions
- the logAllExceptions to set
-
requestInit
public void requestInit() throws CoreException
Description copied from interface:StateManagedComponent
Request this component is init'd.
- Specified by:
requestInit
in interfaceStateManagedComponent
- Throws:
CoreException
- wrapping any underlying Exceptions- See Also:
StateManagedComponent.requestInit()
-
requestStart
public void requestStart() throws CoreException
Description copied from interface:StateManagedComponent
Request this component is started.
- Specified by:
requestStart
in interfaceStateManagedComponent
- Throws:
CoreException
- wrapping any underlying Exceptions- See Also:
StateManagedComponent.requestStart()
-
requestStop
public void requestStop()
Description copied from interface:StateManagedComponent
Request this component is stopped.
- Specified by:
requestStop
in interfaceStateManagedComponent
- See Also:
StateManagedComponent.requestStop()
-
requestClose
public void requestClose()
Description copied from interface:StateManagedComponent
Request this component is closed.
- Specified by:
requestClose
in interfaceStateManagedComponent
- See Also:
StateManagedComponent.requestClose()
-
-