fintp_transport
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FinTP::TransportHelper Class Referenceabstract

#include <TransportHelper.h>

Inheritance diagram for FinTP::TransportHelper:

Public Types

enum  TRANSPORT_HELPER_TYPE { WMQ = 1, AMQ = 2, AQ = 3, NONE = 0 }
 
enum  TRANSPORT_MESSAGE_TYPE { TMT_DATAGRAM = 0, TMT_REPLY = 1, TMT_REQUEST = 2, TMT_REPORT = 3 }
 

Public Member Functions

virtual ~TransportHelper ()
 
virtual void connect (const string &queueManagerName="", const string &transportUri="", bool force=false)=0
 
virtual void connect (const string &queueManagerName, const string &transportUri, const string &keyRepository, const string &sslCypherSpec, const string &sslPeerName, bool force=false)
 
virtual void disconnect ()=0
 
virtual bool commit ()=0
 
virtual bool rollback ()=0
 
virtual long getOne (unsigned char *buffer, size_t maxSize, bool syncpoint=true)=0
 
virtual long getOne (ManagedBuffer *buffer, bool syncpoint=true, bool keepJMSHeader=true)=0
 Pull one message from MQ Server and return it in 'ManagedBuffer* buffer'. More...
 
virtual long getGroupMessage (ManagedBuffer *groupMessageBuffer, const string &groupId, bool &isCleaningUp)=0
 
virtual void putOne (unsigned char *buffer, size_t bufferSize, bool syncpoint=true)=0
 
virtual void putGroupMessage (ManagedBuffer *buffer, const string &batchId, long messageSequence, bool isLast)=0
 
virtual void putSAAmessage (const TransportReplyOptions &replyOptions, const string &replyQueue, ManagedBuffer *buffer, const string &batchId, long messageSequence, bool isLast)
 
virtual void putOneRequest (unsigned char *buffer, size_t bufferSize, const string &rtqName, const string &rtqmName, TransportReplyOptions &replyOptions)=0
 
virtual void putOneReply (unsigned char *buffer, size_t bufferSize=0, long feedback=0, TRANSPORT_MESSAGE_TYPE replyType=TMT_REPLY)=0
 
virtual long peek (const string &queue="", bool first=true)=0
 
virtual long getQueueDepth (const string &queueName)=0
 
virtual TRANSPORT_MESSAGE_TYPE getLastMessageType ()=0
 
virtual void clearMessages ()=0
 
virtual string getApplicationName () const =0
 Set message header value when message end up in Dead.letter.queue. More...
 
virtual void setApplicationName (const string &applicationName)=0
 
virtual TransportReplyOptions getLastReplyOptions () const =0
 TODO getLastReplyOptions to return ReplyOptions type. More...
 
string getLastReplyQueue () const
 
virtual string getLastReplyQueueManager () const =0
 
virtual void clearSSLOptions ()=0
 
 DEPRECATED (virtual void openQueue(const string &queueName))
 Common interface. More...
 
 DEPRECATED (virtual void closeQueue())
 
virtual long getOne (ManagedBuffer *buffer)
 
string getLastMessageId () const
 
virtual void setMessageId (const string &messageId)
 
string getLastCorrelId () const
 
virtual void setCorrelationId (const string &correlId)
 
string getLastGroupId () const
 
virtual void setGroupId (const string &groupId)
 
int getLastGroupSequence () const
 
virtual void setMessageFormat (const string &format)=0
 
virtual string getLastMessageFormat () const =0
 
void setReplyUserData (const string &usrData)
 
string getReplyUserData () const
 
time_t getMessagePutTime ()
 
unsigned long getLastMessageLength () const
 
long long getLastFeedback () const
 
bool isLastInGroup () const
 
virtual void setAutoAbandon (const int retries)
 
virtual void setBackupQueue (const string &queueName)
 
long getQueueDepth ()
 

Static Public Member Functions

static TransportHelperCreateHelper (const TransportHelper::TRANSPORT_HELPER_TYPE &helperType)
 Factory method used to instantiate propper TransportHelper. More...
 
static TRANSPORT_HELPER_TYPE parseTransportType (const string &transportType)
 
static AbstractLogPublisher * createMqLogPublisher (const NameValueCollection &propSettings, bool &isDefault)
 

Static Public Attributes

static const string TMT_STRING = "TMT_STRING"
 
static const string TMT_RF_HEADER_2 = "TMT_RF_HEADER_2"
 
static const string TMT_NONE = ""
 

Protected Member Functions

 TransportHelper (unsigned int messageIdLength)
 Private ctor. More...
 

Protected Attributes

const unsigned int m_MessageIdLength
 
string m_QueueName
 
string m_MessageId
 
string m_CorrelationId
 
string m_GroupId
 
int m_GroupSequence
 
bool m_UsePassedMessageId
 
bool m_UsePassedCorrelId
 
bool m_UsePassedGroupId
 
bool m_UsePassedAppName
 
string m_MessagePutDate
 
string m_MessagePutTime
 
string m_ReplyQueue
 
int m_QueueOpenRefCount
 
long long m_Feedback
 
bool m_LastInGroup
 
string m_ReplyUsrData
 
string m_ApplicationName
 
string m_SSLKeyRepository
 
string m_SSLCypherSpec
 
string m_SSLPeerName
 
unsigned int m_MessageLength
 
int m_AutoAbandon
 
string m_BackupQueueName
 
bool m_SaveBackup
 

Member Enumeration Documentation

Enumerator
WMQ 
AMQ 
AQ 
NONE 
Enumerator
TMT_DATAGRAM 
TMT_REPLY 
TMT_REQUEST 
TMT_REPORT 

Constructor & Destructor Documentation

TransportHelper::TransportHelper ( unsigned int  messageIdLength)
protected

Private ctor.

used to initialise all data members of the TransportHelper interface

Every TransportHelper inplementation should provide its own specific parameters

Parameters
[in]'conststring& messageFormat': specific value provided by each implementation to specify string or byte message format
[in]'unsignedint messageIdLength': message ID length used by the core FinTP current implementation of TransportHelper
virtual FinTP::TransportHelper::~TransportHelper ( )
inlinevirtual

Member Function Documentation

virtual void FinTP::TransportHelper::clearMessages ( )
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual void FinTP::TransportHelper::clearSSLOptions ( )
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual bool FinTP::TransportHelper::commit ( )
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual void FinTP::TransportHelper::connect ( const string &  queueManagerName = "",
const string &  transportUri = "",
bool  force = false 
)
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual void FinTP::TransportHelper::connect ( const string &  queueManagerName,
const string &  transportUri,
const string &  keyRepository,
const string &  sslCypherSpec,
const string &  sslPeerName,
bool  force = false 
)
inlinevirtual

Reimplemented in FinTP::WMqHelper, and FinTP::AmqHelper.

TransportHelper * TransportHelper::CreateHelper ( const TransportHelper::TRANSPORT_HELPER_TYPE helperType)
static

Factory method used to instantiate propper TransportHelper.

Every FinTP component that communicate with MQ Server, has a configuration key that specify its TransportHelper type The component only call 'CreateHelper( const string& helperType )' and pass configured helperType in order to instatiate its TransportHelper

Parameters
[in]'conststring& helperType'
AbstractLogPublisher * TransportHelper::createMqLogPublisher ( const NameValueCollection &  propSettings,
bool &  isDefault 
)
static

TODO Use of new Log.PublisherMQ.URI as connection string by ne new ctor.MQLogPublisher( const string& m_ConnectionString, const string& helperType )

FinTP::TransportHelper::DEPRECATED ( virtual void   openQueueconst string &queueName)
inline

Common interface.

FinTP::TransportHelper::DEPRECATED ( virtual void   closeQueue())
inline
virtual void FinTP::TransportHelper::disconnect ( )
pure virtual

Implemented in FinTP::AmqHelper, and FinTP::WMqHelper.

virtual string FinTP::TransportHelper::getApplicationName ( ) const
pure virtual

Set message header value when message end up in Dead.letter.queue.

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual long FinTP::TransportHelper::getGroupMessage ( ManagedBuffer *  groupMessageBuffer,
const string &  groupId,
bool &  isCleaningUp 
)
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

string FinTP::TransportHelper::getLastCorrelId ( ) const
inline
long long FinTP::TransportHelper::getLastFeedback ( ) const
inline
string FinTP::TransportHelper::getLastGroupId ( ) const
inline
int FinTP::TransportHelper::getLastGroupSequence ( ) const
inline
virtual string FinTP::TransportHelper::getLastMessageFormat ( ) const
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

string FinTP::TransportHelper::getLastMessageId ( ) const
inline
unsigned long FinTP::TransportHelper::getLastMessageLength ( ) const
inline
virtual TRANSPORT_MESSAGE_TYPE FinTP::TransportHelper::getLastMessageType ( )
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual TransportReplyOptions FinTP::TransportHelper::getLastReplyOptions ( ) const
pure virtual

TODO getLastReplyOptions to return ReplyOptions type.

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

string FinTP::TransportHelper::getLastReplyQueue ( ) const
inline
virtual string FinTP::TransportHelper::getLastReplyQueueManager ( ) const
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

time_t TransportHelper::getMessagePutTime ( )
virtual long FinTP::TransportHelper::getOne ( unsigned char *  buffer,
size_t  maxSize,
bool  syncpoint = true 
)
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual long FinTP::TransportHelper::getOne ( ManagedBuffer *  buffer,
bool  syncpoint = true,
bool  keepJMSHeader = true 
)
pure virtual

Pull one message from MQ Server and return it in 'ManagedBuffer* buffer'.

Syncpoit participation is mandatory if transaction should be controlled by application Is method responsibility to set all ids for currently fetch message ( i.e m_MessageId, m_CorrelationId )

