Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-4468

TimeStampPlugin doesn't work with Stomp

    XMLWordPrintableJSON

Details

    Description

      Stomp producers cannot set the JMSTimestamp or timestamp header. Activemq always adds a timestamp header and overrides a set value. Therefore, the expires header cannot be recalculated according to Activemq time according to the description for TimeStampPlugin. TimeStampPlugin works for JMS producers because the JMSExpiration UTC can be adjusted up/down according to the difference between JMSTimestamp and Activemq UTC.

      Example:

      ActiveMQ time is 2pm UTC
      Stomp producer time is 1:03pm UTC.
      Stomp expires time is 1:03pm + 15 minutes: 1:18pm UTC.

      ActiveMQ will throw this message away with TimeStampPlugin enabled.
      ActiveMQ will deliver this message for a JMSProducer.

      Recommendation:

      1)

      ActiveMQ should allow Stomp producers to set a timestamp or JMSTimestamp header.

      if( Stomp Message Timestamp Header ) {

      use header
      }
      else {

      add timestamp header
      }

      2)

      Add the disableTimeStampsByDefault=true feature to the stomp protocol URI.

      Attachments

        Activity

          People

            tabish Timothy A. Bish
            aletheia7 Erik
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: