Interface ISubscriberAdminBuilder<T extends ISubscriberAdminBuilder<T,​B>,​B extends ISubscriberAdmin<B>>

  • Type Parameters:
    T - Type of concrete builder, needed for fluent methods.
    B - Type of concrete manager (built object), needed for fluent methods.
    All Superinterfaces:
    org.symphonyoss.s2.common.fluent.IBuilder<T,​B>, org.symphonyoss.s2.common.fluent.IFluent<T>
    All Known Implementing Classes:
    AbstractSubscriberAdmin.Builder

    public interface ISubscriberAdminBuilder<T extends ISubscriberAdminBuilder<T,​B>,​B extends ISubscriberAdmin<B>>
    extends org.symphonyoss.s2.common.fluent.IBuilder<T,​B>
    A builder for a subscriber admin controller.
    Author:
    Bruce Skingle
    • Method Detail

      • withSubscription

        T withSubscription​(ITopicSubscriptionAdmin subscription)
        Subscribe to the given subscription on the given topics.
        Parameters:
        subscription - The required subscription details.
        Returns:
        this (fluent method)
      • withObsoleteSubscription

        T withObsoleteSubscription​(ITopicSubscriptionAdmin subscription)
        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.
        Parameters:
        subscription - The subscription to be deleted.
        Returns:
        this (fluent method)