import Ġcom . rabbitmq . client . Cancel Callback Ċ import Ġcom . rabbitmq . client . ConnectionFactory Ċ import Ġcom . rabbitmq . client . Deliver Callback Ċ import Ġjava . nio . charset . StandardCharsets Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġtask Queue Name Ġ= Ġ" task _ queue " ĊĠĠĠ Ġval Ġfactory Ġ= ĠConnection Factory () ĊĠĠĠ Ġfactory . host Ġ= Ġ" localhost " ĊĠĠĠ Ġval Ġconnection Ġ= Ġfactory . new Connection () ĊĠĠĠ Ġval Ġchannel Ġ= Ġconnection . create Channel () ĊĊĠĠĠ Ġchannel . queue Declare ( task Queue Name , Ġtrue , Ġfalse , Ġfalse , Ġnull ) ĊĠĠĠ Ġchannel . basic Q os ( 1 ) ĊĊĠĠĠ Ġval Ġdeliver Callback Ġ= ĠDel iver Callback Ġ{ Ġ_, Ġdelivery Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġdelivery . body . toString ( StandardCharsets . UTF _ 8 ) ĊĠĠĠĠĠĠĠ Ġprintln (" Ġ[ x ] ĠReceived Ġ'$ message '") ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Work ( message ) ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Ġ[ x ] ĠDone ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . basic Ack ( delivery . envelope . delivery Tag , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprintln (" Ġ[* ] ĠWaiting Ġfor Ġmessages . ĠTo Ġexit Ġpress ĠCTRL + C ") ĊĠĠĠ Ġchannel . basic Consume ( task Queue Name , Ġfalse , Ġdeliver Callback , ĠCancel Callback Ġ{ Ġ}) Ċ } Ċ Ċ private Ġfun Ġdo Work ( task : ĠString ) Ġ= Ġtask . forEach Ġ{ Ġif Ġ( it Ġ== Ġ'.') ĠThread . sleep ( 1 0 0 0 ) Ġ} Ċ