Uploaded image for project: 'Qpid JMS'
  1. Qpid JMS
  2. QPIDJMS-447

Make Source.setDurable available

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 0.39.0, 0.40.0
    • Fix Version/s: None
    • Component/s: qpid-jms-client
    • Labels:
      None
    • Environment:

      Broker: RabbitMQ 3.7.5 with amqpv1 plugin

      Client: QPID-JMS 0.39, 0.40

       

      Description

      Right now it is not possible to set the "durable" field of an amqp "target" by QPID-JMS

      http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-terminus-durability

      We are using RabbitMQ 3.7.5 with it's amqp v1.0 plugin. Without this option it's not possible to produce messages to a durable queue using QPID-JMS. 

      Attaching to a durable queue results in:

      {{

      {'v1_0.error',

      {symbol,<<"amqp:precondition-failed">>}

      ,{utf8,<<"PRECONDITION_FAILED - inequivalent arg 'durable' for queue 'HOST' in vhost '/': received 'false' but current is 'true'">>},undefined}}}

      Using qpid or amqpnetlite with durable = TerminusDurability.CONFIGURATION (1) works fine.

       

      AmqpProducerBuilder.createEndpoint should set the Source.setDurable option like 

      AmqpConsumerBuilder.configureSource does. Maybe by adding setDurable to 

      JmsDestination passed to JmsProducerInfo.

       

      Setting it to "false" by default should not break any existing implementations.

       

       

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                tstollenwerk Thomas Stollenwerk
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Time Tracking

                  Estimated:
                  Original Estimate - 6h
                  6h
                  Remaining:
                  Remaining Estimate - 6h
                  6h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified