[GLASSFISH-19347] Implement new methods on MessageEndpointFactory to support JMS 2.0 Created: 14/Nov/12  Updated: 28/Dec/12  Resolved: 28/Dec/12

Status: Resolved
Project: glassfish
Component/s: jca
Affects Version/s: 4.0
Fix Version/s: 4.0

Type: New Feature Priority: Major
Reporter: Nigel Deakin Assignee: dapeng_hu
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
depends on CONNECTOR_SPEC-1 New methods on MessageEndpointFactory... Resolved
blocks MQ-251 Implement JMSRA activation properties... Closed
Tags: jms-2-implementation


This is a request for the implementation (in the GlassFish connector runtime) of the new methods on MessageEndpointFactory to support JMS 2.0 which are proposed in CONNECTOR_SPEC-1.

Note that implementation of this feature is dependent on CONNECTOR_SPEC-1 being approved for JCA 1.7

Comment by prasads [ 27/Nov/12 ]

Assigning to Dapeng

Comment by dapeng_hu [ 12/Dec/12 ]

The new proposal for getEndpointUniqueName() and getInstanceName() are:

The name "getEndpointUniqueName" is changed to "getActivationUniqueName".

The method getInstanceName(): will be added in the BootstrapContext interface, instead of MessageEndpointFactory, since the instance name is static and stable for a server instance.

The value for instanceName in non-clustered setups be null, and for clustered setups be unique among every instance in the cluster. By making this change, we can have a RA also find out if it is operating in a cluster by checking for a non-null instanceName.

The final proposal is still under discussion.

Comment by dapeng_hu [ 18/Dec/12 ]

The final implementation is that:

1. add new method getActivationName() in MessageEndpointFactory interface which returns the unique name for the activation related to the MEF.
2. add new method getInstanceName() in BootstrapContext interface which returns the server instance name if it is a member of a cluster, or return null if it is a standalone server.

Comment by dapeng_hu [ 18/Dec/12 ]

Provides an implementation based on the proposal http://java.net/jira/browse/CONNECTOR_SPEC-1. If final connector MR choose different proposal, this issue should be re-opened.

Comment by Ed Bratt [ 18/Dec/12 ]

commit 57621 was reverted by RE.

Comment by dapeng_hu [ 20/Dec/12 ]

The method BootstrapContext.getInstanceName() is used during the activation of a message endpoint. It is only needed in server-side container. When RA is running in App client container, it don't need call the getInstanceName() method at all. So this method just return null while running in App client container.

Send out new code change for code review, and wait for comments.

Comment by dapeng_hu [ 28/Dec/12 ]

The implementation of getInstanceName and getActivationName has been submitted.

Generated at Sat Feb 25 16:14:59 UTC 2017 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.