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

[jira] Created: (AMQ-1008) Stomp support for implict creation of temporary destinations: saves server side resources

Stomp support for implict creation of temporary destinations: saves server side resources
-----------------------------------------------------------------------------------------

                 Key: AMQ-1008
                 URL: https://issues.apache.org/activemq/browse/AMQ-1008
             Project: ActiveMQ
          Issue Type: Improvement
          Components: Broker
         Environment: N/A
            Reporter: Sileshi Kassa


It is quite simple to extend the existing Stomp destination header field and  AMQ Stomp
server to support a prefix for temporary queue and topic as follows:

destination: /tempqueue/a
                     /temptopic/b

This does not change the protocol since destination is opaque
from the protocol point of view. The semantics of it is left
to Stomp server implementation.

This will save a lot of server resources from being wasted. 
For instance with RPC over Stomp implementation, it takes
two queues: request queue and reply queue.

A reply queue should be a temp queue in this case.

I have discussed this on both Stomp dev and AMQ user forums.
Here is the link:
http://www.nabble.com/Implicit-AMQ-Temp-Queue-and-Topic-creation-support-tf2516578.html


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (AMQ-1008) Stomp support for implict creation of temporary destinations: saves server side resources

Posted by "Sileshi Kassa (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37931 ] 

Sileshi Kassa commented on AMQ-1008:
------------------------------------

James.Strachan wrote:

> As for the temporary queue/topic, the JMS[1] spec states that temporary
> queues/topics may be used by any session using that connection. This seems
>> sensible and should probably be a mechanism embraced by STOMP. If connecting
>> to an ActiveMQ server, then the destinations /temporary/queue/foo, or
>> /queue/temp/foo would be nice.

>Yeah. I guess the decision needs to be, does the client make up some
>name and have the broker auto-create it, or should there be an
>explicit CREATE/DESTROY type verbs on the STOMP protocol.


An explicit client request to CREATE temporary queue/topic where the server
creates and return via CREATED frame would have been be ideal. One possible
server side implementation could associate the temp queue/topic to the session,
and automatically deletes it when session ends which is consistent JMS side behavior.
I suggested this a while back but the consensus was not to change the stomp protocol, rather
extend it for ActiveMQ.
Thus, I have proposed a simple temp queue/topic naming convention
which doesn't require the Stomp protocol change or extension:
destination: /tempqueue/Foo

or

destination: /temptopic/Bar

This temp destination must be globally unique name as in the case of JMS side.
And the server somehow associates the temp queue/topic to the session, and
deletes it without a client request when the session ends.
Mostly a temp queue is created so that it can be used for replyTo.

>I guess the simplest thing that could possibly work is just to use a
>naming convention; that /temporary/queue/* (or /tempqueue/*) indicates
>temporary queues. Though the complication then arises that a client
>may wish to specify the reply-to destination (more here
>http://incubator.apache.org/activemq/stomp.html) - which if there was
>a client side alias (/tempqueue/foo) that would need to get switched
>to the globally unique queue name.

I prefer /tempqueue/Foo, /temptopic/Bar type convention which quite
similar to regular queue/topic: /queue/Foo, /topic/Bar


>I'm not sure how useful the SESSION is; as folks can use a transaction
>for a session?

A stomp connection can be viewed as an implicit session.
Having multiple session within a stomp connection may
introduce complexity 

-Sileshi

> Stomp support for implict creation of temporary destinations: saves server side resources
> -----------------------------------------------------------------------------------------
>
>                 Key: AMQ-1008
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1008
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: Broker
>         Environment: N/A
>            Reporter: Sileshi Kassa
>
> It is quite simple to extend the existing Stomp destination header field and  AMQ Stomp
> server to support a prefix for temporary queue and topic as follows:
> destination: /tempqueue/a
>                      /temptopic/b
> This does not change the protocol since destination is opaque
> from the protocol point of view. The semantics of it is left
> to Stomp server implementation.
> This will save a lot of server resources from being wasted. 
> For instance with RPC over Stomp implementation, it takes
> two queues: request queue and reply queue.
> A reply queue should be a temp queue in this case.
> I have discussed this on both Stomp dev and AMQ user forums.
> Here is the link:
> http://www.nabble.com/Implicit-AMQ-Temp-Queue-and-Topic-creation-support-tf2516578.html

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira