Java 类org.springframework.web.servlet.mvc.method.annotation.SseEmitter.SseEventBuilder 实例源码

项目:sse-eventbus    文件:ClientEvent.java   
public SseEventBuilder createSseEventBuilder() {

        SseEventBuilder sseBuilder = SseEmitter.event();

        if (!this.event.event().equals(SseEvent.DEFAULT_EVENT)) {
            sseBuilder.name(this.event.event());
        }

        this.event.id().ifPresent(sseBuilder::id);
        this.event.retry().map(Duration::toMillis).ifPresent(sseBuilder::reconnectTime);
        this.event.comment().ifPresent(sseBuilder::comment);

        if (this.convertedValue != null) {
            sseBuilder.data(this.convertedValue);
        }
        else {
            sseBuilder.data(this.event.data());
        }

        return sseBuilder;

    }
项目:nges-sample-tic-tac-toe    文件:SseEventStream.java   
private void sendAndStopOnError(String event, Optional<String> id, Object data) {
    try {
        SseEventBuilder builder = SseEmitter.event().name(event).data(data);
        id.ifPresent(builder::id);
        sseEmitter.send(builder);
    } catch (Exception e) {
        log.warn("Error in SSE channel: " + e);
        stop();
    }
}
项目:dashboard1b    文件:ControladorHTML.java   
@RequestMapping( value = "/newSugerence")
@EventListener
public void newSugerence(Sugerencia data){

    System.out.println("Evento escuchado!");
    SseEventBuilder newSugerenceEvent = SseEmitter.event().name("evento").data("{ \"tipo\": \"newSugerence\" , \"title\":\"" + data.getTitulo() + "\"}");
    sendEvent(newSugerenceEvent);
}
项目:dashboard1b    文件:ControladorHTML.java   
@RequestMapping( value = "/newComentary")
@EventListener
public void newComentary(Comentario data){


    SseEventBuilder newComentaryEvent = SseEmitter.event().name("evento").data("{ \"tipo\": \"newComentary\" ,  \"title\":\"" + data.getSugerencia().getTitulo() +"\" }");
    sendEvent(newComentaryEvent);
}
项目:dashboard1b    文件:ControladorHTML.java   
private void sendEvent(SseEventBuilder event){
    synchronized (sseEmitters) {
        for(SseEmitter emitter: sseEmitters){
            try {
                System.out.println("Enviando el evento");
                emitter.send(event);
            } catch (IOException e) {
                e.printStackTrace();

            }
        }
    }
}
项目:dashboard1b    文件:ControladorHTML.java   
@RequestMapping( value = "/upvoteSugerence")
@EventListener
public void upvoteSugerence(UpvoteEvent data){
    SseEventBuilder upvoteSugerenceEvent = SseEmitter.event().name("evento").data("{ \"tipo\": \"upvote\" , \"title\":\"" + data.getTitulo() + "\" , \"votes\": \""+ (data.getVotos()+1)+ "\" }");
    sendEvent(upvoteSugerenceEvent);
}