[ 
https://issues.apache.org/jira/browse/QPIDJMS-422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16660297#comment-16660297
 ] 

Robbie Gemmell commented on QPIDJMS-422:
----------------------------------------

Like Tim, I dont yet see enough value here to warrant exposing this 
implementation detail of the client. When you dont specifically set one, the 
client is considered not to have a ClientID. When no ClientID is 
administratively or programatically defined (I'd actually consider both options 
vendor-neutral in the larger sense, with only the URI etc syntax 
vendor-specific), the client sets a generated AMQP container-id instead of 
using the ClientID to populate it, since the container-id is mandatory. You 
cant use 'global shared subscriptions' with a ClientID set as only one client 
connection can use the ClientID at a time, and subscriptions are scoped to the 
ClientID when it is set. Connections without a ClientID set need to use 
distinct container-id values for the shared subscription mechanism to work, so 
one is generated. Exposing the ability to specifically set that in full makes 
it likely different connections would clash. The 'ClientID prefix' option is 
actually poorly named now the client implements JMS 2.0 and can have no 
ClientID, but is there specifically to allow tagging the container-id with some 
detail to differentiate them while not being able to fully specify it.

 

 

> Custom ClientID Generators
> --------------------------
>
>                 Key: QPIDJMS-422
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-422
>             Project: Qpid JMS
>          Issue Type: New Feature
>          Components: qpid-jms-client
>    Affects Versions: 0.37.0
>            Reporter: Sebastian T
>            Priority: Minor
>
> In our application we are using client IDs with a very specific format. We 
> would therefore like to register our own IdGenerator with the 
> JmsConnectionFactory. Currently the JmsConnectionFactory#setClientIdGenerator 
> is protected thus we cannot programmatically set a custom IdGenerator except 
> by using (hacky) reflection.
> I would suggest to rename the current IdGenerator class to 
> DefaultClientIdGenerator, create an ClientIdGenerator interface and change 
> the visiblity of JmsConnectionFactory#setClientIdGenerator to public.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to