Parameters
ManagedBuffer*buffer:returned MQ message
boolsyncpoint: true value, make the operation part of unit of work spanned over multiple operation
boolkeepJMSHeader: true value, make MQ header part of buffer

Implemented in FinTP::AmqHelper, and FinTP::WMqHelper.

virtual long FinTP::TransportHelper::getOne ( ManagedBuffer *  buffer)
inlinevirtual
virtual long FinTP::TransportHelper::getQueueDepth ( const string &  queueName)
pure virtual

Implemented in FinTP::WMqHelper.

long FinTP::TransportHelper::getQueueDepth ( )
inline
string FinTP::TransportHelper::getReplyUserData ( ) const
inline
bool FinTP::TransportHelper::isLastInGroup ( ) const
inline
TransportHelper::TRANSPORT_HELPER_TYPE TransportHelper::parseTransportType ( const string &  transportType)
static
virtual long FinTP::TransportHelper::peek ( const string &  queue = "",
bool  first = true 
)
pure virtual

Implemented in FinTP::WMqHelper.

virtual void FinTP::TransportHelper::putGroupMessage ( ManagedBuffer *  buffer,
const string &  batchId,
long  messageSequence,
bool  isLast 
)
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual void FinTP::TransportHelper::putOne ( unsigned char *  buffer,
size_t  bufferSize,
bool  syncpoint = true 
)
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual void FinTP::TransportHelper::putOneReply ( unsigned char *  buffer,
size_t  bufferSize = 0,
long  feedback = 0,
TRANSPORT_MESSAGE_TYPE  replyType = TMT_REPLY 
)
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual void FinTP::TransportHelper::putOneRequest ( unsigned char *  buffer,
size_t  bufferSize,
const string &  rtqName,
const string &  rtqmName,
TransportReplyOptions replyOptions 
)
pure virtual

Implemented in FinTP::WMqHelper.

void TransportHelper::putSAAmessage ( const TransportReplyOptions replyOptions,
const string &  replyQueue,
ManagedBuffer *  buffer,
const string &  batchId,
long  messageSequence,
bool  isLast 
)
virtual

Reimplemented in FinTP::WMqHelper.

virtual bool FinTP::TransportHelper::rollback ( )
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

virtual void FinTP::TransportHelper::setApplicationName ( const string &  applicationName)
pure virtual

Implemented in FinTP::WMqHelper.

void TransportHelper::setAutoAbandon ( const int  retries)
virtual
void TransportHelper::setBackupQueue ( const string &  queueName)
virtual
void TransportHelper::setCorrelationId ( const string &  correlId)
virtual
void TransportHelper::setGroupId ( const string &  groupId)
virtual
virtual void FinTP::TransportHelper::setMessageFormat ( const string &  format)
pure virtual

Implemented in FinTP::WMqHelper, and FinTP::AmqHelper.

void TransportHelper::setMessageId ( const string &  messageId)
virtual
void FinTP::TransportHelper::setReplyUserData ( const string &  usrData)
inline

Member Data Documentation

string FinTP::TransportHelper::m_ApplicationName
protected
int FinTP::TransportHelper::m_AutoAbandon
protected
string FinTP::TransportHelper::m_BackupQueueName
protected
string FinTP::TransportHelper::m_CorrelationId
protected
long long FinTP::TransportHelper::m_Feedback
protected
string FinTP::TransportHelper::m_GroupId
protected
int FinTP::TransportHelper::m_GroupSequence
protected
bool FinTP::TransportHelper::m_LastInGroup
protected
string FinTP::TransportHelper::m_MessageId
protected
const unsigned int FinTP::TransportHelper::m_MessageIdLength
protected
unsigned int FinTP::TransportHelper::m_MessageLength
protected
string FinTP::TransportHelper::m_MessagePutDate
protected
string FinTP::TransportHelper::m_MessagePutTime
protected
string FinTP::TransportHelper::m_QueueName
protected
int FinTP::TransportHelper::m_QueueOpenRefCount
protected
string FinTP::TransportHelper::m_ReplyQueue
protected
string FinTP::TransportHelper::m_ReplyUsrData
protected
bool FinTP::TransportHelper::m_SaveBackup
protected
string FinTP::TransportHelper::m_SSLCypherSpec
protected
string FinTP::TransportHelper::m_SSLKeyRepository
protected
string FinTP::TransportHelper::m_SSLPeerName
protected
bool FinTP::TransportHelper::m_UsePassedAppName
protected
bool FinTP::TransportHelper::m_UsePassedCorrelId
protected
bool FinTP::TransportHelper::m_UsePassedGroupId
protected
bool FinTP::TransportHelper::m_UsePassedMessageId
protected
const string TransportHelper::TMT_NONE = ""
static
const string TransportHelper::TMT_RF_HEADER_2 = "TMT_RF_HEADER_2"
static
const string TransportHelper::TMT_STRING = "TMT_STRING"
static

The documentation for this class was generated from the following files: