Не получаю ответ от события SSE - PullRequest
0 голосов
/ 30 марта 2020

Я внедряю SSE-клиент, используя jersey. Я получаю правильный ответ при запуске сервера, но если на сервере возникает задержка в событии, я не получаю ответ. Он отлично работает, CURL. Ниже приведен код для того же.

@SuppressWarnings("serial")
public class ListningService extends HttpServlet{

    private static final Logger logger = Logger.getLogger(ListningService.class.getName());
    @Autowired
    CtiIntegrationdao daoCtiInt;


    public void init(ServletConfig config) 
    {
         SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this,config.getServletContext());
        HashMap<String, String> results = daoCtiInt.getKnolarity_Config();
        String endpoint;
        endpoint = results.get("30");
        endpoint = endpoint.replace("<<AUTH>>", results.get("26"));
        logger.info(endpoint);
        logger.info("=============IN OPEN================");
        Client client = ClientBuilder.newBuilder().build();
        WebTarget target = client.target(endpoint);
        SseEventSource sseEventSource = SseEventSource.target(target).reconnectingEvery(1, TimeUnit.SECONDS).build();
        sseEventSource.register((event) -> {
            final ListningAPIPojo List = event.readData(ListningAPIPojo.class, MediaType.APPLICATION_JSON_TYPE);
            System.out.println("name: " + event.getName());
            System.out.println("id: " + event.getId());
            System.out.println("comment: " + event.getComment());
            System.out.println(List);
            if (!List.getType().equals("CDR")) {
                int result = daoCtiInt.Insert_events(List, event.getId());
                System.out.println(result);
            } else if (List.getType().equals("CDR")) {
                int result = daoCtiInt.Insert_cdr_eventData(List, event.getId());
                System.out.println(result);
            }
        }, ex -> {
            ex.printStackTrace();
         });
        sseEventSource.open();

    }

}
...