|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbiz.hammurapi.config.ComponentBase
biz.hammurapi.jms.MessageProcessor
biz.hammurapi.jms.Adapter
public abstract class Adapter
Base class for JMS adapters which operate on two queue pairs.
Field Summary | |
---|---|
protected int |
backEndAcknowledgeMode
|
protected javax.jms.Connection |
backEndConnection
|
protected javax.jms.ConnectionFactory |
backEndConnectionFactory
|
protected javax.naming.Context |
backEndInitialContext
|
protected long |
backEndRequestTimeToLive
|
protected long |
backEndTimeout
|
protected boolean |
isBackEndTransacted
|
protected long |
replyTimeToLive
|
Fields inherited from class biz.hammurapi.jms.MessageProcessor |
---|
acknowledgeMode, connection, connectionFactory, initialContext, isTransacted, logger, restartCommand, worker |
Fields inherited from class biz.hammurapi.config.ComponentBase |
---|
owner |
Constructor Summary | |
---|---|
Adapter()
|
Method Summary | |
---|---|
protected javax.jms.Session |
borrowBackEndSession()
This implementation simply creates a new session. |
protected java.lang.Object |
getChild(java.lang.String name)
Provides access to back-end destination, reply destinations, initial context, and connection in addition to objects accessible through superclass getChild() method. |
protected javax.jms.Message |
handleException(java.lang.Exception exception,
javax.jms.Session frontEndSession)
Method to report exceptions to fron-end (excluding JMS exceptions in front-end JMS objects). |
protected java.lang.String |
messageSelector(javax.jms.Message backEndRequest)
Extracts message selector for reply back-end message from the back-end request message. |
protected void |
processMessage(javax.jms.Message request,
javax.jms.Session session)
Processes request message by passing to processRequest() and processResponse() methods. |
protected abstract javax.jms.Message |
processReply(javax.jms.Message backEndReply,
javax.jms.Message frontEndRequest,
javax.jms.Session frontEndSession,
javax.jms.Session backEndSession)
Processes back-end reply and forms reply to front-end. |
protected abstract javax.jms.Message |
processRequest(javax.jms.Message frontEndRequest,
javax.jms.Session frontEndSession,
javax.jms.Session backEndSession)
Processes front-end request message and builds back-end request message. |
protected void |
releaseBackEndSession(javax.jms.Session session)
This implementation simply closes the session. |
void |
setBackEndAcknowledgeMode(java.lang.String acknowledgeModeName)
Back-end acknoledge mode. |
void |
setBackEndConnection(javax.jms.Connection connection)
Explicitly sets back-end connection. |
void |
setBackEndConnectionFactory(java.lang.String connectionFactoryName)
Back-end JMS connection name. |
void |
setBackEndDestination(java.lang.String destinationName)
Back-end request destination (queue or topic) name. |
void |
setBackEndInitialContext(javax.naming.Context initialContext)
Initial context to look-up back-end destinations and connection factory. |
void |
setBackEndReplyDestination(java.lang.String destinationName)
Back-end reply destination (queue or topic) name. |
void |
setBackEndRequestTimeToLive(long backEndRequestTimeToLive)
Time to live for back-end request |
void |
setBackEndTimeout(long backEndTimeout)
Timeout for backend reply. |
void |
setBackEndTransacted(boolean isTransacted)
Transactional attribute of back-end JMS Session. |
void |
setBackEndUser(java.lang.String user)
Back-end JMS Connection user name. |
void |
setPassword(java.lang.String pwd)
Back-end JMS Connection password. |
void |
setReplyDestination(java.lang.String destinationName)
Front-end reply destination (queue or topic) name. |
void |
setReplyTimeToLive(long replyTimeToLive)
Time to live for reply. |
void |
start()
|
void |
stop()
Stops worker (thread pool), if any, and connection. |
Methods inherited from class biz.hammurapi.jms.MessageProcessor |
---|
_processMessage, borrowSession, releaseSession, setAcknowledgeMode, setConnection, setConnectionFactory, setDestination, setInitialContext, setListeners, setLogger, setMessageSelector, setNoLocal, setRestartCommand, setTransacted, setUser, setWorker |
Methods inherited from class biz.hammurapi.config.ComponentBase |
---|
addMeasurement, get, getMeasurementConsumer, getOwner, getOwner, setMeasurementConsumer, setOwner |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected javax.naming.Context backEndInitialContext
protected javax.jms.Connection backEndConnection
protected boolean isBackEndTransacted
protected int backEndAcknowledgeMode
protected long replyTimeToLive
protected long backEndRequestTimeToLive
protected long backEndTimeout
protected javax.jms.ConnectionFactory backEndConnectionFactory
Constructor Detail |
---|
public Adapter()
Method Detail |
---|
public void setBackEndInitialContext(javax.naming.Context initialContext)
initialContext
- public void setBackEndDestination(java.lang.String destinationName)
destinationName
- public void setBackEndReplyDestination(java.lang.String destinationName)
destinationName
- public void setReplyDestination(java.lang.String destinationName)
destinationName
- public void setBackEndConnectionFactory(java.lang.String connectionFactoryName)
connectionName
- public void setBackEndTimeout(long backEndTimeout)
backEndTimeout
- public void setReplyTimeToLive(long replyTimeToLive)
replyTimeToLive
- public void setBackEndRequestTimeToLive(long backEndRequestTimeToLive)
backEndRequestTimeToLive
- public void setBackEndAcknowledgeMode(java.lang.String acknowledgeModeName)
acknowledgeModeName
- public void setBackEndConnection(javax.jms.Connection connection)
connection
- public void setBackEndTransacted(boolean isTransacted)
isTransacted
- public void setBackEndUser(java.lang.String user)
user
- public void setPassword(java.lang.String pwd)
setPassword
in class MessageProcessor
pwd
- public void start() throws biz.hammurapi.config.ConfigurationException
start
in interface biz.hammurapi.config.Component
start
in class MessageProcessor
biz.hammurapi.config.ConfigurationException
protected void processMessage(javax.jms.Message request, javax.jms.Session session)
processMessage
in class MessageProcessor
request
- Request messagesession
- Session if message is processed in the message listener thread
(worker is null or cannot process jobs), null otherwise.protected abstract javax.jms.Message processRequest(javax.jms.Message frontEndRequest, javax.jms.Session frontEndSession, javax.jms.Session backEndSession)
request
- Request from front-endfrontEndSession
- Front-end JMS sessionbackEndSession
- Back-end JMS session. Equals to the front-end session if back
end connection is not set and the front-end connection is used
to connect to both front and back end.
protected abstract javax.jms.Message processReply(javax.jms.Message backEndReply, javax.jms.Message frontEndRequest, javax.jms.Session frontEndSession, javax.jms.Session backEndSession)
backEndReply
- Reply message from back-end. Null if request timed out.frontEndRequest
- Original request from front end.frontEndSession
- Front-end JMS session.backEndSession
- Back-end JMS session. Equals to the front-end session if back
end connection is not set and the front-end connection is used
to connect to both front and back end.
protected javax.jms.Message handleException(java.lang.Exception exception, javax.jms.Session frontEndSession)
exception
- Exception to reportfrontEndSession
- Front-end JMS session
protected java.lang.String messageSelector(javax.jms.Message backEndRequest) throws javax.jms.JMSException
"JMSCorrelationID='" +backEndRequest.getJMSMessageID()+"'"
backEndRequest
-
javax.jms.JMSException
public void stop() throws biz.hammurapi.config.ConfigurationException
stop
in interface biz.hammurapi.config.Component
stop
in class MessageProcessor
biz.hammurapi.config.ConfigurationException
protected javax.jms.Session borrowBackEndSession() throws javax.jms.JMSException
javax.jms.JMSException
protected void releaseBackEndSession(javax.jms.Session session) throws javax.jms.JMSException
javax.jms.JMSException
protected java.lang.Object getChild(java.lang.String name)
getChild
in class MessageProcessor
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |