X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ee%2Fsrc%2Forg%2Fargeo%2Fcms%2Fwebsocket%2Fserver%2FEventEndpoint.java;h=defc59efcadf1e49926f373fe97781eecdf4c89e;hb=54df376a9c2dd458a82eaa09bfbb718fe699dd0d;hp=c71c862d65c1cf195a8d0a7399a1ecfbd9a33f43;hpb=8c6e16aa43d9523e1ec57a41a06b3ceba7d23fdb;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/EventEndpoint.java b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/EventEndpoint.java index c71c862d6..defc59efc 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/EventEndpoint.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/EventEndpoint.java @@ -1,9 +1,11 @@ package org.argeo.cms.websocket.server; import java.io.IOException; +import java.nio.channels.ClosedChannelException; import java.util.Map; import javax.websocket.OnClose; +import javax.websocket.OnError; import javax.websocket.OnOpen; import javax.websocket.RemoteEndpoint; import javax.websocket.Session; @@ -12,11 +14,13 @@ import javax.websocket.server.ServerEndpoint; import org.argeo.api.cms.CmsEventBus; import org.argeo.api.cms.CmsEventSubscriber; +import org.argeo.api.cms.CmsLog; import org.osgi.framework.BundleContext; import org.osgi.framework.FrameworkUtil; -@ServerEndpoint(value = "/event/{topic}", configurator = CmsWebSocketConfigurator.class) +@ServerEndpoint(value = "/cms/status/event/{topic}", configurator = CmsWebSocketConfigurator.class) public class EventEndpoint implements CmsEventSubscriber { + private final static CmsLog log = CmsLog.getLog(EventEndpoint.class); private BundleContext bc = FrameworkUtil.getBundle(TestEndpoint.class).getBundleContext(); private RemoteEndpoint.Basic remote; @@ -47,4 +51,13 @@ public class EventEndpoint implements CmsEventSubscriber { throw new IllegalStateException(e); } } + + @OnError + public void onError(Throwable e) { + if (e instanceof ClosedChannelException) { + // ignore, as it probably means ping was closed on the other side + return; + } + log.error("Cannot process ping", e); + } }