@Target(value=TYPE) @Retention(value=RUNTIME) @Documented public @interface ConversationSubGroup
@GroupConversationScoped beans
in a ConversationGroup.
public class MyGroup{}
@ConversationScoped
@ConversationGroup(MyGroup.class)
public class BeanA {}
@ConversationScoped
@ConversationGroup(MyGroup.class)
public class BeanB {}
@ConversationScoped
@ConversationGroup(MyGroup.class)
public class BeanC {}
@ConversationSubGroup(of = MyGroup.class, subGroup = {BeanA.class, BeanB.class})
public class MySubGroup {}
or
@ConversationSubGroup(subGroup = {BeanA.class, BeanB.class})
public class MySubGroup extends MyGroup {}
//...
this.groupedConversationManager.closeConversation(MySubGroup.class)
or it's possible to use implicit subgroups (point to the interface instead of the bean class itself):
public interface MyUseCase {}
@ConversationSubGroup(of = MyGroup.class, subGroup = MyUseCase.class)
public class ImplicitSubGroup {}
@Named("myController")
@ConversationScoped
@ConversationGroup(MyGroup.class)
public class MyController implements Serializable, MyUseCase
{
//...
}
//...
this.groupedConversationManager.closeConversation(ImplicitSubGroup.class)
ConversationGroup,
GroupedConversationScopedpublic abstract Class<?>[] subGroup
public abstract Class<?> of
Copyright © 2015 The Apache Software Foundation. All rights reserved.