Package org.symphonyoss.s2.fugue.pubsub
Class AbstractSubscriberAdmin.Builder<T extends AbstractSubscriberAdmin.Builder<T,B>,B extends AbstractSubscriberAdmin<B>>
- java.lang.Object
-
- org.symphonyoss.s2.common.fluent.Fluent<T>
-
- org.symphonyoss.s2.common.fluent.BaseAbstractBuilder<T,B>
-
- org.symphonyoss.s2.fugue.pubsub.AbstractSubscriberAdmin.Builder<T,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
-
-
Field Summary
Fields Modifier and Type Field Description protected List<ITopicSubscriptionAdmin>obsoleteSubscribers_protected List<ITopicSubscriptionAdmin>subscribers_
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TwithObsoleteSubscription(ITopicSubscriptionAdmin subscription)Delete the given subscription on the given topics.TwithSubscription(ITopicSubscriptionAdmin subscription)Subscribe to the given subscription on the given topics.-
Methods inherited from class org.symphonyoss.s2.common.fluent.BaseAbstractBuilder
build, construct, validate
-
-
-
-
Field Detail
-
obsoleteSubscribers_
protected List<ITopicSubscriptionAdmin> obsoleteSubscribers_
-
subscribers_
protected List<ITopicSubscriptionAdmin> subscribers_
-
-
Method Detail
-
withSubscription
public T withSubscription(ITopicSubscriptionAdmin subscription)
Description copied from interface:ISubscriberAdminBuilderSubscribe to the given subscription on the given topics.- Specified by:
withSubscriptionin interfaceISubscriberAdminBuilder<T extends AbstractSubscriberAdmin.Builder<T,B>,B extends AbstractSubscriberAdmin<B>>- Parameters:
subscription- The required subscription details.- Returns:
- this (fluent method)
-
withObsoleteSubscription
public T withObsoleteSubscription(ITopicSubscriptionAdmin subscription)
Description copied from interface:ISubscriberAdminBuilderDelete 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:
withObsoleteSubscriptionin interfaceISubscriberAdminBuilder<T extends AbstractSubscriberAdmin.Builder<T,B>,B extends AbstractSubscriberAdmin<B>>- Parameters:
subscription- The subscription to be deleted.- Returns:
- this (fluent method)
-
-