Issue Details (XML | Word | Printable)

Key: GLASSFISH-19347
Type: New Feature New Feature
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: dapeng_hu
Reporter: Nigel Deakin
Votes: 1
Watchers: 3

If you were logged in you would be able to see more operations.

Implement new methods on MessageEndpointFactory to support JMS 2.0

Created: 14/Nov/12 12:39 PM   Updated: 28/Dec/12 09:07 AM   Resolved: 28/Dec/12 09:07 AM
Component/s: jca
Affects Version/s: 4.0
Fix Version/s: 4.0

Time Tracking:
Not Specified

Issue Links:

Tags: jms-2-implementation
Participants: dapeng_hu, Ed Bratt, Nigel Deakin and prasads

 Description  « Hide

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

prasads added a comment - 27/Nov/12 08:27 AM

Assigning to Dapeng

dapeng_hu added a comment - 12/Dec/12 06:46 AM

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.

dapeng_hu added a comment - 18/Dec/12 05:41 AM

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.

dapeng_hu added a comment - 18/Dec/12 05:47 AM

Provides an implementation based on the proposal If final connector MR choose different proposal, this issue should be re-opened.

Ed Bratt added a comment - 18/Dec/12 07:59 PM

commit 57621 was reverted by RE.

dapeng_hu added a comment - 20/Dec/12 08:35 AM

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.

dapeng_hu added a comment - 28/Dec/12 09:07 AM

The implementation of getInstanceName and getActivationName has been submitted.