users@jms-spec.java.net

[jms-spec users] [jsr343-experts] Late change: Drop maxIdleTime from <jms-connection-factory> and JMSConnectionFactoryDefinition

From: Nigel Deakin <nigel.deakin_at_oracle.com>
Date: Mon, 14 Jan 2013 15:55:27 +0000

I would like to suggest one further and final change to the <jms-connection-factory> deployment descriptor element and
the corresponding javax.jms.JMSConnectionFactoryDefinition annotation. This is to remove the <max-idle-time> element /
maxIdleTime attribute.

As you may have noticed by now, I have been trying to avoid this element/annotation having standard properties which are
not clearly defined and widely supported.

Currently, the JMSConnectionFactoryDefinition annotation (which was proposed by the Java EE spec leads)
defines the following pooling-related attributes:

minPoolSize
maxPoolSize
maxIdleTime

The JCA EG is currently reviewing the corresponding general-purpose annotation for JCA connection factories,
ConnectorConnectionFactoryDefinition. They have taken the view that the only pooling-related properties which should be
standardised are minPoolSize and maxPoolSize. They decided that maxIdleTime (and initialPoolSize, which we have already
dropped) were too provider-specific, especially as Java EE itself does not define how connections should be pooled.

I am therefore negotiating with the Java EE spec leads to drop maxIdleTime from both the <jms-connection-factory>
deployment descriptor element and the corresponding javax.jms.JMSConnectionFactoryDefinition annotation.

(Remember that there is nothing to prevent a vendor supporting maxIdleTime as a vendor-specific property.)

This would leave the full list of standard attributes of JMSConnectionFactoryDefinition as:

clientId
description
maxPoolSize
minPoolSize
user
password
properties
resourceAdapterName
transactional

Of these, I think the meaning of "transactional" (whether the connection should participate in JTA transactions) needs
to be formally defined in JMS, though this may have to wait until JMS 2.1.

Nigel