users@jms-spec.java.net

[jms-spec users] [jsr368-experts] Re: Re: createContext on Queue and Topic Connection Factories

From: Nigel Deakin <nigel.deakin_at_oracle.com>
Date: Thu, 15 Jan 2015 17:52:16 +0000

Matthew,

On 14/01/2015 14:09, Matthew White wrote:
> Hello;
>
> (1) The simplified API is inherently cross-domain - so happy with the option of the createContext working on QCF/TCF and
> then being able to use it cross domain.
> (2) Using a domain specific operation such as createQueue on a TopicSession - currently is a IllegalStateException; this
> make sense to me.. as you are explicitly mixing domains
> (3) What is less obvious is what should createConnection() on a QCF return? Should it be a Connection - therefore cross
> domain, or a QueueConnection and therefore fixed to point-point.
> I think (2) and (3) are subtlety different issues.

No problem considering them separately.

The QueueConnectionFactory method createConnection() (which is inherited from ConnectionFactory) is defined to return an
object of type Connection, not QueueConnection.

However I think that still leaves some uncertainty as to whether you can expect to be able to use such an object with a
topic. It could be argued that an instance of Connection (when it is not a QueueConnection or TopicConnection) is also
cross-domain, and so must work with both domains even though it was created from a QueueConnectionFactory. But I think
it is unclear. (This ambiguity is a result of the way the API evolved in JMS 1.0 and 1.1)

I made some suggestions for what we do in JMS 2.1 in my previous email, but we'll certainly be able to discuss this later.

> Agree that this is too much for the errata!

Given that it may be several months before we come back to discussing this again (and this email thread may be
forgotten), if you'd like to record any comments directly on the JIRA issue then please do.

Nigel