相关疑难解决方法(0)

服务器发送的事件不适用于泽西SSE

我正在尝试使用Jersey的JavaScript SSE.我在我的资源中有以下代码.我在Java7和Tomcat 7上托管.我没有收到任何错误.但我在页面上看不到数据.

我打电话/broadcast发布数据.它确实显示了消息.但客户端没有任何东西.在Firefox中,我确实看到/broadcast多次触发事件.

这是我用的参考. https://jersey.java.net/documentation/latest/sse.html

    package net.jigarshah.dse.tracker;

    import javax.inject.Singleton;
    import javax.ws.rs.Consumes;
    import javax.ws.rs.GET;
    import javax.ws.rs.POST;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.MediaType;

    import org.glassfish.jersey.media.sse.EventOutput;
    import org.glassfish.jersey.media.sse.OutboundEvent;
    import org.glassfish.jersey.media.sse.SseBroadcaster;
    import org.glassfish.jersey.media.sse.SseFeature;


@Singleton
@Path("broadcast")
public class SSEResource {
    private SseBroadcaster broadcaster = new SseBroadcaster();

    @POST
    @Produces(MediaType.TEXT_PLAIN)
    @Consumes(MediaType.TEXT_PLAIN)    
    public String broadcastMessage(String message) {
        OutboundEvent.Builder eventBuilder = new OutboundEvent.Builder();
        message = message + "\n\n";
        OutboundEvent event = eventBuilder.name("message")
            .mediaType(MediaType.TEXT_PLAIN_TYPE)
            .data(String.class, message)
            .build();

        broadcaster.broadcast(event);
        System.out.println("broadcasting listen [" +message+ "]");

        return "Message …
Run Code Online (Sandbox Code Playgroud)

java jersey servlet-3.0 server-sent-events jersey-2.0

4
推荐指数
2
解决办法
7186
查看次数