Я внедряю 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();
}
}