Support the standard JMS property type conversion rules.
--------------------------------------------------------
Key: AMQCPP-241
URL: https://issues.apache.org/activemq/browse/AMQCPP-241
Project: ActiveMQ C++ Client
Issue Type: New Feature
Components: CMS Impl, Openwire, Stomp
Affects Versions: 3.0
Reporter: Timothy Bish
Assignee: Timothy Bish
Fix For: 3.0
Currently the CMS Message interface restricts the user from calling a get
method on a property that is not of the type that matches the call, for
instance call getIntProperty when the value contained internally is a long
would throw an exception. To make this interface more flexible and to allow
for stomp support to work properly in the new architecture it is necessary to
support conversion of all the elements in the properties to a string type.
Since this happens automatically as a result of implementing the standard JMS
conversion table it makes sense to do this in a way that's allows the CMS
interface implementation to benefit from it as well.
The implementation follows the same rules as defined in the JMS API docs for
the Message Interface.
{quote}
Message properties support the following conversion table. The marked cases
must be supported. The unmarked cases must throw a JMSException. The
String-to-primitive conversions may throw a runtime exception if the
primitive's valueOf method does not accept the String as a valid representation
of the primitive.
A value written as the row type can be read as the column type.
{noformat}
| | boolean byte short int long float double String
|----------------------------------------------------------
|boolean | X X
|byte | X X X X X
|short | X X X X
|int | X X X
|long | X X
|float | X X X
|double | X X
|String | X X X X X X X X
|----------------------------------------------------------
{noformat}
{quote}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.