public class PushingIfsaProviderListener extends IfsaListener implements IPortConnectedListener<com.ing.ifsa.IFSAMessage>, IThreadCountControllable, ITransactionRequirements
IPortConnectedListener
that acts as an IFSA-service.
There is no need or possibility to set the ServiceId as the Provider will receive all messages
for this Application on the same serviceQueue.
The following session keys are set for each message:
ifsa.provider.useSelectors=false
For Fire&Forget providers, the message log might get cluttered with messages like:
This is due to a IFSA requirement, that sessions be created using a parameter transacted=true, indicating
JMS transacted sessions.
[1-10-08 17:10:34:382 CEST] 209d4317 ConnectionMan W J2CA0075W: An active transaction should be present while processing method allocateMCWrapper.
[1-10-08 17:10:34:382 CEST] 209d4317 ConnectionMan W J2CA0075W: An active transaction should be present while processing method initializeForUOW
THREAD_CONTEXT_BIFNAME_KEY, THREAD_CONTEXT_ORIGINAL_RAW_MESSAGE_KEY
log
Constructor and Description |
---|
PushingIfsaProviderListener() |
Modifier and Type | Method and Description |
---|---|
void |
afterMessageProcessed(PipeLineResult plr,
RawMessageWrapper<com.ing.ifsa.IFSAMessage> rawMessageWrapper,
PipeLineSession pipeLineSession)
Called to perform actions (like committing or sending a reply) after a message has been processed by the
Pipeline.
|
void |
close()
Close all resources used for listening.
|
void |
configure()
Checks if messageProtocol and serviceId (only for Requestors) are specified
|
void |
decreaseThreadCount() |
int |
getCurrentThreadCount() |
IListenerConnector |
getListenerPortConnector() |
int |
getMaxThreadCount() |
void |
increaseThreadCount() |
boolean |
isThreadCountControllable() |
boolean |
isThreadCountReadable() |
void |
open()
Prepares the listener for receiving messages.
|
void |
setCacheMode(IListenerConnector.CacheMode cacheMode)
Controls caching of JMS objects.
|
void |
setListenerPort(String listenerPort)
Name of the WebSphere listener port that this JMS Listener binds to.
|
boolean |
transactionalAllowed() |
boolean |
transactionalRequired() |
RawMessageWrapper<com.ing.ifsa.IFSAMessage> |
wrapRawMessage(com.ing.ifsa.IFSAMessage rawMessage,
PipeLineSession session)
Wrap a raw message in a MessageWrapper.
|
displayHeaders, extractMessage, extractMessageProperties, getDeliveryCount
cleanUpAfterException, closeReplyReceiver, closeService, closeSession, createSender, createSession, getAckMode, getApplicationId, getExpiry, getExpiry, getLogPrefix, getMessageProtocol, getMessageProtocolEnum, getMessagingSource, getName, getPhysicalDestinationName, getProviderSelector, getReplyReceiver, getServiceId, getServiceQueue, getServiceReceiver, getTimeOut, isJmsTransacted, isProvider, isRequestor, isSessionsArePooled, openService, sendMessage, sendReply, setAckMode, setAcknowledgeMode, setApplicationId, setMessageProtocol, setName, setServiceId, setTimeOut, toString, useSelectorsForProviders
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
checkTransactionManagerValidity, getExceptionListener, getHandler, getReceiver, setReceiver
setExceptionListener, setHandler
extractMessage
getName, setName
getApplicationContext, getName
getConfigurationClassLoader
setApplicationContext
getDomain
public void configure() throws ConfigurationException
IfsaFacade
configure
in interface IConfigurable
configure
in interface IListener<com.ing.ifsa.IFSAMessage>
configure
in class IfsaFacade
ConfigurationException
public void open() throws ListenerException
IListener
open()
is called once each time the listener is started.open
in interface IListener<com.ing.ifsa.IFSAMessage>
ListenerException
public void close() throws ListenerException
IListener
close
in interface IListener<com.ing.ifsa.IFSAMessage>
ListenerException
public boolean transactionalRequired()
transactionalRequired
in interface ITransactionRequirements
public boolean transactionalAllowed()
transactionalAllowed
in interface ITransactionRequirements
public void afterMessageProcessed(PipeLineResult plr, RawMessageWrapper<com.ing.ifsa.IFSAMessage> rawMessageWrapper, PipeLineSession pipeLineSession) throws ListenerException
IListener
afterMessageProcessed
in interface IListener<com.ing.ifsa.IFSAMessage>
ListenerException
public IListenerConnector getListenerPortConnector()
getListenerPortConnector
in interface IPortConnectedListener<com.ing.ifsa.IFSAMessage>
public void setListenerPort(String listenerPort)
listenerPort
- Name of the listener port, as configured in the application
server.public void setCacheMode(IListenerConnector.CacheMode cacheMode)
public boolean isThreadCountReadable()
isThreadCountReadable
in interface IThreadCountControllable
public boolean isThreadCountControllable()
isThreadCountControllable
in interface IThreadCountControllable
public int getCurrentThreadCount()
getCurrentThreadCount
in interface IThreadCountControllable
public int getMaxThreadCount()
getMaxThreadCount
in interface IThreadCountControllable
public void increaseThreadCount()
increaseThreadCount
in interface IThreadCountControllable
public void decreaseThreadCount()
decreaseThreadCount
in interface IThreadCountControllable
public RawMessageWrapper<com.ing.ifsa.IFSAMessage> wrapRawMessage(com.ing.ifsa.IFSAMessage rawMessage, PipeLineSession session)
IPushingListener
PipeLineSession
with properties
from the message.wrapRawMessage
in interface IPushingListener<com.ing.ifsa.IFSAMessage>
rawMessage
- The raw message data, unwrappedsession
- PipeLineSession
to populate with properties from the message.Copyright © 2023 Frank!Framework. All rights reserved.