小编Mik*_*ood的帖子

Quarkus Websocket 中阻塞 IO 线程

我有一个接收数据的 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)

java hibernate blocking websocket quarkus

3
推荐指数
1
解决办法
1156
查看次数

标签 统计

blocking ×1

hibernate ×1

java ×1

quarkus ×1

websocket ×1