glassfish
  1. glassfish
  2. GLASSFISH-19347

Implement new methods on MessageEndpointFactory to support JMS 2.0

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.0
    • Fix Version/s: 4.0
    • Component/s: jca
    • Labels:
      None

      Description

      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

        Issue Links

          Activity

          Hide
          prasads added a comment -

          Assigning to Dapeng

          Show
          prasads added a comment - Assigning to Dapeng
          Hide
          dapeng_hu added a comment -

          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.

          Show
          dapeng_hu added a comment - 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.
          Hide
          dapeng_hu added a comment -

          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.

          Show
          dapeng_hu added a comment - 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.
          Hide
          dapeng_hu added a comment -

          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.

          Show
          dapeng_hu added a comment - 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.
          Hide
          Ed Bratt added a comment -

          commit 57621 was reverted by RE.

          Show
          Ed Bratt added a comment - commit 57621 was reverted by RE.
          Hide
          dapeng_hu added a comment -

          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.

          Show
          dapeng_hu added a comment - 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.
          Hide
          dapeng_hu added a comment -

          The implementation of getInstanceName and getActivationName has been submitted.

          Show
          dapeng_hu added a comment - The implementation of getInstanceName and getActivationName has been submitted.

            People

            • Assignee:
              dapeng_hu
              Reporter:
              Nigel Deakin
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: