You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JAX-RS实现SSE在Wildfly中报错:无法设置请求为异步模式

JAX-RS实现SSE在Wildfly中报错:Failed to set servlet request into asynchronous mode, server sent events may not work

我尝试使用JAX-RS实现SSE,代码如下:

import java.util.List;
import java.util.Random;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.sse.OutboundSseEvent;
import javax.ws.rs.sse.Sse;
import javax.ws.rs.sse.SseEventSink;

@Path("events")
public class EventsHandler {

    
    Executor executorService = Executors.newSingleThreadExecutor();
    @GET
    @Produces(MediaType.SERVER_SENT_EVENTS)
    public void sendEvents(@Context SseEventSink sseEventSink, @Context Sse sse) {
        Random rnd = new Random();
        IntStream rndStream = IntStream.generate(() -> rnd.nextInt(90));
        List<Integer> lottery = rndStream.limit(5).boxed().collect(Collectors.toList());
        executorService.execute(() -> {
            lottery.forEach(value -> {
                try {
                    TimeUnit.SECONDS.sleep(5);
                    System.out.println("Sending the following value: " + value);
                    final OutboundSseEvent outboundSseEvent = sse.newEventBuilder().name("lottery")
                            .data(Integer.class, value).build();
                    sseEventSink.send(outboundSseEvent);
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            });
            sseEventSink.close();
        });
    }
}

但在Wildfly服务器上运行时,始终抛出错误信息:Failed to set servlet request into asynchronous mode, server sent events may not work,且无更多细节。我曾尝试将servlet配置中的asyncSupport设为true,但没有效果。

2023年5月15日更新
问题根源在于web.xml中使用的其他过滤器,所有涉及该servlet的过滤器都必须启用异步支持。


内容的提问来源于stack exchange,提问作者strasso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 04:00:37