package Ġcom . ying ta oh uo . wx event Ċ Ċ import Ġcom . rabbitmq . client .* Ċ import Ġcom . ying ta oh uo . wx event . Config . Broadcast Rabbit MQ Url Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ /** Ċ Ġ* Ġä½ľèĢħ : Ġy in ch ang sh eng @ gmail . com Ċ Ġ* ĠåĪĽå»º äºİ : Ġ 2 0 1 7 / 9 / 1 2 Ċ Ġ* Ġ å¾®ä¿¡ : Ġy in 8 0 8 7 1 9 0 1 Ċ Ġ*/ Ċ Ċ fun Ġcreate Rabbit Conn () Ġ: ĠConnection Ġ{ ĊĠĠĠ Ġval Ġconn Factory Ġ= ĠConnection Factory () ĊĠĠĠ Ġconn Factory . set Uri ( Broadcast Rabbit MQ Url ) ĊĠĠĠ Ġconn Factory . requested Heartbeat Ġ= Ġ 6 0 ĊĠĠĠ Ġreturn Ġconn Factory . new Connection () Ċ } Ċ Ċ // Ġsys _ wx 3 rd Ġsys _ order Ġsys _ wx 3 rd _ test Ċ Ċ fun Ġrabbit MQ Exchange Queue Bind ( conn : ĠConnection , Ġexchange Name : ĠString , Ġqueue Group : ĠList < Pair < String , ĠString >>) Ġ{ ĊĊĠĠĠ Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger (" Rabbit MQ ") ĊĊĠĠĠ Ġval Ġchannel Ġ= Ġconn . create Channel () ĊĊĠĠĠ Ġval Ġis Ok Ġ= Ġchannel . exchange Declare ( exchange Name , Ġ" fan out ", Ġtrue , Ġfalse , Ġnull ) ĊĊĠĠĠ Ġif Ġ( logger . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Ġis Ok Ġ!= Ġnull Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . debug ("$ exchange Name Ġexchange Ġdeclare Ġsuccess ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error ("$ exchange Name Ġexchange Ġdeclare Ġfail ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfor Ġ(( queue Name , Ġrouting Key ) Ġin Ġqueue Group ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġqueue Ġ= Ġchannel . queue Declare ( queue Name , Ġtrue , Ġfalse , Ġfalse , Ġhash Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" x - message - ttl " Ġto Ġ 3 0 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġas ĠMap < String , ĠAny > ?) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( logger . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . debug ("${ queue . queue } Ġconsumer Ġcount Ġ${ queue . consumer Count }, Ġmessage Ġcount Ġ${ queue . message Count }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info (" queue Name : Ġ$ queue Name , Ġexchange Name : Ġ$ exchange Name , Ġrouting Key : Ġ$ routing Key ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Queue Ok Ġ= Ġchannel . queue Bind ( queue Name , Ġexchange Name , Ġrouting Key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Ġlogger . isDebugEnabled Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . debug (" queue Ġ${ is Queue Ok . protocol Method Id () }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġex . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġdump Consume ( queue Name : ĠString ) Ġ{ ĊĊĠĠĠ Ġprintln (" consume Ġ.. ") ĊĊĠĠĠ Ġval Ġconn Ġ= Ġcreate Rabbit Conn () ĊĠĠĠ Ġval Ġchannel Ġ= Ġconn . create Channel () ĊĠĠĠ Ġchannel . basic Consume ( queue Name , Ġobject Ġ: ĠConsumer Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Recover Ok ( consumer Tag : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" consumer Ġhandle Recover Ok ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Consume Ok ( consumer Tag : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" consumer Ġhandle Consume Ok ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Shutdown Signal ( consumer Tag : ĠString ?, Ġsig : ĠShutdown Signal Exception ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" consumer Ġhandle Shutdown Signal ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Cancel ( consumer Tag : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" consumer Ġhandle Cancel ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Delivery ( consumer Tag : ĠString , Ġenvelope : ĠEn velope , Ġproperties : ĠAMQP . Basic Properties ?, Ġbody : ĠByteArray ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Ġbody Ġ!= Ġnull Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("$ consumer Tag Ġconsumer 1 Ġhandle Delivery Ġ${ String ( body )} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . basic Ack ( envelope . delivery Tag , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle Cancel Ok ( consumer Tag : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" consumer Ġhandle Cancel Ok ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ}) Ċ }