You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Evan Kuhn (JIRA)" <ji...@apache.org> on 2010/07/26 19:45:51 UTC
[jira] Created: (AMQCPP-306) CMS 3.2.1 - Trouble reading empty
strings from MapMessage fields
CMS 3.2.1 - Trouble reading empty strings from MapMessage fields
----------------------------------------------------------------
Key: AMQCPP-306
URL: https://issues.apache.org/activemq/browse/AMQCPP-306
Project: ActiveMQ C++ Client
Issue Type: Bug
Components: Example Code
Affects Versions: 3.2.1
Environment: - CMS 3.2.1 on Windows XP
- ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
- Sending messages to a queue, using persistent messaging (via KahaDB)
Reporter: Evan Kuhn
Assignee: Timothy Bish
Hi,
I just upgraded from ActiveMQ CMS 3.1.3 to 3.2.1, and I'm having some trouble reading
empty strings out of MapMessage fields after sending them through the broker. When I
try to do so, MapMessage::getString() throws the exception "Unsupported Type Conversion".
To explain, here's what I do:
- Open a connection with my ActiveMQ broker
- Create a MapMessage. Set two string fields, one empty, one non-empty:
- request->setString("STR_FIELD_1", "");
- request->setString("STR_FIELD_2", "asdf");
- Send the message to a queue
- Read the message from the queue
- Read the two string fields from the response:
- response->getString("STR_FIELD_1", "");
- response->getString("STR_FIELD_2", "asdf");
Reading the non-empty string field works fine. Reading the empty one, however,
results in the exception "Unsupported Type Conversion".
Any idea why this is happening? I did not experience this with CMS 3.1.3.
For reference, I'm using:
- CMS 3.2.1 on Windows XP
- ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
- Sending messages to a queue, using persistent messaging (via KahaDB)
I'll post a small C++ program I'm using to reproduce the problem.
Thank you very much for your help
-- Evan Kuhn
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (AMQCPP-306) CMS 3.2.1 - Trouble reading empty
strings from MapMessage fields
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQCPP-306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60927#action_60927 ]
Timothy Bish commented on AMQCPP-306:
-------------------------------------
You might want to give the v3.2.2 release candidate code a try and see if that fixes your problem, I can't seem to reproduce this on the 3.2.x or trunk code.
See the upcoming 3.2.2 release page here:
http://activemq.apache.org/cms/activemq-cpp-322-release.html
> CMS 3.2.1 - Trouble reading empty strings from MapMessage fields
> ----------------------------------------------------------------
>
> Key: AMQCPP-306
> URL: https://issues.apache.org/activemq/browse/AMQCPP-306
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: Example Code
> Affects Versions: 3.2.1
> Environment: - CMS 3.2.1 on Windows XP
> - ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
> - Sending messages to a queue, using persistent messaging (via KahaDB)
> Reporter: Evan Kuhn
> Assignee: Timothy Bish
> Attachments: send_empty_string.cpp
>
>
> Hi,
> I just upgraded from ActiveMQ CMS 3.1.3 to 3.2.1, and I'm having some trouble reading
> empty strings out of MapMessage fields after sending them through the broker. When I
> try to do so, MapMessage::getString() throws the exception "Unsupported Type Conversion".
> To explain, here's what I do:
> - Open a connection with my ActiveMQ broker
> - Create a MapMessage. Set two string fields, one empty, one non-empty:
> - request->setString("STR_FIELD_1", "");
> - request->setString("STR_FIELD_2", "asdf");
> - Send the message to a queue
> - Read the message from the queue
> - Read the two string fields from the response:
> - response->getString("STR_FIELD_1", "");
> - response->getString("STR_FIELD_2", "asdf");
>
> Reading the non-empty string field works fine. Reading the empty one, however,
> results in the exception "Unsupported Type Conversion".
> Any idea why this is happening? I did not experience this with CMS 3.1.3.
> For reference, I'm using:
> - CMS 3.2.1 on Windows XP
> - ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
> - Sending messages to a queue, using persistent messaging (via KahaDB)
> I'll post a small C++ program I'm using to reproduce the problem.
> Thank you very much for your help
> -- Evan Kuhn
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (AMQCPP-306) CMS 3.2.1 - Trouble reading empty
strings from MapMessage fields
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQCPP-306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=61672#action_61672 ]
Timothy Bish commented on AMQCPP-306:
-------------------------------------
1. Not really sure what you mean in that first sentence. If you are still seeing issues then have a look at the MapMessageTest case in test-integration and tell me what case I'm not testing for that I should add in order to see the error you are seeing.
2. No, I only use Windows when I have to, so no DLL hell here.
3. See ConnectionMetaData class in CMS.
> CMS 3.2.1 - Trouble reading empty strings from MapMessage fields
> ----------------------------------------------------------------
>
> Key: AMQCPP-306
> URL: https://issues.apache.org/activemq/browse/AMQCPP-306
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: Example Code
> Affects Versions: 3.2.1
> Environment: - CMS 3.2.1 on Windows XP
> - ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
> - Sending messages to a queue, using persistent messaging (via KahaDB)
> Reporter: Evan Kuhn
> Assignee: Timothy Bish
> Fix For: 3.2.2
>
> Attachments: send_empty_string.cpp
>
>
> Hi,
> I just upgraded from ActiveMQ CMS 3.1.3 to 3.2.1, and I'm having some trouble reading
> empty strings out of MapMessage fields after sending them through the broker. When I
> try to do so, MapMessage::getString() throws the exception "Unsupported Type Conversion".
> To explain, here's what I do:
> - Open a connection with my ActiveMQ broker
> - Create a MapMessage. Set two string fields, one empty, one non-empty:
> - request->setString("STR_FIELD_1", "");
> - request->setString("STR_FIELD_2", "asdf");
> - Send the message to a queue
> - Read the message from the queue
> - Read the two string fields from the response:
> - response->getString("STR_FIELD_1", "");
> - response->getString("STR_FIELD_2", "asdf");
>
> Reading the non-empty string field works fine. Reading the empty one, however,
> results in the exception "Unsupported Type Conversion".
> Any idea why this is happening? I did not experience this with CMS 3.1.3.
> For reference, I'm using:
> - CMS 3.2.1 on Windows XP
> - ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
> - Sending messages to a queue, using persistent messaging (via KahaDB)
> I'll post a small C++ program I'm using to reproduce the problem.
> Thank you very much for your help
> -- Evan Kuhn
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (AMQCPP-306) CMS 3.2.1 - Trouble reading empty
strings from MapMessage fields
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQCPP-306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy Bish closed AMQCPP-306.
-------------------------------
Fix Version/s: 3.2.2
Resolution: Cannot Reproduce
Think that the other fixes in 3.2.2 already solved this one, I can't reproduce it.
> CMS 3.2.1 - Trouble reading empty strings from MapMessage fields
> ----------------------------------------------------------------
>
> Key: AMQCPP-306
> URL: https://issues.apache.org/activemq/browse/AMQCPP-306
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: Example Code
> Affects Versions: 3.2.1
> Environment: - CMS 3.2.1 on Windows XP
> - ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
> - Sending messages to a queue, using persistent messaging (via KahaDB)
> Reporter: Evan Kuhn
> Assignee: Timothy Bish
> Fix For: 3.2.2
>
> Attachments: send_empty_string.cpp
>
>
> Hi,
> I just upgraded from ActiveMQ CMS 3.1.3 to 3.2.1, and I'm having some trouble reading
> empty strings out of MapMessage fields after sending them through the broker. When I
> try to do so, MapMessage::getString() throws the exception "Unsupported Type Conversion".
> To explain, here's what I do:
> - Open a connection with my ActiveMQ broker
> - Create a MapMessage. Set two string fields, one empty, one non-empty:
> - request->setString("STR_FIELD_1", "");
> - request->setString("STR_FIELD_2", "asdf");
> - Send the message to a queue
> - Read the message from the queue
> - Read the two string fields from the response:
> - response->getString("STR_FIELD_1", "");
> - response->getString("STR_FIELD_2", "asdf");
>
> Reading the non-empty string field works fine. Reading the empty one, however,
> results in the exception "Unsupported Type Conversion".
> Any idea why this is happening? I did not experience this with CMS 3.1.3.
> For reference, I'm using:
> - CMS 3.2.1 on Windows XP
> - ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
> - Sending messages to a queue, using persistent messaging (via KahaDB)
> I'll post a small C++ program I'm using to reproduce the problem.
> Thank you very much for your help
> -- Evan Kuhn
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (AMQCPP-306) CMS 3.2.1 - Trouble reading empty
strings from MapMessage fields
Posted by "Evan Kuhn (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQCPP-306?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Evan Kuhn updated AMQCPP-306:
-----------------------------
Attachment: send_empty_string.cpp
Attaching an example program that reproduces the exception thrown when reading an empty string from a MapMessage.
> CMS 3.2.1 - Trouble reading empty strings from MapMessage fields
> ----------------------------------------------------------------
>
> Key: AMQCPP-306
> URL: https://issues.apache.org/activemq/browse/AMQCPP-306
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: Example Code
> Affects Versions: 3.2.1
> Environment: - CMS 3.2.1 on Windows XP
> - ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
> - Sending messages to a queue, using persistent messaging (via KahaDB)
> Reporter: Evan Kuhn
> Assignee: Timothy Bish
> Attachments: send_empty_string.cpp
>
>
> Hi,
> I just upgraded from ActiveMQ CMS 3.1.3 to 3.2.1, and I'm having some trouble reading
> empty strings out of MapMessage fields after sending them through the broker. When I
> try to do so, MapMessage::getString() throws the exception "Unsupported Type Conversion".
> To explain, here's what I do:
> - Open a connection with my ActiveMQ broker
> - Create a MapMessage. Set two string fields, one empty, one non-empty:
> - request->setString("STR_FIELD_1", "");
> - request->setString("STR_FIELD_2", "asdf");
> - Send the message to a queue
> - Read the message from the queue
> - Read the two string fields from the response:
> - response->getString("STR_FIELD_1", "");
> - response->getString("STR_FIELD_2", "asdf");
>
> Reading the non-empty string field works fine. Reading the empty one, however,
> results in the exception "Unsupported Type Conversion".
> Any idea why this is happening? I did not experience this with CMS 3.1.3.
> For reference, I'm using:
> - CMS 3.2.1 on Windows XP
> - ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
> - Sending messages to a queue, using persistent messaging (via KahaDB)
> I'll post a small C++ program I'm using to reproduce the problem.
> Thank you very much for your help
> -- Evan Kuhn
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (AMQCPP-306) CMS 3.2.1 - Trouble reading empty
strings from MapMessage fields
Posted by "Evan Kuhn (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQCPP-306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=61671#action_61671 ]
Evan Kuhn commented on AMQCPP-306:
----------------------------------
Hi Tim,
sorry, but I am still running into this issue with CMS 3.2.2. After some cursory debugging, I noticed that in PrimitiveValueConverter::convert(), the PrimitiveValueNode's type is STRING_TYPE in 3.1.3 but NULL_TYPE when using 3.2.2. I don't know the code so I'm not sure why.
My only thought is: could you perhaps have been picking up a different version of activemq-cpp.dll than you thought you were? This happened to me multiple times while testing. (By the way, a class or function for getting the version of the CMS library would be great for eliminating those types of errors).
Thanks again
> CMS 3.2.1 - Trouble reading empty strings from MapMessage fields
> ----------------------------------------------------------------
>
> Key: AMQCPP-306
> URL: https://issues.apache.org/activemq/browse/AMQCPP-306
> Project: ActiveMQ C++ Client
> Issue Type: Bug
> Components: Example Code
> Affects Versions: 3.2.1
> Environment: - CMS 3.2.1 on Windows XP
> - ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
> - Sending messages to a queue, using persistent messaging (via KahaDB)
> Reporter: Evan Kuhn
> Assignee: Timothy Bish
> Fix For: 3.2.2
>
> Attachments: send_empty_string.cpp
>
>
> Hi,
> I just upgraded from ActiveMQ CMS 3.1.3 to 3.2.1, and I'm having some trouble reading
> empty strings out of MapMessage fields after sending them through the broker. When I
> try to do so, MapMessage::getString() throws the exception "Unsupported Type Conversion".
> To explain, here's what I do:
> - Open a connection with my ActiveMQ broker
> - Create a MapMessage. Set two string fields, one empty, one non-empty:
> - request->setString("STR_FIELD_1", "");
> - request->setString("STR_FIELD_2", "asdf");
> - Send the message to a queue
> - Read the message from the queue
> - Read the two string fields from the response:
> - response->getString("STR_FIELD_1", "");
> - response->getString("STR_FIELD_2", "asdf");
>
> Reading the non-empty string field works fine. Reading the empty one, however,
> results in the exception "Unsupported Type Conversion".
> Any idea why this is happening? I did not experience this with CMS 3.1.3.
> For reference, I'm using:
> - CMS 3.2.1 on Windows XP
> - ActiveMQ 5.3.0 and Java 1.6.0 on Red Hat Enterprise Linux Server release 5.3 (Tikanga)
> - Sending messages to a queue, using persistent messaging (via KahaDB)
> I'll post a small C++ program I'm using to reproduce the problem.
> Thank you very much for your help
> -- Evan Kuhn
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.