1 Reply Latest reply on Sep 23, 2014 10:10 AM by Magesh Bojan

    Are SwitchYard Rest Service end points Single threaded?

    satyajit das Newbie

      Hi,

      We are using 1.1.1-p5-redhat-1 switchyard

      Here is the sample service endpoint defined in our application:

      @Path("/operations/in-operation")

      public interface InOperationResource {

        @GET

        @Path("/summary")

        @Produces("application/json")

        public String getInOperationSummary(@QueryParam("at-date") String atdate,

        @QueryParam("company-id") String companyid);

       

        @GET

        @Path("/excel")

        @Produces("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")

        public Response getExcelExport(@QueryParam("at-date") String atdate,

        @QueryParam("company-id") String companyid);

       

      --------------

      Other Endpoints

      ---------------

       

      }

      The one with path Excel takes a bit long time as it calls several services internally before converting the JSONs into an excel file.

      When more than one request comes for this same endpoint, only one request is active all others requests waits till the first request is complete. It is done one by one.

      Our application flow is like ->Composer ->Validator-> Service Bean

      I have enabled throttling option in switchyard.xml. Still it is behaving as single threaded model. Only one JBOSS worker thread serves all the request serially.

      Though request for different end points execute in different parallel worker threads.

      Is there any setting that will enable request for same end point run in parallel threads?

       

      Thanks and best regards,

      Satyajit