projects
/
lgpl
/
argeo-commons.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve Jetty integration in order to support consistent HTTP sessions.
[lgpl/argeo-commons.git]
/
org.argeo.cms.ee
/
src
/
org
/
argeo
/
cms
/
websocket
/
server
/
EventEndpoint.java
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 c71c862d65c1cf195a8d0a7399a1ecfbd9a33f43..defc59efcadf1e49926f373fe97781eecdf4c89e 100644
(file)
--- 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;
package org.argeo.cms.websocket.server;
import java.io.IOException;
+import java.nio.channels.ClosedChannelException;
import java.util.Map;
import javax.websocket.OnClose;
import java.util.Map;
import javax.websocket.OnClose;
+import javax.websocket.OnError;
import javax.websocket.OnOpen;
import javax.websocket.RemoteEndpoint;
import javax.websocket.Session;
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.CmsEventBus;
import org.argeo.api.cms.CmsEventSubscriber;
+import org.argeo.api.cms.CmsLog;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
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 {
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;
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);
}
}
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);
+ }
}
}