{"action":"closed","issue":{"url":"https://api.github.com/repos/javaee/jms-spec/issues/26","repository_url":"https://api.github.com/repos/javaee/jms-spec","labels_url":"https://api.github.com/repos/javaee/jms-spec/issues/26/labels{/name}","comments_url":"https://api.github.com/repos/javaee/jms-spec/issues/26/comments","events_url":"https://api.github.com/repos/javaee/jms-spec/issues/26/events","html_url":"https://github.com/javaee/jms-spec/issues/26","id":225648454,"number":26,"title":"Decide on the future of the optional Chapter 8 API \"JMS Application Server Facilities\"","user":{"login":"glassfishrobot","id":6104758,"avatar_url":"https://avatars0.githubusercontent.com/u/6104758?v=4","gravatar_id":"","url":"https://api.github.com/users/glassfishrobot","html_url":"https://github.com/glassfishrobot","followers_url":"https://api.github.com/users/glassfishrobot/followers","following_url":"https://api.github.com/users/glassfishrobot/following{/other_user}","gists_url":"https://api.github.com/users/glassfishrobot/gists{/gist_id}","starred_url":"https://api.github.com/users/glassfishrobot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/glassfishrobot/subscriptions","organizations_url":"https://api.github.com/users/glassfishrobot/orgs","repos_url":"https://api.github.com/users/glassfishrobot/repos","events_url":"https://api.github.com/users/glassfishrobot/events{/privacy}","received_events_url":"https://api.github.com/users/glassfishrobot/received_events","type":"User","site_admin":false},"labels":[{"id":596184139,"url":"https://api.github.com/repos/javaee/jms-spec/labels/Priority:%20Critical","name":"Priority: Critical","color":"d1733c","default":false},{"id":596184123,"url":"https://api.github.com/repos/javaee/jms-spec/labels/Type:%20Improvement","name":"Type: Improvement","color":"082da5","default":false},{"id":596185475,"url":"https://api.github.com/repos/javaee/jms-spec/labels/eg","name":"eg","color":"ededed","default":false},{"id":596185476,"url":"https://api.github.com/repos/javaee/jms-spec/labels/pd20-underreview","name":"pd20-underreview","color":"ededed","default":false}],"state":"closed","locked":false,"assignee":{"login":"nigeldeakin","id":6053562,"avatar_url":"https://avatars2.githubusercontent.com/u/6053562?v=4","gravatar_id":"","url":"https://api.github.com/users/nigeldeakin","html_url":"https://github.com/nigeldeakin","followers_url":"https://api.github.com/users/nigeldeakin/followers","following_url":"https://api.github.com/users/nigeldeakin/following{/other_user}","gists_url":"https://api.github.com/users/nigeldeakin/gists{/gist_id}","starred_url":"https://api.github.com/users/nigeldeakin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigeldeakin/subscriptions","organizations_url":"https://api.github.com/users/nigeldeakin/orgs","repos_url":"https://api.github.com/users/nigeldeakin/repos","events_url":"https://api.github.com/users/nigeldeakin/events{/privacy}","received_events_url":"https://api.github.com/users/nigeldeakin/received_events","type":"User","site_admin":false},"assignees":[{"login":"nigeldeakin","id":6053562,"avatar_url":"https://avatars2.githubusercontent.com/u/6053562?v=4","gravatar_id":"","url":"https://api.github.com/users/nigeldeakin","html_url":"https://github.com/nigeldeakin","followers_url":"https://api.github.com/users/nigeldeakin/followers","following_url":"https://api.github.com/users/nigeldeakin/following{/other_user}","gists_url":"https://api.github.com/users/nigeldeakin/gists{/gist_id}","starred_url":"https://api.github.com/users/nigeldeakin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nigeldeakin/subscriptions","organizations_url":"https://api.github.com/users/nigeldeakin/orgs","repos_url":"https://api.github.com/users/nigeldeakin/repos","events_url":"https://api.github.com/users/nigeldeakin/events{/privacy}","received_events_url":"https://api.github.com/users/nigeldeakin/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2011-07-06T13:08:48Z","updated_at":"2018-02-12T18:22:33Z","closed_at":"2018-02-12T18:22:33Z","author_association":"CONTRIBUTOR","body":"Chapter 8 of the JMS 1.1 specification, \"JMS Application Server Facilities\", defines an API for use by application servers. It has two parts:\n\n*   API to allow concurrent processing of a subscription's messages: the interfaces <tt>ServerSession</tt>, <tt>ServerSessionPool</tt>, <tt>ConnectionConsumer</tt> and the methods <tt>Session.setMessageListener()</tt>, <tt>Session.getMessageListener()</tt> and <tt>Session.run()</tt>.\n\n*   API to support distributed (XA) transactions: <tt>XAConnectionFactory</tt>, <tt>XAConnection</tt> and <tt>XASession</tt>.\n\nThis API is optional and has no compliance tests.\n\nShould this API be made mandatory, like the rest of the JMS spec, or should it be formally pruned from the spec?\n\nThis will partly depend on the outcome of [http://java.net/jira/browse/JMS_SPEC-25](https://java.net/jira/browse/JMS_SPEC-25 \"Standardise the interface between a JMS provider and a Java EE application server\") (Standardise the interface between a JMS provider and a Java EE application server). If it is decided that the interface between a JMS provider and a Java EE application server should use these interfaces (rather than the Java EE Connector API) then clearly they should become mandatory.\n\nHowever, irrespective of the outcome of [http://java.net/jira/browse/JMS_SPEC-25](https://java.net/jira/browse/JMS_SPEC-25 \"Standardise the interface between a JMS provider and a Java EE application server\") it may be beneficial to keep this API and make it mandatory since that would\n\n1\\. allow the creation of a generic JMS resource adapter that can work with any JMS 2.0 implementation, and\n2\\. allow the creation of non-Java EE frameworks that provide services such as XA transactions and async delivery to multiple consumers, but which don't support the Java EE Connector Architecture\n\nHowever these potential benefits need to be offset against the additional burden this may place on JMS vendors.\n\nNote that if it is decided that these interfaces are _not_ needed, they would not be deleted from the spec but remain in their current optional state, in accordance with chapter EE.6.1.3 \"Pruned Java Technologies\" of the Java EE 6 specification, perhaps with an explicit statement of why they are not needed.\n\nIf it is decided that these interfaces _are_ still required then there some improvements may be required to clarify, say, the integration with the transaction manager."}}
{"actor":{"display_login":"glassfishrobot"}}