本文整理汇总了Java中javax.websocket.OnError类的典型用法代码示例。如果您正苦于以下问题:Java OnError类的具体用法?Java OnError怎么用?Java OnError使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OnError类属于javax.websocket包,在下文中一共展示了OnError类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onError
import javax.websocket.OnError; //导入依赖的package包/类
@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;
}
}
示例2: onError
import javax.websocket.OnError; //导入依赖的package包/类
@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);
}
}
示例3: EventDriverMetrics
import javax.websocket.OnError; //导入依赖的package包/类
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();
}
示例4: onError
import javax.websocket.OnError; //导入依赖的package包/类
@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);
}
}
示例5: onError
import javax.websocket.OnError; //导入依赖的package包/类
@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);
}
}
示例6: errorInSession
import javax.websocket.OnError; //导入依赖的package包/类
@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);
});
});
}
示例7: onError
import javax.websocket.OnError; //导入依赖的package包/类
@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);
}
}
示例8: onError
import javax.websocket.OnError; //导入依赖的package包/类
@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()));
}
}
示例9: error
import javax.websocket.OnError; //导入依赖的package包/类
@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);
}
}
示例10: onError
import javax.websocket.OnError; //导入依赖的package包/类
@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);
}
示例11: onError
import javax.websocket.OnError; //导入依赖的package包/类
@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())));
}
示例12: onError
import javax.websocket.OnError; //导入依赖的package包/类
@OnError
public void onError(Session session, Throwable throwable) {
// NOP
// log only if required
// if (LOGGER.isLoggable(Level.WARNING)) {
// LOGGER.log(Level.WARNING, throwable.getMessage());
// }
}
示例13: onError
import javax.websocket.OnError; //导入依赖的package包/类
@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);
}
}
示例14: onError
import javax.websocket.OnError; //导入依赖的package包/类
@OnError
public void onError(Session session, Throwable t) {
if(session!=null){
sessions.remove(session);
}
System.out.println("Websocket connection has broken");
t.printStackTrace();
}
示例15: onWebSocketError
import javax.websocket.OnError; //导入依赖的package包/类
/**
* 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();
}