You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rajith Attapattu (JIRA)" <ji...@apache.org> on 2011/03/14 17:09:29 UTC

[jira] Created: (QPID-3143) session.createQueue is neither spec compliant nor backwards compatible

session.createQueue is neither spec compliant nor backwards compatible
----------------------------------------------------------------------

                 Key: QPID-3143
                 URL: https://issues.apache.org/jira/browse/QPID-3143
             Project: Qpid
          Issue Type: Bug
          Components: Java Client
    Affects Versions: 0.8
            Reporter: Rajith Attapattu
            Assignee: Rajith Attapattu
            Priority: Minor
             Fix For: 0.11


According to the JMS API documentation, the createQueue method should not create a physical queue in the broker.
Currently if just a queue name is passed, then the current implementation will create a queue if the destination is used by a consumer or producer.
Before this change was made in rev 964984, an AMQQueue object was created with durable true and a queue was created in the broker when the destination object was used by a consumer.

Therefore current behaviour is neither spec complaint nor backwards compatible.
Suggested improvement would be to just create a destination object with "create" set to "never". When a producer or consumer is created using this destination it will try to resolve if the queue is present, and if not will throw an exception.
Therefore the default behaviour would be spec compliant.

If a user needs to override this behaviour they could easily do so by specifying the correct create option (i.e one of receiver/sender/always).
A user could also use any valid addressing string to create a more customized destination as well.


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Resolved] (QPID-3143) session.createQueue is neither spec compliant nor backwards compatible

Posted by "Robbie Gemmell (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell resolved QPID-3143.
----------------------------------

    Resolution: Fixed

Resolving, patch applied from a year ago.
                
> session.createQueue is neither spec compliant nor backwards compatible
> ----------------------------------------------------------------------
>
>                 Key: QPID-3143
>                 URL: https://issues.apache.org/jira/browse/QPID-3143
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.8
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>            Priority: Minor
>             Fix For: 0.11
>
>         Attachments: QPID-3143.patch, QPID-3143.test.patch
>
>
> According to the JMS API documentation, the createQueue method should not create a physical queue in the broker.
> Currently if just a queue name is passed, then the current implementation will create a queue if the destination is used by a consumer or producer.
> Before this change was made in rev 964984, an AMQQueue object was created with durable true and a queue was created in the broker when the destination object was used by a consumer.
> Therefore current behaviour is neither spec complaint nor backwards compatible.
> Suggested improvement would be to just create a destination object with "create" set to "never". When a producer or consumer is created using this destination it will try to resolve if the queue is present, and if not will throw an exception.
> Therefore the default behaviour would be spec compliant.
> If a user needs to override this behaviour they could easily do so by specifying the correct create option (i.e one of receiver/sender/always).
> A user could also use any valid addressing string to create a more customized destination as well.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-3143) session.createQueue is neither spec compliant nor backwards compatible

Posted by "Rajith Attapattu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu updated QPID-3143:
-----------------------------------

    Attachment: QPID-3143.test.patch

Modified the existing test case to test the both default case and the explicit create case.

> session.createQueue is neither spec compliant nor backwards compatible
> ----------------------------------------------------------------------
>
>                 Key: QPID-3143
>                 URL: https://issues.apache.org/jira/browse/QPID-3143
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.8
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>            Priority: Minor
>             Fix For: 0.11
>
>         Attachments: QPID-3143.patch, QPID-3143.test.patch
>
>
> According to the JMS API documentation, the createQueue method should not create a physical queue in the broker.
> Currently if just a queue name is passed, then the current implementation will create a queue if the destination is used by a consumer or producer.
> Before this change was made in rev 964984, an AMQQueue object was created with durable true and a queue was created in the broker when the destination object was used by a consumer.
> Therefore current behaviour is neither spec complaint nor backwards compatible.
> Suggested improvement would be to just create a destination object with "create" set to "never". When a producer or consumer is created using this destination it will try to resolve if the queue is present, and if not will throw an exception.
> Therefore the default behaviour would be spec compliant.
> If a user needs to override this behaviour they could easily do so by specifying the correct create option (i.e one of receiver/sender/always).
> A user could also use any valid addressing string to create a more customized destination as well.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-3143) session.createQueue is neither spec compliant nor backwards compatible

Posted by "Rajith Attapattu (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rajith Attapattu updated QPID-3143:
-----------------------------------

    Attachment: QPID-3143.patch

The attached patch just removes the line which sets create to 'always'.
The default value for create is 'never'.

> session.createQueue is neither spec compliant nor backwards compatible
> ----------------------------------------------------------------------
>
>                 Key: QPID-3143
>                 URL: https://issues.apache.org/jira/browse/QPID-3143
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.8
>            Reporter: Rajith Attapattu
>            Assignee: Rajith Attapattu
>            Priority: Minor
>             Fix For: 0.11
>
>         Attachments: QPID-3143.patch
>
>
> According to the JMS API documentation, the createQueue method should not create a physical queue in the broker.
> Currently if just a queue name is passed, then the current implementation will create a queue if the destination is used by a consumer or producer.
> Before this change was made in rev 964984, an AMQQueue object was created with durable true and a queue was created in the broker when the destination object was used by a consumer.
> Therefore current behaviour is neither spec complaint nor backwards compatible.
> Suggested improvement would be to just create a destination object with "create" set to "never". When a producer or consumer is created using this destination it will try to resolve if the queue is present, and if not will throw an exception.
> Therefore the default behaviour would be spec compliant.
> If a user needs to override this behaviour they could easily do so by specifying the correct create option (i.e one of receiver/sender/always).
> A user could also use any valid addressing string to create a more customized destination as well.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org