java - Add ServerEndpoint to Tomcat instance without annotations -


how add serverendpoint , onopen, onmessage , onclose event handlers specific class without use of @serverendpoint("/myurl"), @onopen, @onmessage, @onclose annotations within respective class, using embedded tomcat?

i believe it's along lines of:

tomcat tomcat = new tomcat(); tomcat.setport(8080); context context = tomcat.addwebapp("/", new file(webappdir).getabsolutepath()); context.setsessiontimeout(10080); servercontainer servercontainer = (servercontainer) context.getservletcontext().getattribute(servercontainer.class.getname()); serverendpointconfig serverendpointconfig = serverendpointconfig.builder.create(myclass.class, "myurl").build(); servercontainer.addendpoint(serverendpointconfig); 

but servercontainer gives java.lang.nullpointerexception , i'm not sure if it's correct way of doing or not.

one alternative extend javax.websocket.endpoint:

https://blogs.oracle.com/arungupta/entry/websocket_client_and_server_endpoint

public class myendpoint extends endpoint {    @override   public void onopen(final session session, endpointconfig ec) {     session.addmessagehandler(new messagehandler.whole<string>() {        @override       public void onmessage(string text) {         try {           session.getbasicremote().sendtext(text);         } catch (ioexception ex) {           logger.getlogger(myendpoint.class.getname()).log(level.severe, null, ex);         }       }   }); } 

Comments

Popular posts from this blog

php - failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request -

java - How to filter a backspace keyboard input -

java - Show Soft Keyboard when EditText Appears -