No announcement yet.
  • Filter
  • Time
Clear All
new posts

    BUG REPORT: isomorphic-messaging disables all other Websocket Endpoints

    I was able to duplicate the issue with a test websocket that does what SmartGWT does in the root webapp. The issue is “war” specific and is caused by Isomorphic.

    Instead of just using a @ServerEndpoint annotation they are extending endpoint and using their own configuration (extends Endpoint implements ServerApplicationConfig). When you do this there is a method you must override (public Set<ServerEndpointConfig> getEndpointConfigs(Set<Class<? extends Endpoint>> scanned) ) that is given a set of the annotated endpoints there were found, and allowed to keep / remove / add anything to this list before the server (tyrus) processes it.

    They simply return an empty set. If they just returned what is passed in it would work (I tested it).

    // bad
    public Set<Class<?>> getAnnotatedEndpointClasses(Set<Class<?>> scanned)
    Set results = new HashSet();
    return results;
    // good
    public Set<Class<?>> getAnnotatedEndpointClasses(Set<Class<?>> scanned)
    return scanned;
    Here a full example of the required implementation of websockets:

    Thanks for the really clear problem report - this has been patched and should make it into tomorrow's (Thursday Aug 9) patch build. Please give that a shot!