目前使用 Glassfish 5(Payara)。在第一次服务器启动和部署之后,Websocket 完全没有问题。重新部署后,客户端和服务器之间的握手连接,但websocket没有从我们的服务器获得任何消息。
在这个最小化的示例中,方法 pushContext 应该发送一条消息,但 websocket 没有收到任何消息。
package com.socket;
import lombok.Getter;
import javax.faces.push.Push;
import javax.faces.push.PushContext;
import javax.faces.view.ViewScoped;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.Serializable;
@ViewScoped
@Named
public class IndexBackingBean implements Serializable {
@Getter
private String someString = "Hello";
@Inject
@Push(channel = "test-channel")
private PushContext pushContext;
private int counter = 0;
public void clickMe() {
counter += 1;
final String msg = "Click #" + counter;
System.out.println(msg + "!!");
pushContext.send(msg);
}
}