jms-spec
  1. jms-spec
  2. JMS_SPEC-68

Add new method Session.acknowledge()

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.1
    • Fix Version/s: None
    • Labels:
      None

      Description

      When a session is created with an acknowledgement mode of Session.CLIENT_ACKNOWLEDGE, messages are acknowledged by calling the acknowledge() method on the Message object.

      However this method is potentially misleading because calling it causes all messages delivered to the Session to be acknowledged,. It doesn't just acknowledge the Message on which the acknowledge method is called. JMS 1.1 recognised this issue and clarified the spec and javadocs to make this clear.

      However the fact that the acknowledge method is on the Message is still potentially confusing. Although we can never remove this method because of the need to maintain compatibility, adding an acknowledge method to the Session would allow application code to reflect the true behaviour.

      It is therefore proposed that a new method acknowledge() be added to the Session interface which causes all messages delivered to the Session to be acknowledged (i.e. identical behaviour to the existing method).

        Activity

        Nigel Deakin created issue -
        Nigel Deakin made changes -
        Field Original Value New Value
        Description When a session is created with an acknowledgement mode of {{Session.CLIENT_ACKNOWLEDGE}}, messages are acknowledged by calling the {{acknowledge()}} on the {{Message}} object.

        However this method is potentially misleading because calling it causes _all_ messages delivered to the Session to be acknowledged, not just the {{Message}} on which the {{acknowledge}} method is called. JMS 1.1 recognised this issue and clarified the spec and javadocs to make this clear.

        However the fact that the {{acknowledge}} method method is on the {{Message}} is still potentially confusing. Although we can never remove this method because of the need to maintain compatibility, adding an additional {{acknowledge}} method method is on the {{Session}} would allow application code to reflect the true behaviour.

        It is therefore proposed that a new method {{acknowledge()}} be added to the {{Session}} which causes all messages delivered to the {{Session}} to be acknowledged (i.e. identical behaviour to the existing method).
        When a session is created with an acknowledgement mode of {{Session.CLIENT_ACKNOWLEDGE}}, messages are acknowledged by calling the {{acknowledge()}} method on the {{Message}} object.

        However this method is potentially misleading because calling it causes _all_ messages delivered to the Session to be acknowledged, not just the {{Message}} on which the {{acknowledge}} method is called. JMS 1.1 recognised this issue and clarified the spec and javadocs to make this clear.

        However the fact that the {{acknowledge}} method method is on the {{Message}} is still potentially confusing. Although we can never remove this method because of the need to maintain compatibility, adding an additional {{acknowledge}} method method is on the {{Session}} would allow application code to reflect the true behaviour.

        It is therefore proposed that a new method {{acknowledge()}} be added to the {{Session}} which causes all messages delivered to the {{Session}} to be acknowledged (i.e. identical behaviour to the existing method).
        Nigel Deakin made changes -
        Description When a session is created with an acknowledgement mode of {{Session.CLIENT_ACKNOWLEDGE}}, messages are acknowledged by calling the {{acknowledge()}} method on the {{Message}} object.

        However this method is potentially misleading because calling it causes _all_ messages delivered to the Session to be acknowledged, not just the {{Message}} on which the {{acknowledge}} method is called. JMS 1.1 recognised this issue and clarified the spec and javadocs to make this clear.

        However the fact that the {{acknowledge}} method method is on the {{Message}} is still potentially confusing. Although we can never remove this method because of the need to maintain compatibility, adding an additional {{acknowledge}} method method is on the {{Session}} would allow application code to reflect the true behaviour.

        It is therefore proposed that a new method {{acknowledge()}} be added to the {{Session}} which causes all messages delivered to the {{Session}} to be acknowledged (i.e. identical behaviour to the existing method).
        When a session is created with an acknowledgement mode of {{Session.CLIENT_ACKNOWLEDGE}}, messages are acknowledged by calling the {{acknowledge()}} method on the {{Message}} object.

        However this method is potentially misleading because calling it causes _all_ messages delivered to the Session to be acknowledged,. It doesn't just acknowledge the {{Message}} on which the {{acknowledge}} method is called. JMS 1.1 recognised this issue and clarified the spec and javadocs to make this clear.

        However the fact that the {{acknowledge}} method method is on the {{Message}} is still potentially confusing. Although we can never remove this method because of the need to maintain compatibility, adding an additional {{acknowledge}} method method is on the {{Session}} would allow application code to reflect the true behaviour.

        It is therefore proposed that a new method {{acknowledge()}} be added to the {{Session}} which causes all messages delivered to the {{Session}} to be acknowledged (i.e. identical behaviour to the existing method).
        Nigel Deakin made changes -
        Description When a session is created with an acknowledgement mode of {{Session.CLIENT_ACKNOWLEDGE}}, messages are acknowledged by calling the {{acknowledge()}} method on the {{Message}} object.

        However this method is potentially misleading because calling it causes _all_ messages delivered to the Session to be acknowledged,. It doesn't just acknowledge the {{Message}} on which the {{acknowledge}} method is called. JMS 1.1 recognised this issue and clarified the spec and javadocs to make this clear.

        However the fact that the {{acknowledge}} method method is on the {{Message}} is still potentially confusing. Although we can never remove this method because of the need to maintain compatibility, adding an additional {{acknowledge}} method method is on the {{Session}} would allow application code to reflect the true behaviour.

        It is therefore proposed that a new method {{acknowledge()}} be added to the {{Session}} which causes all messages delivered to the {{Session}} to be acknowledged (i.e. identical behaviour to the existing method).
        When a session is created with an acknowledgement mode of {{Session.CLIENT_ACKNOWLEDGE}}, messages are acknowledged by calling the {{acknowledge()}} method on the {{Message}} object.

        However this method is potentially misleading because calling it causes _all_ messages delivered to the Session to be acknowledged,. It doesn't just acknowledge the {{Message}} on which the {{acknowledge}} method is called. JMS 1.1 recognised this issue and clarified the spec and javadocs to make this clear.

        However the fact that the {{acknowledge}} method is on the {{Message}} is still potentially confusing. Although we can never remove this method because of the need to maintain compatibility, adding an additional {{acknowledge}} method method is on the {{Session}} would allow application code to reflect the true behaviour.

        It is therefore proposed that a new method {{acknowledge()}} be added to the {{Session}} which causes all messages delivered to the {{Session}} to be acknowledged (i.e. identical behaviour to the existing method).
        Nigel Deakin made changes -
        Description When a session is created with an acknowledgement mode of {{Session.CLIENT_ACKNOWLEDGE}}, messages are acknowledged by calling the {{acknowledge()}} method on the {{Message}} object.

        However this method is potentially misleading because calling it causes _all_ messages delivered to the Session to be acknowledged,. It doesn't just acknowledge the {{Message}} on which the {{acknowledge}} method is called. JMS 1.1 recognised this issue and clarified the spec and javadocs to make this clear.

        However the fact that the {{acknowledge}} method is on the {{Message}} is still potentially confusing. Although we can never remove this method because of the need to maintain compatibility, adding an additional {{acknowledge}} method method is on the {{Session}} would allow application code to reflect the true behaviour.

        It is therefore proposed that a new method {{acknowledge()}} be added to the {{Session}} which causes all messages delivered to the {{Session}} to be acknowledged (i.e. identical behaviour to the existing method).
        When a session is created with an acknowledgement mode of {{Session.CLIENT_ACKNOWLEDGE}}, messages are acknowledged by calling the {{acknowledge()}} method on the {{Message}} object.

        However this method is potentially misleading because calling it causes _all_ messages delivered to the Session to be acknowledged,. It doesn't just acknowledge the {{Message}} on which the {{acknowledge}} method is called. JMS 1.1 recognised this issue and clarified the spec and javadocs to make this clear.

        However the fact that the {{acknowledge}} method is on the {{Message}} is still potentially confusing. Although we can never remove this method because of the need to maintain compatibility, adding an {{acknowledge}} method to the {{Session}} would allow application code to reflect the true behaviour.

        It is therefore proposed that a new method {{acknowledge()}} be added to the {{Session}} interface which causes all messages delivered to the {{Session}} to be acknowledged (i.e. identical behaviour to the existing method).
        Hide
        Nigel Deakin added a comment -

        The proposed simplified API {JMS_SPEC-64) provides an acknowledge method on MessagingContext. Adding a similar method on Session would be consistent with this.

        Show
        Nigel Deakin added a comment - The proposed simplified API { JMS_SPEC-64 ) provides an acknowledge method on MessagingContext . Adding a similar method on Session would be consistent with this.
        Hide
        Nigel Deakin added a comment -

        eg

        Show
        Nigel Deakin added a comment - eg
        Hide
        crowne added a comment -

        Why not be specific about the intention of the method on Session and name it acknowledgeAll();

        Show
        crowne added a comment - Why not be specific about the intention of the method on Session and name it acknowledgeAll();
        Nigel Deakin made changes -
        Tags pd20-forreview
        Hide
        Nigel Deakin added a comment -

        This will be reviewed by the JSR 343 expert group. Adding appropriate tag.

        Show
        Nigel Deakin added a comment - This will be reviewed by the JSR 343 expert group. Adding appropriate tag.
        Nigel Deakin made changes -
        Tags pd20-forreview pd20-forreview pd20-forreview-minor
        Nigel Deakin made changes -
        Tags pd20-forreview pd20-forreview-minor pd20-forreview-minor

          People

          • Assignee:
            Unassigned
            Reporter:
            Nigel Deakin
          • Votes:
            2 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: