4 Replies Latest reply on Jun 3, 2011 6:08 AM by alexpalumbo

    Redelivery when using InVM

    eric_bustad

      I have set up a web service running under JBossESB Server 4.7 that uses InVM transport to queue up incoming SOAP messages for the service.  The problem is that the service often takes more than 30 seconds to finish and the message (which has now been modified w/in the service) is redelivered to the service.

       

      Is there a property that I can set to allow either individual services, or all services using the InVM transport, to run longer before redelivery occurs?

      Of, perhaps, some way to turn off redelivery for such services?

       

      I did find mention of a org.jboss.soa.esb.dls.redeliver property that an be assigned the value "false", which can be placed in a jbossesb-properties.xml file.  But that file is divided into a number of <properties> entities and I say no mention of which the org.jboss.soa.esb.dls.redeliver property belongs to.  And anyway, this file would seem to apply to all queues, not just the InVM queues.

        • 1. Re: Redelivery when using InVM
          asif_phx

          Eric,

           

          If you are using http-gateway as a listener you can set response timeout as

           

          <listeners>

              <http-gateway name="Http" urlPattern="esb-cars/*">

                  <property value="120000"/>

              </http-gateway>

          </listeners>

           

          More information can be found here

           

          http://community.jboss.org/wiki/HTTPGateway#Response_Timeout

           

          asif

          • 2. Re: Redelivery when using InVM
            eric_bustad

            Thanks, I will give that a try!

            • 3. Re: Redelivery when using InVM
              eric_bustad

              OK setting the  synchronousTimeout property with a value lf 12000 didn't seem to make any difference.  But I have found that setting org.jboss.soa.esb.ws.timeout in jbossesb-properties.xml solves the problem for me.

              • 4. Re: Redelivery when using InVM
                alexpalumbo

                Hi, org.jboss.soa.esb.dls.redeliver affects only the DLQ handling when something bad happens, by default is true.

                The property org.jboss.soa.esb.exceptionOnDeliverFailure is releated to the redelivery, by default is false if you set it to true you will force the service invoker to not redeliver the message.

                Those properties can be set in the jbossesb-properties.xml in the jbossesb.sar under the deploy folder in the "core" section , this will affect any service.

                Those properties can be set per message so that you can control that behaviour for each message. To set those properties you could use a custom messagefilter (it's still configured in the jbossesb-properties.xml) or you could use a specific message compeser configured on the listener of the specific service (should be a property named composer-class).

                 

                Regards

                 

                Alessandro

                 

                p.s. Sorry for the late reply