Guest User

Untitled

a guest
Dec 18th, 2017
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. @WebServlet({"/create_conf_link", "/invite_participant", "/get_conf_credentials", "/get_web_conf_credentials"})
  2. public class VcmsServlet extends HttpServlet implements AutoCloseable {
  3. private static final long serialVersionUID = 1L;
  4.  
  5. private final VcmsWsMessageHandler mMessageHandler;
  6.  
  7. private volatile Map<String, HttpServletResponse> mResponses = Collections.synchronizedMap(new HashMap<String, HttpServletResponse>());
  8. private Receiver mRabbitReceiver = null;
  9. public VcmsServlet()
  10. {
  11. super();
  12.  
  13. mMessageHandler = new VcmsWsMessageHandler(mResponses);
  14. mRabbitReceiver = new Receiver(mMessageHandler, rcv_cfg)
  15. }
  16.  
  17. protected void handleRequest(HttpServletRequest request, HttpServletResponse response)
  18. throws ServletException, IOException
  19. {
  20. String corrID = java.util.UUID.randomUUID().toString();
  21. mResponses.put(corrID, response);
  22.  
  23. public class VcmsWsMessageHandler implements IMessageHandler
  24. {
  25. public VcmsWsMessageHandler(Map<String, HttpServletResponse> responses)
  26. {
  27. mResponses = responses;
  28. }
  29.  
  30. @Override
  31. public void handle(final String inMethod, final String inMessage, final BasicProperties inProperties)
  32. {
  33. String corrID = inProperties.getCorrelationId();
  34. LOG.info("VCMS response for " + corrID + ": " + inMessage);
  35. synchronized (mResponses)
  36. {
  37. HttpServletResponse response = mResponses.get(corrID);
  38. if(response == null)
  39. LOG.error("Failed to find response object for corrilcation ID " + corrID);
  40. try
  41. {
  42. response.setStatus(200);
  43. response.setContentType("application/json");
  44. response.setCharacterEncoding("UTF-8");
  45. response.getWriter().write(inMessage);
  46. mResponses.remove(corrID);
  47. }
  48. catch(IOException ex)
  49. {
  50. LOG.error("Error sending response");
  51. response.setStatus(HttpServletResponse.SC_CONFLICT);
  52. }
  53. }
  54. }
  55.  
  56. private volatile Map<String, HttpServletResponse> mResponses;
  57. }
Add Comment
Please, Sign In to add comment