根据jBoss 7.4文档,我可以定义一个带有所需注解的WebSocket
@ServerEndpoint("/websocket/helloworld")
public class MyService {
@OnMessage
String sayHello(String name){ ... };
@OnOpen
void helloOnOpen(Session session){ ... };
@OnClose
void helloOnClose(CloseReason reason){ ... };
}
我想在外部存储库的接口中拥有该WebSocket的合约,并将该依赖项添加到我实现的项目中。
所以在这个场景中,我将有一个chat-api依赖项,我在其中实现接口
@ServerEndpoint("/websocket/helloworld")
public interface MyServiceInterface {
@OnMessage
String sayHello(String name);
@OnOpen
void helloOnOpen(Session session);
@OnClose
void helloOnClose(CloseReason reason);
}
我的实现将使用这个接口
public class MyServiceImpl implements MyServiceInterface {
@Override
String sayHello(String name){ ... };
@Override
void helloOnOpen(Session session){ ... };
@Override
void helloOnClose(CloseReason reason){ ... };
}
但是如果我这样做,Wildfly不处理WebSocket,它不工作。(你可以看到我在这里遇到的问题)
我能帮你安排一下吗?
1条答案
按热度按时间hiz5n14c1#
阅读Javadoc似乎不可能:https://docs.oracle.com/javaee/7/api/javax/websocket/server/ServerEndpoint.html:
带注解的类必须有一个公共的无参数构造函数。