You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Michael Justin (JIRA)" <ji...@apache.org> on 2008/03/03 19:43:17 UTC

[jira] Created: (AMQ-1609) STOMP messages only support properties with data type String

STOMP messages only support properties with data type String 
-------------------------------------------------------------

                 Key: AMQ-1609
                 URL: https://issues.apache.org/activemq/browse/AMQ-1609
             Project: ActiveMQ
          Issue Type: Improvement
            Reporter: Michael Justin


Currently the STOMP connector seems to support only string type message properties. 

As an effect, subscription selectors like color = 'blue' AND weight > 2500 will not work (if the message has been sent using STOMP, the weight property will be a string).

I suggest to implement typed properties in the Stomp protocol which could be serialized in a platform-independent way.

In addtion , if I understand the OpenWire documentation correctly, the OpenWire protocol supports some simple datatypes, but not - for example - Date, which would be easy to map to a long value.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1609) STOMP messages only support properties with data type String

Posted by "Dejan Bosanac (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=42271#action_42271 ] 

Dejan Bosanac commented on AMQ-1609:
------------------------------------

I generally agree. I'm just not sure whether the "transformation" header should be included in this, since it is not related to the wire format but to the content (and the implementation is done in FrameTranslator instead of StompWireFormat). I'd personally regard it as a 1.1 improvement and include appropriate FrameTranslator for the wire format used. Any thoughts?

--
Dejan

> STOMP messages only support properties with data type String 
> -------------------------------------------------------------
>
>                 Key: AMQ-1609
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1609
>             Project: ActiveMQ
>          Issue Type: Improvement
>            Reporter: Michael Justin
>
> Currently the STOMP connector seems to support only string type message properties. 
> As an effect, subscription selectors like color = 'blue' AND weight > 2500 will not work (if the message has been sent using STOMP, the weight property will be a string).
> I suggest to implement typed properties in the Stomp protocol which could be serialized in a platform-independent way.
> In addtion , if I understand the OpenWire documentation correctly, the OpenWire protocol supports some simple datatypes, but not - for example - Date, which would be easy to map to a long value.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1609) STOMP messages only support properties with data type String

Posted by "Dejan Bosanac (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=42154#action_42154 ] 

Dejan Bosanac commented on AMQ-1609:
------------------------------------

I like this idea. If we agree this should be done, I'd tackle it. 

BTW. Maybe we can freeze Stomp 1.0 as is and with stuff like this and "transformation" header (which is still not documented yet on stomp protocol) make a Stomp 1.1 spec. Any thoughts?

Thanks
Dejan

> STOMP messages only support properties with data type String 
> -------------------------------------------------------------
>
>                 Key: AMQ-1609
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1609
>             Project: ActiveMQ
>          Issue Type: Improvement
>            Reporter: Michael Justin
>
> Currently the STOMP connector seems to support only string type message properties. 
> As an effect, subscription selectors like color = 'blue' AND weight > 2500 will not work (if the message has been sent using STOMP, the weight property will be a string).
> I suggest to implement typed properties in the Stomp protocol which could be serialized in a platform-independent way.
> In addtion , if I understand the OpenWire documentation correctly, the OpenWire protocol supports some simple datatypes, but not - for example - Date, which would be easy to map to a long value.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1609) STOMP messages only support properties with data type String

Posted by "Michael Justin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=42161#action_42161 ] 

Michael Justin commented on AMQ-1609:
-------------------------------------

I am not sure if calling it STOMP 1.1 is neccessary  (I am no protocol/interop guru), but I think yes it would be helpful. It would indicate that there are different protocol levels, and some features will not work on older versions of ActiveMQ.

BTW I correct myself, it should be "property-transformation:json" instead of "property-encoding:json" because encoding could be misunderstood as character encoding.

Kind Regards
Michael

