Class AbstractSubscriberAdmin.Builder<T extends AbstractSubscriberAdmin.Builder<T,​B>,​B extends AbstractSubscriberAdmin<B>>

  • Type Parameters:
    T - The concrete type returned by fluent methods.
    B - The concrete type of the built object.
    All Implemented Interfaces:
    org.symphonyoss.s2.common.fluent.IBuilder<T,​B>, org.symphonyoss.s2.common.fluent.IFluent<T>, ISubscriberAdminBuilder<T,​B>
    Enclosing class:
    AbstractSubscriberAdmin<T extends AbstractSubscriberAdmin<T>>

    public abstract static class AbstractSubscriberAdmin.Builder<T extends AbstractSubscriberAdmin.Builder<T,​B>,​B extends AbstractSubscriberAdmin<B>>
    extends org.symphonyoss.s2.common.fluent.BaseAbstractBuilder<T,​B>
    implements ISubscriberAdminBuilder<T,​B>
    Builder.
    Author:
    Bruce Skingle
    • Constructor Detail

      • Builder

        protected Builder​(Class<T> type)
    • Method Detail

      • withObsoleteSubscription

        public T withObsoleteSubscription​(ITopicSubscriptionAdmin subscription)
        Description copied from interface: ISubscriberAdminBuilder
        Delete the given subscription on the given topics. This method allows for the deletion of subscriptions which are no longer required. It causes the subscription to be deleted during both deploy and undeploy operations. If currently running instances of the service are actively consuming from this subscription then they will experience errors. For this reason, subscriptions should normally be phased out in two stages (assuming a no downtime deployment is required). In the first stage the service would remove the withSubscription() call, once that version is deployed a subsequent deployment can be made including a call to this method, which will cause the subscription to be deleted. This does mean that messages will back up on the subscription during the period between the two releases which may cause montioring systems to alert.
        Specified by:
        withObsoleteSubscription in interface ISubscriberAdminBuilder<T extends AbstractSubscriberAdmin.Builder<T,​B>,​B extends AbstractSubscriberAdmin<B>>
        Parameters:
        subscription - The subscription to be deleted.
        Returns:
        this (fluent method)