@Override public void sendGlobal(Message message) { Assert.notNull("message cannot be null", message); if (proxied != null || !offerSendGlobal(message)) { proxied.sendGlobal(message); } }
/** * Attempts to deliver the specified message globally * * @param m - message to be delivered */ public void deliverGlobal(Message m) throws InterruptedException { if (messages.offer(m, 30, java.util.concurrent.TimeUnit.SECONDS)) { return; } else { switch (saturationPolicy) { case CallerRuns: svc.getBus().sendGlobal(m); break; case Fail: sendDeliveryFailure(m); throw new RuntimeException("delivery queue is overloaded!"); } } }
@Override public void receive(final org.jgroups.Message msg) { try { final Message erraiMessage = getErraiMessage(msg); erraiMessage.setResource(JGROUPS_MESSAGE_RESOURCE, msg); if (busId.equals(erraiMessage.get(String.class, BusId))) { return; } erraiMessage.setFlag(RoutingFlag.FromPeer); serverMessageBus.sendGlobal(erraiMessage); } catch (Exception e) { e.printStackTrace(); } }
public synchronized void closeProxy(ServerMessageBus bus) { Assert.notNull("message bus reference cannot be null", bus); if (heldBusMonitor != null) { bus.attachMonitor(heldBusMonitor); } for (Map.Entry<String, MessageCallback> entry : heldSubscribe.entries()) { bus.subscribe(entry.getKey(), entry.getValue()); } for (Map.Entry<String, MessageCallback> entry : heldLocalSubscribe.entries()) { bus.subscribeLocal(entry.getKey(), entry.getValue()); } for (SubscribeListener subscribeListener : heldSubscribeListener) { bus.addSubscribeListener(subscribeListener); } for (UnsubscribeListener unsubscribeListener : heldUnsubscribeListener) { bus.addUnsubscribeListener(unsubscribeListener); } for (Message message : heldMessages) { bus.send(message); } for (Message message : heldGlobalMessages) { bus.sendGlobal(message); } for (Map.Entry<Message, Boolean> entry : heldMessageFireListener.entrySet()) { bus.send(entry.getKey(), entry.getValue()); } reset(); this.proxied = bus; }
/** * Sends the message globally. If the <tt>PriorityProcessing</tt> routing flag is set, then the message is sent * globally on the bus. If not, the message is sent globally through the <tt>workerFactory</tt> * * @param message a message to dispatch globally */ public void dispatchGlobal(final Message message) throws InterruptedException { if (message.hasPart(MessageParts.PriorityProcessing)) { try { service.getBus().sendGlobal(message); } catch (Throwable t) { if (message.getErrorCallback() != null) { if (!message.getErrorCallback().error(message, t)) { return; } } else { t.printStackTrace(); } } } else { workerFactory.deliverGlobal(message); } }
serverMessageBus.sendGlobal(forwardMessage);
@Override public void sendGlobal(Message message) { Assert.notNull("message cannot be null", message); if (proxied != null || !offerSendGlobal(message)) { proxied.sendGlobal(message); } }
/** * Attempts to deliver the specified message globally * * @param m - message to be delivered */ public void deliverGlobal(Message m) throws InterruptedException { if (messages.offer(m, 30, java.util.concurrent.TimeUnit.SECONDS)) { return; } else { switch (saturationPolicy) { case CallerRuns: svc.getBus().sendGlobal(m); break; case Fail: sendDeliveryFailure(m); throw new RuntimeException("delivery queue is overloaded!"); } } }
@Override public void receive(final org.jgroups.Message msg) { try { final Message erraiMessage = getErraiMessage(msg); erraiMessage.setResource(JGROUPS_MESSAGE_RESOURCE, msg); if (busId.equals(erraiMessage.get(String.class, BusId))) { return; } erraiMessage.setFlag(RoutingFlag.FromPeer); serverMessageBus.sendGlobal(erraiMessage); } catch (Exception e) { e.printStackTrace(); } }
public synchronized void closeProxy(ServerMessageBus bus) { Assert.notNull("message bus reference cannot be null", bus); if (heldBusMonitor != null) { bus.attachMonitor(heldBusMonitor); } for (Map.Entry<String, MessageCallback> entry : heldSubscribe.entries()) { bus.subscribe(entry.getKey(), entry.getValue()); } for (Map.Entry<String, MessageCallback> entry : heldLocalSubscribe.entries()) { bus.subscribeLocal(entry.getKey(), entry.getValue()); } for (SubscribeListener subscribeListener : heldSubscribeListener) { bus.addSubscribeListener(subscribeListener); } for (UnsubscribeListener unsubscribeListener : heldUnsubscribeListener) { bus.addUnsubscribeListener(unsubscribeListener); } for (Message message : heldMessages) { bus.send(message); } for (Message message : heldGlobalMessages) { bus.sendGlobal(message); } for (Map.Entry<Message, Boolean> entry : heldMessageFireListener.entrySet()) { bus.send(entry.getKey(), entry.getValue()); } reset(); this.proxied = bus; }
/** * Sends the message globally. If the <tt>PriorityProcessing</tt> routing flag is set, then the message is sent * globally on the bus. If not, the message is sent globally through the <tt>workerFactory</tt> * * @param message a message to dispatch globally */ public void dispatchGlobal(final Message message) throws InterruptedException { if (message.hasPart(MessageParts.PriorityProcessing)) { try { service.getBus().sendGlobal(message); } catch (Throwable t) { if (message.getErrorCallback() != null) { if (!message.getErrorCallback().error(message, t)) { return; } } else { t.printStackTrace(); } } } else { workerFactory.deliverGlobal(message); } }
serverMessageBus.sendGlobal(forwardMessage);