0

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;
    }
Andrew Morton
  • 24,203
  • 9
  • 60
  • 84

0 Answers0