[WEBSOCKET_SPEC-14] Should only be able to create WebSockets using POJOs and Annotations Created: 12/Oct/12  Updated: 17/Nov/12  Due: 09/Nov/12  Resolved: 17/Nov/12

Status: Resolved
Project: websocket-spec
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: dannycoward Assignee: dannycoward
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


The motivation behind this request is to make a simple programming model consistent with the JAX-RS spec which does not allow programmatic endpoints, just POJO+annotation endpoints. Since this POJO+annotation style has become a central feature of the Java EE programming model, perhaps this spec should only use it ?

This would mean removing Endpoint and the MessageHandler classes. Session, RemoteEndpoint and probably the configuration and container classes would have to remain.

I think there is benefit in standardizing the API-versions of websocket endpoints, even if this does offer two modes in the programming model. The benefit is to standardize on the multiple API-versions of websocket-endpoint out there already, and to cater to developers who do not care for annotations (there are plenty).

Comment by dannycoward [ 16/Nov/12 ]

We will not remove either of the two modes.

We have had feedback that developers like to be able to do programmatic endpoints as well as annotations, even if some people believe that annotations should be the only mode.

As much as the EE programming model is focused around annotations nowadays, there are still many developers who prefer an API approach. Allowing other websocket frameworks to layer on top of our standard Endpoint API is going to be a big plus. We'd rather than kind of invention happen on top of our APIs than away from them.

Comment by dannycoward [ 17/Nov/12 ]

We will keep both POJOs and Endpoints per the comment

Generated at Thu May 28 06:42:12 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.