2 Replies Latest reply on Oct 19, 2009 11:18 AM by tfennelly

    Synchronous Service Invoker Action

    tfennelly

      Hi.

      I'm in the process of adding a Synchronous Service Invoker Action as per JIRA https://jira.jboss.org/jira/browse/JBESB-2785

      Do people have (or know of) any specific requirements?

      All I have in mind right now is something very simple, which is a "SyncServiceInvoker" action that has 2 config params - service category and service name. It routes to the target service and returns the sync response to the action pipeline for processing by the next action in the pipeline.

      Anything else?

        • 1. Re: Synchronous Service Invoker Action
          kconner

          The PRD contains the following, but not all of it makes sense (for example the calling service does not know *how* it has been invoked nor can the response be received within the context of a transaction).

          Invoking a service from the action chain of another service, blocking and waiting N amount of time for a response.
          Time-outs handling:
          - If the calling service (the one with the SSI action) is being executed synchronously then it needs to provide an exception back to its waiting client.
          - If the calling service is being executed asynchronously then the message needs to be sent to the Redelivery Service.
          The waiting for a response should still be within the context of a transaction so that a timeout of the SSI action causes a transactional rollback, no message loss due to SSI action timeout.


          I think it would be better to have the timeout behaviour configurable, so the action has the option of throwing an exception to the caller or continuing the processing in some way. What do you think?

          As for transactions, the action should allow for any encompassing transaction to be suspended (and always resumed on completion) but should not rollback on failure as timeouts are application behaviour.

          Kev

          • 2. Re: Synchronous Service Invoker Action
            tfennelly

            Thanks Kev.