Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @WebServlet({"/create_conf_link", "/invite_participant", "/get_conf_credentials", "/get_web_conf_credentials"})
- public class VcmsServlet extends HttpServlet implements AutoCloseable {
- private static final long serialVersionUID = 1L;
- private final VcmsWsMessageHandler mMessageHandler;
- private volatile Map<String, HttpServletResponse> mResponses = Collections.synchronizedMap(new HashMap<String, HttpServletResponse>());
- private Receiver mRabbitReceiver = null;
- public VcmsServlet()
- {
- super();
- mMessageHandler = new VcmsWsMessageHandler(mResponses);
- mRabbitReceiver = new Receiver(mMessageHandler, rcv_cfg)
- }
- protected void handleRequest(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException
- {
- String corrID = java.util.UUID.randomUUID().toString();
- mResponses.put(corrID, response);
- public class VcmsWsMessageHandler implements IMessageHandler
- {
- public VcmsWsMessageHandler(Map<String, HttpServletResponse> responses)
- {
- mResponses = responses;
- }
- @Override
- public void handle(final String inMethod, final String inMessage, final BasicProperties inProperties)
- {
- String corrID = inProperties.getCorrelationId();
- LOG.info("VCMS response for " + corrID + ": " + inMessage);
- synchronized (mResponses)
- {
- HttpServletResponse response = mResponses.get(corrID);
- if(response == null)
- LOG.error("Failed to find response object for corrilcation ID " + corrID);
- try
- {
- response.setStatus(200);
- response.setContentType("application/json");
- response.setCharacterEncoding("UTF-8");
- response.getWriter().write(inMessage);
- mResponses.remove(corrID);
- }
- catch(IOException ex)
- {
- LOG.error("Error sending response");
- response.setStatus(HttpServletResponse.SC_CONFLICT);
- }
- }
- }
- private volatile Map<String, HttpServletResponse> mResponses;
- }
Add Comment
Please, Sign In to add comment