Tuscany
  1. Tuscany
  2. TUSCANY-4018

JMS TransportServiceInterceptor using wrong values to set JMS headers in producer

    Details

    • Patch Info:
      Patch Available

      Description

      In TransportServiceInterceptor.invokeResponse is setting the effective TimeToLive, Priority in the response message, but when the values are set in the producer, the values from the request are used, potentially leading to an incorrect value. So the following:

      // Set jms header attributes in producer, not message.
      int deliveryMode = requestJMSMsg.getJMSDeliveryMode();
      producer.setDeliveryMode(deliveryMode);
      int deliveryPriority = requestJMSMsg.getJMSPriority();
      producer.setPriority(deliveryPriority);
      long timeToLive = requestJMSMsg.getJMSExpiration();
      producer.setTimeToLive(timeToLive);

      Should be:

      // Set jms header attributes in producer, not message.
      producer.setDeliveryMode(responseJMSMsg.getJMSDeliveryMode());
      producer.setPriority(responseJMSMsg.getJMSPriority());
      producer.setTimeToLive(responseJMSMsg.getJMSExpiration());

      1. Tuscany-4018.patch
        2 kB
        Jennifer A Thompson

        Activity

          People

          • Assignee:
            Simon Laws
            Reporter:
            Jennifer A Thompson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development