Interceptor interceptorC = new Interceptor(SimpleInterceptorC.class);
interceptorC.getAroundTimeout().add(new org.apache.openejb.jee.AroundTimeout(SimpleInterceptorC.class.getName(), "interceptorTimeoutAround"));
ejbJar.addInterceptor(interceptorC);
//Configure aroundTimeout by deployment plan
StatelessBean subBeanA = new StatelessBean(SubBeanA.class);
subBeanA.addAroundTimeout("beanTimeoutAround");
ejbJar.addEnterpriseBean(subBeanA);
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanA, interceptorA));
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanA, interceptorB));
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanA, interceptorC));
//Configure aroundTimeout by annotation
StatelessBean subBeanB = new StatelessBean(SubBeanB.class);
ejbJar.addEnterpriseBean(subBeanB);
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanB, interceptorA));
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanB, interceptorB));
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanB, interceptorC));
//Override aroundTimeout annotation by deployment plan
StatelessBean subBeanC = new StatelessBean(SubBeanC.class);
subBeanC.addAroundTimeout("beanTimeoutAround");
ejbJar.addEnterpriseBean(subBeanC);
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanC, interceptorA));
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanC, interceptorB));
assemblyDescriptor.addInterceptorBinding(new InterceptorBinding(subBeanC, interceptorC));