/** * Sends a disconnect command message to the client bus * * @param bus * - the bus responsible for sending messages for the server * @param message * - the message that has encountered the error */ public static void disconnectRemoteBus(MessageBus bus, Message message) { MessageBuilder.createConversation(message) .toSubject("ClientBus") .command(BusCommand.Disconnect) .noErrorHandling().sendNowWith(bus); }
@Override public void setValue(final T responseValue) { createConversation(incomingMessage) .subjectProvided() .with("MethodReply", responseValue) .noErrorHandling().reply(); } }
public void callback(Message c) { MessageBuilder.createConversation(c) .subjectProvided().noErrorHandling() .sendNowWith(bus); } });
private void notifyWorkspace() { MessageBuilder.createMessage() .toSubject(Workspace.SUBJECT) .command(LayoutCommands.Initialize) .noErrorHandling().sendNowWith(ErraiBus.get()); AuthenticationContext authenticationContext = Registry.get(SecurityService.class).getAuthenticationContext(); String userName = authenticationContext != null ? authenticationContext.getName() : "NoAuthentication"; MessageBuilder.createMessage() .toSubject("appContext.login") .with("username", userName) .noErrorHandling() .sendNowWith(ErraiBus.get()); }
protected static void invokeDefaultErrorHandlers(final Throwable throwable) { MessageBuilder.createMessage(DefaultErrorCallback.CLIENT_ERROR_SUBJECT).signalling() .with(MessageParts.Throwable, throwable).defaultErrorHandling().sendNowWith(ErraiBus.get()); } }
public void send(T value, MessageCallback replyTo) { MessageBuilder.createMessage() .toSubject(toSubject) .withValue(value) .done().repliesTo(replyTo).sendNowWith(messageBus); }
/** * Sends a ping request to the server. If the ping response is not received * within a reasonable time limit, notifyDisconnected() will be called. */ private void verifyConnected() { // in case we were in the middle of something already pingTimeout.cancel(); transmit(Collections.singletonList(MessageBuilder.createMessage() .toSubject("ServerEchoService") .signalling().done().repliesToSubject(SSE_AGENT_SERVICE).getMessage())); pingTimeout.schedule(2500); }
public void send(T value, MessageCallback replyTo) { MessageBuilder.createMessage() .toSubject(toSubject) .withValue(value) .done().repliesTo(replyTo).sendNowWith(messageBus); }
@Override public void onUnsubscribe(final SubscriptionEvent event) { if (event.isLocalOnly() || event.isRemote() || event.getSubject().startsWith("local:")) return; if (messageQueues.isEmpty()) return; MessageBuilder.createMessage() .toSubject(BuiltInServices.ClientBus.name()) .command(BusCommand.RemoteUnsubscribe) .with(MessageParts.Subject, event.getSubject()) .noErrorHandling().sendGlobalWith(ServerMessageBusImpl.this); } }
public static void sendClientError(MessageBus bus, String queueId, String errorMessage, String additionalDetails) { try { MessageBuilder.createMessage() .toSubject(DefaultErrorCallback.CLIENT_ERROR_SUBJECT) .with("ErrorMessage", errorMessage) .with("AdditionalDetails", additionalDetails) .with(MessageParts.SessionID, queueId) .flag(RoutingFlag.NonGlobalRouting) .noErrorHandling().sendNowWith(bus); } catch (RuntimeException e) { // note: this is handled this way, because this is shared server and client code. if (e.getClass().getName().equals("org.jboss.errai.bus.server.QueueUnavailableException")) { // ignore. } throw e; } }
private void notifyDisconnected() { connected = false; pingTimeout.cancel(); logger.info(this + " channel disconnected."); connectedTime = -1; clientMessageBus.setState(BusState.CONNECTION_INTERRUPTED); disconnect(sseChannel); if (!stopped) { if (retries == 0) { transmit(Collections.singletonList(MessageBuilder.createMessage() .toSubject("ServerEchoService") .signalling().done().repliesToSubject(SSE_AGENT_SERVICE).getMessage())); } final int retryDelay = Math.min((retries * 1000) + 1, 10000); logger.info("attempting SSE reconnection in " + retryDelay + "ms -- attempt: " + (++retries)); new Timer() { @Override public void run() { if (!stopped) { start(); } } }.schedule(retryDelay); } }
@Override public void callback(final Message message) { invokeMethodFromMessage(message); createConversation(message) .subjectProvided() .noErrorHandling().sendNowWith(bus); } }
@Override public void send(T value, MessageCallback replyTo, ErrorCallback errorCallback) { MessageBuilder.createMessage() .toSubject(toSubject) .withValue(value) .errorsHandledBy(errorCallback) .repliesTo(replyTo).sendNowWith(messageBus); } }
@Override public void onSubscribe(final SubscriptionEvent event) { if (event.isLocalOnly() || event.isRemote() || event.getSubject().startsWith("local:")) return; MessageBuilder.createMessage() .toSubject(BuiltInServices.ClientBus.name()) .command(BusCommand.RemoteSubscribe) .with(MessageParts.Subject, event.getSubject()) .noErrorHandling().sendGlobalWith(ServerMessageBusImpl.this); } }
.with(MessageParts.ErrorMessage, e.getMessage()) .with(MessageParts.AdditionalDetails, a.toString()) .with(MessageParts.Throwable, e) createConversation(message) .toSubject(CLIENT_ERROR_SUBJECT) .with(MessageParts.ErrorMessage, e.getMessage()) .with(MessageParts.AdditionalDetails, a.toString()) .with(MessageParts.Throwable, e) if (message == null) { createMessage(CLIENT_ERROR_SUBJECT) .with(MessageParts.ErrorMessage, "Null exception reference") .with(MessageParts.AdditionalDetails, "No additional details") .noErrorHandling().sendNowWith(ErraiBus.get()); createConversation(message) .toSubject(CLIENT_ERROR_SUBJECT) .with(MessageParts.ErrorMessage, "Null exception reference") .with(MessageParts.AdditionalDetails, "No additional details") .noErrorHandling().reply();
protected static void invokeDefaultErrorHandlers(final Throwable throwable) { MessageBuilder.createMessage(DefaultErrorCallback.CLIENT_ERROR_SUBJECT).signalling() .with(MessageParts.Throwable, throwable).defaultErrorHandling().sendNowWith(ErraiBus.get()); } }
public void callback(Message c) { MessageBuilder.createConversation(c) .subjectProvided().noErrorHandling() .sendNowWith(bus); } });
@Override public void send(T value, MessageCallback replyTo, ErrorCallback errorCallback) { MessageBuilder.createMessage() .toSubject(toSubject) .withValue(value) .errorsHandledBy(errorCallback) .repliesTo(replyTo).sendNowWith(messageBus); } }
.command(BusCommand.WebsocketChannelOpen) .with(MessageParts.WebSocketToken, reconnectionToken) .done().sendNowWith(ServerMessageBusImpl.this, false);
@Override public void callback(final Message message) { createConversation(message) .subjectProvided() .with("MethodReply", invokeMethodFromMessage(message)) .noErrorHandling().sendNowWith(bus); } }