2020 */
2121public abstract class RESTServiceImpl implements RESTService {
2222
23+ private static final ResponseEvent DEFAULT_REPONSE_EVENT = new ResponseEvent ();
24+
2325 private String mOperationId ;
2426 private String mServiceUniqueId ;
2527 private Vertx mVertx ;
2628 private boolean mEnable = false ;
2729 private Logger mLog ;
2830 private Scheduler mScheduler = Schedulers .io ();
31+ private ResponseEvent mDefaultResponseEvent = DEFAULT_REPONSE_EVENT ;
2932
3033 @ StartService
3134 public void start () {
@@ -39,7 +42,7 @@ public void start() {
3942 .doOnTerminate (() -> getLog ().info (() -> String .format ("%s[%s] service stopped" , getServiceUniqueId (), Thread .currentThread ().getName ())))
4043 .flatMapSingle (this ::handleRequest )
4144 .subscribe (
42- resp -> getLog ().trace (() -> resp .toString ()),
45+ resp -> getLog ().trace (() -> resp .toString ()),
4346 err -> getLog ().error (() -> String .format ("Process exception:[%s],Error:[%s]" , getServiceUniqueId (), ExceptionUtils .getStackTrace (err )))
4447 );
4548 }
@@ -50,13 +53,13 @@ public Single<JsonObject> handleRequest(Message<JsonObject> pMessage) {
5053 .just (pMessage )
5154 .map (m -> pMessage .body ().mapTo (RequestEvent .class ))
5255 .flatMapMaybe (req -> process (req ))
53- .toSingle (new ResponseEvent ())
56+ .toSingle (getDefaultResponseEvent ())
5457 .map (resp -> JsonObject .mapFrom (resp ))
5558 .doOnSuccess (resp -> pMessage .reply (resp ))
5659 .doOnError (err -> {
5760 ResponseEvent resp = new ResponseEvent ()
5861 .setStatusCode (HttpResponseStatus .BAD_REQUEST .code ())
59- .setContentType (MediaType .PLAIN_TEXT_UTF_8 )
62+ .setMediaType (MediaType .PLAIN_TEXT_UTF_8 )
6063 .setBody (ExceptionUtils .getMessage (err ).getBytes ());
6164 pMessage .reply (JsonObject .mapFrom (resp ));
6265 });
@@ -112,4 +115,12 @@ public void setScheduler(Scheduler pScheduler) {
112115 this .mScheduler = pScheduler ;
113116 }
114117
118+ public ResponseEvent getDefaultResponseEvent () {
119+ return mDefaultResponseEvent ;
120+ }
121+
122+ public void setDefaultResponseEvent (ResponseEvent pDefaultResponseEvent ) {
123+ this .mDefaultResponseEvent = pDefaultResponseEvent ;
124+ }
125+
115126}
0 commit comments