jsr343-experts@jms-spec.java.net

[jsr343-experts] Re: (JMS_SPEC-96 & 97) Define Java EE connection factory and destination definition annotations and descriptor elements

From: Nigel Deakin <nigel.deakin_at_oracle.com>
Date: Thu, 03 Jan 2013 18:48:44 +0000

I've made a small change to the JMSConnectionFactoryDefinition
annotation, in conjunction with the Java EE spec lead. This is a bit
obscure, but if you're interested please read on.

You will remember that this is a rather unusual corner of the API in
that it is really defined by the Java EE platform rather than JMS
(though we do get a say).

Previously the JMSConnectionFactoryDefinition annotation defined three
pool size attributes (amongst others):

initialPoolSize
minPoolSize
maxPoolSize

The corresponding Java EE deployment description element
<jms-connection-factory> defined three sub-elements:
<initial-pool-size>
<min-pool-size>
<max-pool-size>

The reason the Java EE spec lead proposed these attributes is because
they were already used in the Java EE 6 data source definition:
http://docs.oracle.com/javaee/6/api/javax/annotation/sql/DataSourceDefinition.html

However the distinction between initialPoolSize and minPoolSize is not
well defined. In my view initialPoolSize is too specialised to be
appropriate for standardising, so I have suggested to the Java EE spec
lead that we drop initialPoolSize. She has agreed and removed it from
the Java EE 7 schema.

Although this makes JMS less consistent with DataSourceDefinition it
makes it consistent with the JCA spec lead's current proposals for
ConnectorConnectionFactoryDefinition, which is the corresponding
general-purpose annotation for JCA connection factories.

App servers who want to can still support initialPoolSize using the
generic "properties" property.

The new version without initialPoolSize can be seen here (this is the
usual javadoc snapshot)
http://jms-spec.java.net/2.0-SNAPSHOT/apidocs/javax/jms/JMSConnectionFactoryDefinition.html

The Java EE schema (which defines <jms-connection-factory>) is here
https://svn.java.net/svn/glassfish~svn/trunk/schemas/javaee7/src/javaee_7.xsds

Nigel