Nikolaus Klimek created AMQCPP-453:
--------------------------------------

             Summary: Persistence Flag ActiveMQ C++ - WRONG FLAG CONSTANTS
                 Key: AMQCPP-453
                 URL: https://issues.apache.org/jira/browse/AMQCPP-453
             Project: ActiveMQ C++ Client
          Issue Type: Bug
          Components: CMS Impl
    Affects Versions: 3.5.0, 2.1.1
         Environment: SuSe Linux
            Reporter: Nikolaus Klimek
            Assignee: Timothy Bish


We are using the ActiveMQ Broker 5.6.0 and the ActiveMQ C++ Client 2.1.1,
both running on SuSe Linux. We have the problem, that setting persistence in 
the C++-client doenst effect at the broker. The Messages in the broker are 
non-persistent, although we have set persistence in the activemq.xml, too.


[...]
 <broker xmlns="http://activemq.apache.org/schema/core"; brokerName="localhost" 
dataDirectory="${activemq.data}" persistent="true">

        <!--
            For better performances use VM cursor and small memory limit.
            For more information, see:

            http://activemq.apache.org/message-cursors.html

            Also, if your producer is "hanging", it's probably due to producer 
flow control.
            For more information, see:
            http://activemq.apache.org/producer-flow-control.html
        -->
[...]

For my unterstanding, the Broker uses javax.jms.DeliveryMode for checking, if 
the Message is PERSISTENT or NON_PERSISTENT. Looking into the constant-spec. 
for java.jmx.DeliveryMode shows: 

javax.jms.DeliveryMode
public static final int         NON_PERSISTENT  1
public static final int         PERSISTENT      2


In the C++-Client-Application, we set 

producer->setDeliveryMode(DeliveryMode::PERSISTENT);

Looking into activemq-cpp/src/main/cms/DeliveryMode.h shows:

[...]
enum DELIVERY_MODE {
            PERSISTENT = 0,
            NON_PERSISTENT = 1
        };
[...]

Setting producer->setDeliveryMode(2) works for us. So my question is:

Is this a Bug or are there other possibilities to configure it right?
Looking into activemq-cpp/src/main/cms/DeliveryMode.h of the C++-Clients 
version 3.5 shows still 0 and 1 for PERSISNT and NON_PERSISTENT. Should this be 
changed to 1 and 2?
  
Thank you and best regards
Klimek




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to