我已经实现了一种通过SSE事件从我的应用程序中接收来自OpenHab的实时通知的方法。以前,我使用glassfish服务器来部署我的应用程序。但是我需要切换到Payara,现在将无法建立sse连接。我收到以下错误消息:
参数fish.payara.requesttracing.jaxrs.client.decorators.JaxrsWebTargetDecorator@45> 314ad8不是有效的JerseyWebTarget实例。 SseEventSource不支持其他WebTarget实现。
当切换回glassfish服务器时,代码可以完美运行。而且我可以建立一个sse连接。
WebTarget wt = requestHelper.buildTarget(
"/events",
new String[0],
new Object[0],
new String[]{"topics"},
new String[]{String.format("smarthome/%s/%s/%s", "items", itemName, "statechanged")});
eventSource = SseEventSource
.target(wt)
.build();
这是我的Webtarget建筑物。在.build
中,它检查 webTarget是否是 JerseyWebTarget 的实例,但是在我的情况下,它是JaxrsWebTargetDecorator,我无法解释原因。有人知道问题出在哪里吗?