> STOMP messages only support properties with data type String 
> -------------------------------------------------------------
>
>                 Key: AMQ-1609
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1609
>             Project: ActiveMQ
>          Issue Type: Improvement
>            Reporter: Michael Justin
>
> Currently the STOMP connector seems to support only string type message properties. 
> As an effect, subscription selectors like color = 'blue' AND weight > 2500 will not work (if the message has been sent using STOMP, the weight property will be a string).
> I suggest to implement typed properties in the Stomp protocol which could be serialized in a platform-independent way.
> In addtion , if I understand the OpenWire documentation correctly, the OpenWire protocol supports some simple datatypes, but not - for example - Date, which would be easy to map to a long value.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1609) STOMP messages only support properties with data type String

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=42231#action_42231 ] 

Timothy Bish commented on AMQ-1609:
-----------------------------------

I'd think we'd want some sort of versioning of the Stomp protocol so that clients can know what they are talking when communicating with a broker.  For instance if the ActiveMQ CPP client was to receive a stomp frame with this property encoding we'd probably throw all sorts of exceptions which would not be good.  I'd think if we did something like this we'd need to also provide some sort of wire format negotiation mechanism so that a client can tell the broker whether or not it can handle v1.1 typed properties or not.  

> STOMP messages only support properties with data type String 
> -------------------------------------------------------------
>
>                 Key: AMQ-1609
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1609
>             Project: ActiveMQ
>          Issue Type: Improvement
>            Reporter: Michael Justin
>
> Currently the STOMP connector seems to support only string type message properties. 
> As an effect, subscription selectors like color = 'blue' AND weight > 2500 will not work (if the message has been sent using STOMP, the weight property will be a string).
> I suggest to implement typed properties in the Stomp protocol which could be serialized in a platform-independent way.
> In addtion , if I understand the OpenWire documentation correctly, the OpenWire protocol supports some simple datatypes, but not - for example - Date, which would be easy to map to a long value.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1609) STOMP messages only support properties with data type String

Posted by "Hiram Chirino (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=42111#action_42111 ] 

Hiram Chirino commented on AMQ-1609:
------------------------------------

The question is what would an example STOMP frame look like with type info in it?

> STOMP messages only support properties with data type String 
> -------------------------------------------------------------
>
>                 Key: AMQ-1609
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1609
>             Project: ActiveMQ
>          Issue Type: Improvement
>            Reporter: Michael Justin
>
> Currently the STOMP connector seems to support only string type message properties. 
> As an effect, subscription selectors like color = 'blue' AND weight > 2500 will not work (if the message has been sent using STOMP, the weight property will be a string).
> I suggest to implement typed properties in the Stomp protocol which could be serialized in a platform-independent way.
> In addtion , if I understand the OpenWire documentation correctly, the OpenWire protocol supports some simple datatypes, but not - for example - Date, which would be easy to map to a long value.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1609) STOMP messages only support properties with data type String

Posted by "Michael Justin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=42124#action_42124 ] 

Michael Justin commented on AMQ-1609:
-------------------------------------

I suggest to use JSON's basic type notation, for example: 

SEND
destination:/queue/a
property-encoding:json
mystring:"foo"
myboolean:true
myint:911
myfloat:0.7
mynull:null

hello queue a
^@

JSON's basic types are
* Number (integer, real, or floating point)
* String (double-quoted Unicode with backslash escapement)
* Boolean (true and false)
* Array (an ordered sequence of values, comma-separated and enclosed in square brackets)
* Object (collection of key/value pairs, comma-separated and enclosed in curly brackets)
* null

property-encoding:json would indicate that the JSON syntax should be used to map the properties to Java objects in the message broker

Kind Regards
Michael Justin

> STOMP messages only support properties with data type String 
> -------------------------------------------------------------
>
>                 Key: AMQ-1609
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1609
>             Project: ActiveMQ
>          Issue Type: Improvement
>            Reporter: Michael Justin
>
> Currently the STOMP connector seems to support only string type message properties. 
> As an effect, subscription selectors like color = 'blue' AND weight > 2500 will not work (if the message has been sent using STOMP, the weight property will be a string).
> I suggest to implement typed properties in the Stomp protocol which could be serialized in a platform-independent way.
> In addtion , if I understand the OpenWire documentation correctly, the OpenWire protocol supports some simple datatypes, but not - for example - Date, which would be easy to map to a long value.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.