You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Nikolaus Klimek (JIRA)" <ji...@apache.org> on 2013/02/05 10:56:16 UTC

[jira] [Created] (AMQCPP-453) Persistence Flag ActiveMQ C++ - WRONG FLAG CONSTANTS

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