Class AdaptrisMessageWorkerImp
- java.lang.Object
-
- com.adaptris.core.AdaptrisMessageWorkerImp
-
- All Implemented Interfaces:
AdaptrisComponent
,AdaptrisMessageWorker
,ComponentLifecycle
,ComponentLifecycleExtension
,MessageEventGenerator
- Direct Known Subclasses:
AdaptrisMessageConsumerImp
,AdaptrisMessageProducerImp
public abstract class AdaptrisMessageWorkerImp extends java.lang.Object implements AdaptrisMessageWorker
Implementation of behaviour common to
AdaptrisMessageConsumer
andAdaptrisMessageProducer
.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.slf4j.Logger
log
-
Constructor Summary
Constructors Constructor Description AdaptrisMessageWorkerImp()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
createName()
Create a name for anyMleMarker
that is generated.java.lang.String
createQualifier()
Create a qualifier for anyMleMarker
that is generated.AdaptrisMessage
decode(byte[] bytes)
Decodes the passed byte[] using the configuredAdaptrisMessageEncoder
.byte[]
encode(AdaptrisMessage msg)
Encode the passed message using the configuredAdaptrisMessageEncoder
.AdaptrisMessageEncoder
getEncoder()
Returns theAdaptrisMessageEncoder
to use.java.lang.Boolean
getIsTrackingEndpoint()
AdaptrisMessageFactory
getMessageFactory()
java.lang.String
getUniqueId()
Get the unique-id that is associated with this component.void
handleConnectionException()
Called if a connection exception is encountered.boolean
isTrackingEndpoint()
Returns true if this should be considered an 'end-point' for tracking purposes, otherwise false.void
registerConnection(AdaptrisConnection conn)
Sets theAdaptrisConnection
this component will use.protected void
registerEncoderMessageFactory()
<T> T
retrieveConnection(java.lang.Class<T> type)
Return this components underlying connection.void
setEncoder(AdaptrisMessageEncoder enc)
Sets theAdaptrisMessageEncoder
to use.void
setIsTrackingEndpoint(java.lang.Boolean b)
void
setMessageFactory(AdaptrisMessageFactory f)
Set the message factory used when creating AdaptrisMessage instances.void
setUniqueId(java.lang.String s)
<T extends AdaptrisMessageWorkerImp>
TwithMessageFactory(AdaptrisMessageFactory f)
<T extends AdaptrisMessageWorkerImp>
TwithUniqueID(java.lang.String uid)
-
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.ComponentLifecycle
close, init, start, stop
-
Methods inherited from interface com.adaptris.core.ComponentLifecycleExtension
prepare
-
-
-
-
Method Detail
-
handleConnectionException
public void handleConnectionException() throws CoreException
Description copied from interface:AdaptrisMessageWorker
Called if a connection exception is encountered. Generally this will be when a polling consumer fails to obtain input, when a producer fails to produce or when some third party thread such as JMS exception listener is invoked.
- Specified by:
handleConnectionException
in interfaceAdaptrisMessageWorker
- Throws:
CoreException
- wrapping underlying Exceptions- See Also:
#handleConnectionException()
-
createName
public java.lang.String createName()
Description copied from interface:MessageEventGenerator
Create a name for anyMleMarker
that is generated.The default implementation is to return the classname of the component in question.
* @return the name for anyMleMarker
that is generated.- Specified by:
createName
in interfaceMessageEventGenerator
-
createQualifier
public java.lang.String createQualifier()
Description copied from interface:MessageEventGenerator
Create a qualifier for anyMleMarker
that is generated.The default implementation is to return the unique-id of the component in question, or the empty string if not configured
- Specified by:
createQualifier
in interfaceMessageEventGenerator
- Returns:
- the qualifier for any
MleMarker
that is generated.
-
encode
public byte[] encode(AdaptrisMessage msg) throws CoreException
Description copied from interface:AdaptrisMessageWorker
Encode the passed message using the configured
AdaptrisMessageEncoder
. If no AME is configured implementations should returnmsg.getBytes()
.- Specified by:
encode
in interfaceAdaptrisMessageWorker
- Parameters:
msg
- theAdaptrisMessage
to encode- Returns:
- the
AdaptrisMessage
encoded as a byte[] - Throws:
CoreException
- wrapping any that occur
-
decode
public AdaptrisMessage decode(byte[] bytes) throws CoreException
Description copied from interface:AdaptrisMessageWorker
Decodes the passed byte[] using the configured
AdaptrisMessageEncoder
. If no AME is configured, implementations should just set the byte[] as the payload of a new message.- Specified by:
decode
in interfaceAdaptrisMessageWorker
- Parameters:
bytes
- the byte[] to decode- Returns:
- an
AdaptrisMessage
- Throws:
CoreException
- wrapping any that occur
-
getEncoder
public AdaptrisMessageEncoder getEncoder()
Description copied from interface:AdaptrisMessageWorker
Returns the
AdaptrisMessageEncoder
to use.- Specified by:
getEncoder
in interfaceAdaptrisMessageWorker
- Returns:
- the
AdaptrisMessageEncoder
to use
-
setEncoder
public void setEncoder(AdaptrisMessageEncoder enc)
Description copied from interface:AdaptrisMessageWorker
Sets the
AdaptrisMessageEncoder
to use.- Specified by:
setEncoder
in interfaceAdaptrisMessageWorker
- Parameters:
enc
- theAdaptrisMessageEncoder
to use
-
retrieveConnection
public <T> T retrieveConnection(java.lang.Class<T> type)
Description copied from interface:AdaptrisMessageWorker
Return this components underlying connection.- Specified by:
retrieveConnection
in interfaceAdaptrisMessageWorker
- Parameters:
type
- the type of connection to cast to.- Returns:
- the connection
-
registerConnection
public void registerConnection(AdaptrisConnection conn)
Description copied from interface:AdaptrisMessageWorker
Sets the
AdaptrisConnection
this component will use.- Specified by:
registerConnection
in interfaceAdaptrisMessageWorker
- Parameters:
conn
- theAdaptrisConnection
to use
-
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
-
setUniqueId
public void setUniqueId(java.lang.String s)
-
getIsTrackingEndpoint
public java.lang.Boolean getIsTrackingEndpoint()
-
isTrackingEndpoint
public boolean isTrackingEndpoint()
Description copied from interface:MessageEventGenerator
Returns true if this should be considered an 'end-point' for tracking purposes, otherwise false.
- Specified by:
isTrackingEndpoint
in interfaceMessageEventGenerator
- Returns:
- true if this should be considered an 'end-point' for tracking purposes, otherwise false
-
setIsTrackingEndpoint
public void setIsTrackingEndpoint(java.lang.Boolean b)
-
getMessageFactory
public AdaptrisMessageFactory getMessageFactory()
- Specified by:
getMessageFactory
in interfaceAdaptrisMessageWorker
- Returns:
- the messageFactory
-
setMessageFactory
public void setMessageFactory(AdaptrisMessageFactory f)
Description copied from interface:AdaptrisMessageWorker
Set the message factory used when creating AdaptrisMessage instances.- Specified by:
setMessageFactory
in interfaceAdaptrisMessageWorker
- Parameters:
f
- the messageFactory to set
-
withMessageFactory
public <T extends AdaptrisMessageWorkerImp> T withMessageFactory(AdaptrisMessageFactory f)
-
withUniqueID
public <T extends AdaptrisMessageWorkerImp> T withUniqueID(java.lang.String uid)
-
registerEncoderMessageFactory
protected void registerEncoderMessageFactory()
-
-