private static void unsubscribe(final String eventType, final AbstractCDIEventCallback<?> callback) { if (eventObservers.containsKey(eventType)) { eventObservers.get(eventType).remove(callback); if (!localOnlyObserverTypes.contains(eventType)) { boolean shouldUnsubscribe = true; for (final AbstractCDIEventCallback<?> cb : eventObservers.get(eventType)) { if (cb.getQualifiers().equals(callback.getQualifiers())) { // found another matching observer -> do not unsubscribe shouldUnsubscribe = false; break; } } if (isRemoteCommunicationEnabled() && shouldUnsubscribe) { MessageBuilder.createMessage() .toSubject(CDI.SERVER_DISPATCHER_SUBJECT) .command(CDICommands.RemoteUnsubscribe) .with(CDIProtocol.BeanType, eventType) .with(CDIProtocol.Qualifiers, callback.getQualifiers()) .noErrorHandling().sendNowWith(ErraiBus.get()); } if (eventObservers.get(eventType).isEmpty()) { eventObservers.remove(eventType); } } } }
private static void unsubscribe(final String eventType, final AbstractCDIEventCallback<?> callback) { if (eventObservers.containsKey(eventType)) { eventObservers.get(eventType).remove(callback); if (!localOnlyObserverTypes.contains(eventType)) { boolean shouldUnsubscribe = true; for (final AbstractCDIEventCallback<?> cb : eventObservers.get(eventType)) { if (cb.getQualifiers().equals(callback.getQualifiers())) { // found another matching observer -> do not unsubscribe shouldUnsubscribe = false; break; } } if (isRemoteCommunicationEnabled() && shouldUnsubscribe) { MessageBuilder.createMessage() .toSubject(CDI.SERVER_DISPATCHER_SUBJECT) .command(CDICommands.RemoteUnsubscribe) .with(CDIProtocol.BeanType, eventType) .with(CDIProtocol.Qualifiers, callback.getQualifiers()) .noErrorHandling().sendNowWith(ErraiBus.get()); } if (eventObservers.get(eventType).isEmpty()) { eventObservers.remove(eventType); } } } }
.command(CDICommands.RemoteSubscribe) .with(CDIProtocol.BeanType, eventType) .with(CDIProtocol.Qualifiers, callback.getQualifiers()) .noErrorHandling().sendNowWith(ErraiBus.get());
.command(CDICommands.RemoteSubscribe) .with(CDIProtocol.BeanType, eventType) .with(CDIProtocol.Qualifiers, callback.getQualifiers()) .noErrorHandling().sendNowWith(ErraiBus.get());
public static Subscription subscribe(final String eventType, final AbstractCDIEventCallback<?> callback) { if (isRemoteCommunicationEnabled() && ErraiBus.get() instanceof ClientMessageBusImpl && ((ClientMessageBusImpl) ErraiBus.get()).getState().equals(BusState.CONNECTED)) { MessageBuilder.createMessage() .toSubject(CDI.SERVER_DISPATCHER_SUBJECT) .command(CDICommands.RemoteSubscribe) .with(CDIProtocol.BeanType, eventType) .with(CDIProtocol.Qualifiers, callback.getQualifiers()) .noErrorHandling().sendNowWith(ErraiBus.get()); } return subscribeLocal(eventType, callback, false); }
public static Subscription subscribe(final String eventType, final AbstractCDIEventCallback<?> callback) { if (isRemoteCommunicationEnabled() && ErraiBus.get() instanceof ClientMessageBusImpl && ((ClientMessageBusImpl) ErraiBus.get()).getState().equals(BusState.CONNECTED)) { MessageBuilder.createMessage() .toSubject(CDI.SERVER_DISPATCHER_SUBJECT) .command(CDICommands.RemoteSubscribe) .with(CDIProtocol.BeanType, eventType) .with(CDIProtocol.Qualifiers, callback.getQualifiers()) .noErrorHandling().sendNowWith(ErraiBus.get()); } return subscribeLocal(eventType, callback, false); }