@OnError
public void onError(Throwable t) throws Throwable {
// Most likely cause is a user closing their browser. Check to see if
// the root cause is EOF and if it is ignore it.
// Protect against infinite loops.
int count = 0;
Throwable root = t;
while (root.getCause() != null && count < 20) {
root = root.getCause();
count ++;
}
if (root instanceof EOFException) {
// Assume this is triggered by the user closing their browser and
// ignore it.
} else {
throw t;
}
}
java类javax.websocket.OnError的实例源码
SnakeAnnotation.java 文件源码
项目:apache-tomcat-7.0.73-with-comment
阅读 27
收藏 0
点赞 0
评论 0
SnakeAnnotation.java 文件源码
项目:apache-tomcat-7.0.73-with-comment
阅读 26
收藏 0
点赞 0
评论 0
@OnError
public void onError(Throwable t) throws Throwable {
// Most likely cause is a user closing their browser. Check to see if
// the root cause is EOF and if it is ignore it.
// Protect against infinite loops.
int count = 0;
Throwable root = t;
while (root.getCause() != null && count < 20) {
root = root.getCause();
count ++;
}
if (root instanceof EOFException) {
// Assume this is triggered by the user closing their browser and
// ignore it.
} else {
throw t;
}
}
BasicWebSocketEndpoint.java 文件源码
项目:che
阅读 23
收藏 0
点赞 0
评论 0
@OnError
public void onError(Throwable t, Session session) {
Optional<String> endpointIdOptional = registry.get(session);
String combinedEndpointId;
if (endpointIdOptional.isPresent()) {
combinedEndpointId = endpointIdOptional.get();
LOG.debug("Web socket session error");
LOG.debug("Endpoint: {}", combinedEndpointId);
LOG.debug("Error: {}", t);
} else {
LOG.warn("Web socket session error");
LOG.debug("Unidentified session");
LOG.debug("Error: {}", t);
}
}
EventDriverMetrics.java 文件源码
项目:dropwizard-websockets
阅读 30
收藏 0
点赞 0
评论 0
public EventDriverMetrics(final Class<?> endpointClass, MetricRegistry metrics) {
final Class<?> klass = endpointClass;
Metered metered = klass.getAnnotation(Metered.class);
Timed timed = klass.getAnnotation(Timed.class);
ExceptionMetered em = klass.getAnnotation(ExceptionMetered.class);
this.onTextMeter = metered != null
? Optional.of(metrics.meter(MetricRegistry.name(metered.name(), klass.getName(), OnMessage.class.getSimpleName())))
: Optional.empty();
this.countOpened = metered != null
? Optional.of(metrics.counter(MetricRegistry.name(metered.name(), klass.getName(), OPEN_CONNECTIONS)))
: Optional.empty();
this.timer = timed != null
? Optional.of(metrics.timer(MetricRegistry.name(timed.name(), klass.getName())))
: Optional.empty();
this.exceptionMetered = em != null
? Optional.of(metrics.meter(MetricRegistry.name(em.name(), klass.getName(), OnError.class.getSimpleName())))
: Optional.empty();
}
ConnectionRequestEndpoint.java 文件源码
项目:jReto
阅读 20
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session session, Throwable t) {
LOGGER.log(Level.WARNING, "Error occured {0}", t);
try {
this.acceptingSession
.close(
new CloseReason(
CloseReason.CloseCodes.CLOSED_ABNORMALLY,
"An exception occured: "+t.toString()
)
);
} catch (IOException ex) {
Logger.getLogger(ConnectionAcceptEndpoint.class.getName()).log(Level.SEVERE, null, ex);
}
}
ConnectionAcceptEndpoint.java 文件源码
项目:jReto
阅读 24
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session session, Throwable t) {
LOGGER.log(Level.WARNING, "Error occured {0}", t);
try {
this.requestingSession
.close(
new CloseReason(
CloseReason.CloseCodes.CLOSED_ABNORMALLY,
"An exception occured: "+t.toString()
)
);
} catch (IOException ex) {
Logger.getLogger(ConnectionAcceptEndpoint.class.getName()).log(Level.SEVERE, null, ex);
}
}
JsServerModuleEndPoint.java 文件源码
项目:platypus-js
阅读 25
收藏 0
点赞 0
评论 0
@OnError
public void errorInSession(Session websocketSession, Throwable aError) throws Exception {
PlatypusServerCore platypusCore = lookupPlaypusServerCore();
in(platypusCore, websocketSession, (com.eas.server.Session aSession) -> {
Logger.getLogger(JsServerModuleEndPoint.class.getName()).log(Level.FINE, "WebSocket container OnError {0}.", aSession.getId());
JSObject errorEvent = Scripts.getSpace().makeObj();
errorEvent.setMember("message", aError.getMessage());
errorEvent.setMember("id", websocketSession.getId());
Logger.getLogger(JsServerModuleEndPoint.class.getName()).log(Level.SEVERE, null, aError);
platypusCore.executeMethod(moduleName, WS_ON_ERROR, new Object[]{errorEvent}, true, (Object aResult) -> {
Logger.getLogger(JsServerModuleEndPoint.class.getName()).log(Level.FINE, "{0} method of {1} module called successfully.", new Object[]{WS_ON_ERROR, moduleName});
}, (Exception ex) -> {
Logger.getLogger(JsServerModuleEndPoint.class.getName()).log(Level.SEVERE, null, ex);
});
});
}
SnakeAnnotation.java 文件源码
项目:class-guard
阅读 30
收藏 0
点赞 0
评论 0
@OnError
public void onError(Throwable t) throws Throwable {
// Most likely cause is a user closing their browser. Check to see if
// the root cause is EOF and if it is ignore it.
// Protect against infinite loops.
int count = 0;
Throwable root = t;
while (root.getCause() != null && count < 20) {
root = root.getCause();
count ++;
}
if (root instanceof EOFException) {
// Assume this is triggered by the user closing their browser and
// ignore it.
} else {
throw t;
}
}
SnakeAnnotation.java 文件源码
项目:apache-tomcat-7.0.57
阅读 29
收藏 0
点赞 0
评论 0
@OnError
public void onError(Throwable t) throws Throwable {
// Most likely cause is a user closing their browser. Check to see if
// the root cause is EOF and if it is ignore it.
// Protect against infinite loops.
int count = 0;
Throwable root = t;
while (root.getCause() != null && count < 20) {
root = root.getCause();
count ++;
}
if (root instanceof EOFException) {
// Assume this is triggered by the user closing their browser and
// ignore it.
} else {
throw t;
}
}
SnakeAnnotation.java 文件源码
项目:apache-tomcat-7.0.57
阅读 29
收藏 0
点赞 0
评论 0
@OnError
public void onError(Throwable t) throws Throwable {
// Most likely cause is a user closing their browser. Check to see if
// the root cause is EOF and if it is ignore it.
// Protect against infinite loops.
int count = 0;
Throwable root = t;
while (root.getCause() != null && count < 20) {
root = root.getCause();
count ++;
}
if (root instanceof EOFException) {
// Assume this is triggered by the user closing their browser and
// ignore it.
} else {
throw t;
}
}
SnakeAnnotation.java 文件源码
项目:tomcat7-eap6-examples
阅读 23
收藏 0
点赞 0
评论 0
@OnError
public void onError(Throwable t) throws Throwable {
// Most likely cause is a user closing their browser. Check to see if
// the root cause is EOF and if it is ignore it.
// Protect against infinite loops.
int count = 0;
Throwable root = t;
while (root.getCause() != null && count < 20) {
root = root.getCause();
count ++;
}
if (root instanceof EOFException) {
// Assume this is triggered by the user closing their browser and
// ignore it.
} else {
throw t;
}
}
AbstractEndpoint.java 文件源码
项目:cito
阅读 35
收藏 0
点赞 0
评论 0
@OnError
@Override
public void onError(Session session, Throwable cause) {
final String errorId = RandomStringUtils.randomAlphanumeric(8).toUpperCase();
this.log.warn("WebSocket error. [id={},principle={},errorId={}]", session.getId(), session.getUserPrincipal(), errorId, cause);
try (QuietClosable c = webSocketContext(this.beanManager).activate(session)) {
this.errorEvent.select(cito.annotation.OnError.Literal.onError()).fire(cause);
final Frame errorFrame = Frame.error().body(MediaType.TEXT_PLAIN_TYPE, format("%s [errorId=%s]", cause.getMessage(), errorId)).build();
session.getBasicRemote().sendObject(errorFrame);
session.close(new CloseReason(CloseCodes.PROTOCOL_ERROR, format("See server log. [errorId=%s]", errorId)));
} catch (IOException | EncodeException e) {
this.log.error("Unable to send error frame! [id={},principle={}]", session.getId(), session.getUserPrincipal(), e);
}
}
EchoService.java 文件源码
项目:Blog_sample_project
阅读 26
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session session, Throwable t) {
System.out.println(MessageFormat.format("Find exception {0} for web-socket session {1}.", t.getMessage(), session.getId()));
if(!session.isOpen()) {
System.out.println(MessageFormat.format("The web-socket {0} was already closed, now is going to remove the notification listeners.", session.getId()));
}
}
MCRWebCLIResourceSockets.java 文件源码
项目:mycore
阅读 24
收藏 0
点赞 0
评论 0
@OnError
public void error(Throwable t) {
if (t instanceof SocketTimeoutException) {
LOGGER.warn("Socket Session timed out, clossing connection");
} else {
LOGGER.error("Error in WebSocket Session", t);
}
}
MCRProcessingEndpoint.java 文件源码
项目:mycore
阅读 30
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session session, Throwable error) {
if (error instanceof SocketTimeoutException) {
this.close(session);
LOGGER.warn("Websocket error {}: websocket timeout", session.getId());
return;
}
LOGGER.error("Websocket error {}", session.getId(), error);
}
RoomEndpoint.java 文件源码
项目:sample-room-java
阅读 39
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session session, Throwable t) {
Log.log(Level.FINE, this, "A problem occurred on connection", t);
// TODO: Careful with what might revealed about implementation details!!
// We're opting for making debug easy..
tryToClose(session,
new CloseReason(CloseReason.CloseCodes.UNEXPECTED_CONDITION,
trimReason(t.getClass().getName())));
}
WSServerForIndexPage.java 文件源码
项目:tomcat-8-wffweb-demo-apps
阅读 29
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session session, Throwable throwable) {
// NOP
// log only if required
// if (LOGGER.isLoggable(Level.WARNING)) {
// LOGGER.log(Level.WARNING, throwable.getMessage());
// }
}
WebSocketMessenger.java 文件源码
项目:mdw
阅读 27
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session session, Throwable t) {
if (t instanceof IOException && t.getMessage().startsWith(
"java.io.IOException: An established connection was aborted")) {
// avoid nuisance logging when browser closes connection
if (logger.isMdwDebugEnabled())
logger.severeException(t.getMessage(), t);
}
else {
logger.severeException(t.getMessage(), t);
}
}
Application.java 文件源码
项目:real1ty
阅读 33
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session session, Throwable t) {
if(session!=null){
sessions.remove(session);
}
System.out.println("Websocket connection has broken");
t.printStackTrace();
}
ServerSideSocketIote2eRequest.java 文件源码
项目:iote2e
阅读 27
收藏 0
点赞 0
评论 0
/**
* On web socket error.
*
* @param cause the cause
*/
@OnError
public void onWebSocketError(Throwable cause) {
boolean isRemove = ThreadEntryPointIote2eRequest.serverSideSocketIote2eRequest.remove(keyCommon, this);
logger.info("Socket Error: " + cause.getMessage() + ", isRemove=" + isRemove);
shutdownThreadIgniteSubscribe();
}
ServerSideSocketNearRealTime.java 文件源码
项目:iote2e
阅读 28
收藏 0
点赞 0
评论 0
/**
* On web socket error.
*
* @param cause the cause
*/
@OnError
public void onWebSocketError(Throwable cause) {
boolean isRemove = ThreadEntryPointNearRealTime.serverSideSocketNearRealTimes.remove(Iote2eConstants.SOCKET_KEY_NRT, this);
logger.info("Socket Error: " + cause.getMessage() + ", isRemove=" + isRemove);
shutdownThreadIgniteSubscribe();
}
StatusEndPoint.java 文件源码
项目:Gobang
阅读 23
收藏 0
点赞 0
评论 0
@OnError
@Override
public void onError(Session session, Throwable throwable) {
if (throwable == null) {
return;
}
throwable.printStackTrace();
if (session != null) {
sessions.remove(session);
}
}
JKWSClient.java 文件源码
项目:jkool-client-java-api
阅读 31
收藏 0
点赞 0
评论 0
/**
* Callback hook for Connection error events.
*
* @param userSession
* the userSession which is opened.
*/
@OnError
public void onError(Session userSession, Throwable ex) {
if (this.messageHandler != null) {
this.messageHandler.onError(this, userSession, ex);
}
}
WSclient.java 文件源码
项目:ws-client
阅读 34
收藏 0
点赞 0
评论 0
@OnError
public void error(Session session, Throwable e) {
System.out.println(session.getId() + " was error.");
e.printStackTrace();
// trayにメッセージを表示。
tray.displayMessage("エラー", e.getMessage(), TrayIcon.MessageType.ERROR);
if (session.isOpen()) {
try {
session.close();
} catch (IOException ex) {
}
}
}
NotebookServer.java 文件源码
项目:hopsworks
阅读 24
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session conn, Throwable exc) {
if (impl != null) {
impl.removeConnectionFromAllNote(conn);
impl.removeConnectedSockets(conn, notebookServerImplFactory);
}
}
EndpointDispatcher.java 文件源码
项目:msf4j
阅读 27
收藏 0
点赞 0
评论 0
/**
* Extract OnError method from the endpoint if exists
*
* @param webSocketEndpoint Endpoint to extract method.
* @return method optional to handle errors.
*/
public Optional<Method> getOnErrorMethod(Object webSocketEndpoint) {
Method[] methods = webSocketEndpoint.getClass().getMethods();
Method returnMethod = null;
for (Method method : methods) {
if (method.isAnnotationPresent(OnError.class)) {
returnMethod = method;
}
}
return Optional.ofNullable(returnMethod);
}
OBSStudioClient.java 文件源码
项目:StreamSis
阅读 59
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session session, Throwable thr) {
if (thr instanceof ConnectException) {
logger.error("Connection failed.");
status.set(ConnectionStatus.CONNECTIONERROR);
return;
}
logger.error("Unknown error during connection occurred.", thr);
}
MarketSummaryWebSocket.java 文件源码
项目:sample.daytrader7
阅读 88
收藏 0
点赞 0
评论 0
@OnError
public void onError(Throwable t) {
if (Log.doTrace()) {
Log.trace("MarketSummaryWebSocket:onError -- session -->" + currentSession + "<--");
}
t.printStackTrace();
}
MediatorEndpoint.java 文件源码
项目:gameon-mediator
阅读 30
收藏 0
点赞 0
评论 0
@OnError
public void onError(@PathParam("userId") String userId, Session session, Throwable t) {
Log.log(Level.FINER, session, "oops for client " + userId + " connection", t);
WSUtils.tryToClose(session, new CloseReason(CloseReason.CloseCodes.UNEXPECTED_CONDITION,
WSUtils.trimReason(t.getClass().getName())));
}
JsClientEndPoint.java 文件源码
项目:platypus-js
阅读 23
收藏 0
点赞 0
评论 0
@OnError
public void onError(Session websocketSession, Throwable aError) {
if (onerror != null) {
space.process(context, () -> {
JSObject errorEvent = Scripts.getSpace().makeObj();
errorEvent.setMember("message", aError.getMessage());
onerror.call(session.getPublished(), new Object[]{errorEvent});
});
}
}