I want to access an @SessionScoped managed bean from WebSocket Endpoint class.
I tried
@ManagedProperty(value = "#{bean}")
private Bean bean;
in WebSocket class, but it throws:
org.apache.tomcat.websocket.pojo.PojoEndpointBase onError
SEVERE: No error handling configured for [WebSocket] and the following error occurred
java.lang.NullPointerException
@ServerEndpoint("/ws")
public class WebSocket
private Session session;
@ManagedProperty(value = "#{bean}")
private Bean bean;
@OnOpen
public void connect(Session session) {
System.out.println("BAGLANTİ KURULDU");
this.session = session;
}
@OnClose
public void close() {
System.out.println("BAGLANTİ KAPANDI");
this.session = null;
}
@OnMessage
public void message(String message) {
System.out.println("Client'ten Gelen Mesaj= " + message);
//this.session.getAsyncRemote().sendText(message + bean.getTc());
System.out.println(bean.getTc());
}
@ManagedBean(name = "bean", eager = true)
@SessionScoped
public class Bean
private String tc,sifre,name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTc() {
return tc;
}
public void setTc(String tc) {
this.tc = tc;
}
public String getSifre() {
return sifre;
}
public void setSifre(String sifre) {
this.sifre = sifre;
}