shadowSubscriptions.containsKey(subject))) { try { throw new NoSubscribersToDeliverTo(subject); } catch (NoSubscribersToDeliverTo ex) { if (message.getErrorCallback() != null) {
throw new NoSubscribersToDeliverTo(subject);
private void delayOrFail(final Message message, final Runnable deliveryTaskRunnable) { if (message.isFlagSet(RoutingFlag.RetryDelivery) && message.getResource(Integer.class, Resources.RetryAttempts.name()) > 3) { final NoSubscribersToDeliverTo ntdt = new NoSubscribersToDeliverTo(message.getSubject()); if (message.getErrorCallback() != null) { message.getErrorCallback().error(message, ntdt); } throw ntdt; } message.setFlag(RoutingFlag.RetryDelivery); if (!message.hasResource(Resources.RetryAttempts.name())) { message.setResource(Resources.RetryAttempts.name(), 0); } message.setResource(Resources.RetryAttempts.name(), message.getResource(Integer.class, Resources.RetryAttempts.name()) + 1); getScheduler().schedule(new Runnable() { @Override public void run() { deliveryTaskRunnable.run(); } }, 250, TimeUnit.MILLISECONDS); }
shadowSubscriptions.containsKey(subject))) { try { throw new NoSubscribersToDeliverTo(subject); } catch (NoSubscribersToDeliverTo ex) { if (message.getErrorCallback() != null) {
throw new NoSubscribersToDeliverTo(subject);
private void delayOrFail(final Message message, final Runnable deliveryTaskRunnable) { if (message.isFlagSet(RoutingFlag.RetryDelivery) && message.getResource(Integer.class, Resources.RetryAttempts.name()) > 3) { final NoSubscribersToDeliverTo ntdt = new NoSubscribersToDeliverTo(message.getSubject()); if (message.getErrorCallback() != null) { message.getErrorCallback().error(message, ntdt); } throw ntdt; } message.setFlag(RoutingFlag.RetryDelivery); if (!message.hasResource(Resources.RetryAttempts.name())) { message.setResource(Resources.RetryAttempts.name(), 0); } message.setResource(Resources.RetryAttempts.name(), message.getResource(Integer.class, Resources.RetryAttempts.name()) + 1); getScheduler().schedule(new Runnable() { @Override public void run() { deliveryTaskRunnable.run(); } }, 250, TimeUnit.MILLISECONDS); }