我有一个接收数据的 websocket,我想用这些数据进行一些数据库操作。这是我的代码的简化版本:
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Event;
import javax.inject.Inject;
import javax.websocket.OnMessage;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/my_socket")
@ApplicationScoped
public class MySocket {
@Inject
Event<MySocketMessage> messageEvent;
@OnMessage
public void onMessage(String message) {
messageEvent.fire(new MySocketMessage(message));
}
}
Run Code Online (Sandbox Code Playgroud)
public class MySocketMessage {
private final String message;
public MySocketMessage(String message) {
this.message = message;
}
public String getMessage() {
return this.message;
}
}
Run Code Online (Sandbox Code Playgroud)
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import javax.inject.Inject;
import javax.persistence.EntityManager;
@ApplicationScoped
public class MyDatabaseHandler {
@Inject
EntityManager entityManager;
public void handleMessage(@Observes MySocketMessage message) {
// Do some …Run Code Online (Sandbox Code Playgroud)