Advertisement
Guest User

Untitled

a guest
Jul 17th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. package com.mojolly.websocket
  2.  
  3. import org.eclipse.jetty.server.Server
  4. import javax.servlet.http.{HttpServlet, HttpServletResponse, HttpServletRequest}
  5. import org.eclipse.jetty.continuation.ContinuationSupport
  6. import java.lang.String
  7. import org.eclipse.jetty.webapp.WebAppContext
  8. import akka.actor.ActorRegistry
  9.  
  10. class CometServlet extends HttpServlet {
  11.  
  12. override protected def doGet(req: HttpServletRequest, resp: HttpServletResponse) {
  13. println("Got request for continuation")
  14. val cont = ContinuationSupport.getContinuation(req)
  15. cont.setTimeout(5000)
  16. println(cont.toString)
  17. if (cont.isInitial) {
  18. cont.getServletResponse.getWriter.println("hello...")
  19. cont.getServletResponse.flushBuffer
  20. ActorRegistry.actorsFor(classOf[PollerActor]) foreach { _ ! RegisterCallback(
  21. msg => {
  22. cont.getServletResponse.getWriter.println(cont.getAttribute("messages").toString)
  23. cont.getServletResponse.flushBuffer
  24. cont.complete()
  25. }
  26. )}
  27. }
  28. cont.suspend()
  29. }
  30.  
  31. }
  32.  
  33. object WebServer {
  34.  
  35.  
  36. def main(args: Array[String]) {
  37. val server = new Server(8888)
  38.  
  39. val context = new WebAppContext
  40. context.setDescriptor("src/main/webapp/WEB-INF/web.xml")
  41. context.setResourceBase("src/main/webapp")
  42. context.setContextPath("/")
  43.  
  44. context.setParentLoaderPriority(true)
  45.  
  46. server.setHandler(context)
  47.  
  48. server.start
  49. server.join
  50. }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement