package Ġno . nav . sy fo . application . mq Ċ Ċ import Ġcom . ibm . msg . client . w mq . common . Common Constants .* Ċ import Ġno . nav . sy fo . Environment Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjavax . jms . J MS Context Ċ import Ġjavax . jms . Message Ċ Ċ private Ġval Ġlog : ĠLogger Ġ= ĠLoggerFactory . getLogger (" no . nav . sy fo . application . mq ") Ċ Ċ interface ĠMQ Sender Interface Ġ{ ĊĠĠĠ Ġfun Ġsend Arena ( payload : ĠString ) ĊĠĠĠ Ġfun Ġsend Receipt ( payload : ĠString ) ĊĠĠĠ Ġfun Ġsend Back out ( message : ĠMessage ) Ċ } Ċ Ċ class ĠMQ Sender ( ĊĠĠĠ Ġval Ġenv : ĠEnvironment , Ċ ) Ġ: ĠMQ Sender Interface Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġj ms Context : ĠJ MS Context Ġ= Ġconnection Factory ( env ). create Context ( env . service user Username , Ġenv . service user Password ) ĊĊĠĠĠ Ġprotected Ġfun Ġfinalize () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj ms Context . close () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exc : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . warn (" Got Ġexception Ġwhen Ġclosing ĠMQ - connection ", Ġexc ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend Arena ( payload : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġqueue Name Ġ= Ġenv . arena Queue Name ĊĠĠĠĠĠĠĠ Ġsend ( queue Name , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend Receipt ( payload : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġqueue Name Ġ= Ġenv . app rec Queue Name ĊĠĠĠĠĠĠĠ Ġsend ( queue Name , Ġpayload ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsend Back out ( message : ĠMessage ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġqueue Name Ġ= Ġenv . input Back out Queue Name ĊĠĠĠĠĠĠĠ Ġj ms Context . create Context ( AUTO _ ACK NOW LED GE ). use Ġ{ Ġcontext Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdestination Ġ= Ġcontext . create Queue (" queue :// /$ queue Name ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . create Producer (). send ( destination , Ġmessage ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsend ( queue Name : ĠString , Ġpayload : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġj ms Context . create Context ( AUTO _ ACK NOW LED GE ). use Ġ{ Ġcontext Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdestination Ġ= Ġcontext . create Queue (" queue :// /$ queue Name ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġcontext . createText Message ( payload ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . create Producer (). send ( destination , Ġmessage ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