package Ġcom . vi ir rt us . queue Over Http . service . task Ċ Ċ import Ġcom . vi ir rt us . queue Over Http . dto . Http Subscription Method Ċ import Ġcom . vi ir rt us . queue Over Http . queue . Associated Message Ċ import Ġorg . apache . http . HttpResponse Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġjava . util . concurrent . Comp letableFuture Ċ Ċ /** Ċ Ġ* ĠTask Ġfor Ġdispatch ing Ġ[ message ] Ġover ĠHTTP . Ċ Ġ*/ Ċ class ĠHttp Dispatch Task ( ĊĠĠĠĠĠĠĠ Ġmessage : ĠAssoci ated Message , ĊĠĠĠĠĠĠĠ ĠexecutorService : ĠTask ExecutorService , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdispatcher : ĠHttp Message Dispatcher Ċ ) Ġ: ĠDispatch Task < HttpResponse >( message , ĠexecutorService ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġhttp Subscription Method Ġ= Ġsubscription Method Ġas ĠHttp Subscription Method ĊĊĠĠĠ Ġoverride Ġfun Ġexecute (): ĠCompletableFuture < HttpResponse > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= Ġhttp Subscription Method . uri ĊĠĠĠĠĠĠĠ Ġreturn Ġdispatcher . dispatch ( uri , Ġmessage ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTask Ġsuccessfully Ġexecuted Ġwhen Ġwe Ġreceive Ġa Ġnon Ġ 4 xx Ġor Ġ 5 xx ĊĠĠĠĠ Ġ* Ġstatus Ġcode Ġin Ġreply . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Task Completed ( result : ĠHttpResponse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= ĠHttpStatus . valueOf ( result . status Line . statusCode ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! status . isError ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Task Completed ( result ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warn (" Error Ġwhile Ġexecuting Ġtask Ġ$ this Ġover ĠHTTP . ĠConsumer Ġresponse Ġwith Ġ$ status Ġstatus Ġ(${ result . status Line }). ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Task Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Http Dispatch Task :: class . java ) ĊĠĠĠ Ġ} Ċ }