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

Make Source.setDurable available

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.39.0, 0.40.0
    • None
    • qpid-jms-client
    • None
    • 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

              Unassigned Unassigned
              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