ejbJar.addEnterpriseBean(subBeanA);
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanA, interceptor));
//Test configure session synchronization callback methods in deployment plan
StatefulBean subBeanB = new StatefulBean(SubBeanB.class);
subBeanB.setAfterBeginMethod(new NamedMethod(SubBeanB.class.getDeclaredMethod("afterBegin")));
subBeanB.setBeforeCompletionMethod(new NamedMethod(SubBeanB.class.getDeclaredMethod("beforeCompletion")));
subBeanB.setAfterCompletionMethod(new NamedMethod(SubBeanB.class.getDeclaredMethod("afterCompletion", boolean.class)));
ejbJar.addEnterpriseBean(subBeanB);
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanB, interceptor));
//Test session synchronization methods via annotations
StatefulBean subBeanC = new StatefulBean(SubBeanC.class);
ejbJar.addEnterpriseBean(subBeanC);
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanC, interceptor));
//Test override the annotations by deployment plan
StatefulBean subBeanD = new StatefulBean(SubBeanD.class);
subBeanD.setAfterBeginMethod(new NamedMethod(SubBeanD.class.getDeclaredMethod("afterBeginNew")));
subBeanD.setBeforeCompletionMethod(new NamedMethod(SubBeanD.class.getDeclaredMethod("beforeCompletionNew")));
subBeanD.setAfterCompletionMethod(new NamedMethod(SubBeanD.class.getDeclaredMethod("afterCompletionNew", boolean.class)));
ejbJar.addEnterpriseBean(subBeanD);
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanD, interceptor));
//Test only one session synchronization method @AfterBegin
StatefulBean subBeanE = new StatefulBean(SubBeanE.class);