【发布时间】:2018-12-02 13:28:41
【问题描述】:
如何在 Meecrowave (1.2.4) 中启用 SSE?
我为 org.apache.cxf:cxf-rt-rs-sse:3.2.7 添加了依赖项,但我在资源方法中得到了 NPE:
java.lang.NullPointerException: null
at org.apache.cxf.jaxrs.impl.AsyncResponseImpl.initContinuation(AsyncResponseImpl.java:306) ~[cxf-rt-frontend-jaxrs-3.2.7.jar:3.2.7]
at org.apache.cxf.jaxrs.impl.AsyncResponseImpl.<init>(AsyncResponseImpl.java:68) ~[cxf-rt-frontend-jaxrs-3.2.7.jar:3.2.7]
at org.apache.cxf.jaxrs.sse.SseEventSinkContextProvider.createContext(SseEventSinkContextProvider.java:47) ~[cxf-rt-rs-sse-3.2.7.jar:3.2.7]
at org.apache.cxf.jaxrs.sse.SseEventSinkContextProvider.createContext(SseEventSinkContextProvider.java:35) ~[cxf-rt-rs-sse-3.2.7.jar:3.2.7]
at org.apache.cxf.jaxrs.utils.JAXRSUtils.createContextValue(JAXRSUtils.java:1146) ~[cxf-rt-frontend-jaxrs-3.2.7.jar:3.2.7]
at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameter(JAXRSUtils.java:874) ~[cxf-rt-frontend-jaxrs-3.2.7.jar:3.2.7]
at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:808) [cxf-rt-frontend-jaxrs-3.2.7.jar:3.2.7]
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:214) [cxf-rt-frontend-jaxrs-3.2.7.jar:3.2.7]
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:78) [cxf-rt-frontend-jaxrs-3.2.7.jar:3.2.7]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [cxf-core-3.2.7.jar:3.2.7]
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) [cxf-core-3.2.7.jar:3.2.7]
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267) [cxf-rt-transports-http-3.2.7.jar:3.2.7]
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) [cxf-rt-transports-http-3.2.7.jar:3.2.7]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) [cxf-rt-transports-http-3.2.7.jar:3.2.7]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) [cxf-rt-transports-http-3.2.7.jar:3.2.7]
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:216) [cxf-rt-transports-http-3.2.7.jar:3.2.7]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301) [cxf-rt-transports-http-3.2.7.jar:3.2.7]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:225) [cxf-rt-transports-http-3.2.7.jar:3.2.7]
我在 Meecrowave 中找到了关于 SSE 的旧帖子:
但现在似乎不相关了,因为 SSE 在 CXF 3.2.5 中进行了重构:
【问题讨论】:
-
你能分享一个可以用来重现错误的测试用例吗?
标签: jax-rs cxf cdi server-sent-events