public void test() throws Exception { System.setProperty( javax.naming.Context.INITIAL_CONTEXT_FACTORY, InitContextFactory.class.getName()); ConfigurationFactory config = new ConfigurationFactory(); Assembler assembler = new Assembler(); assembler.createProxyFactory(config.configureService(ProxyFactoryInfo.class)); assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class)); assembler.createSecurityService(config.configureService(SecurityServiceInfo.class)); // containers StatefulSessionContainerInfo statefulContainerInfo = config.configureService(StatefulSessionContainerInfo.class); statefulContainerInfo.properties.setProperty("PoolSize", "0"); statefulContainerInfo.properties.setProperty("BulkPassivate", "1"); statefulContainerInfo.properties.setProperty("Frequency", "0"); assembler.createContainer(statefulContainerInfo); EjbJar ejbJar = new EjbJar(); StatefulBean bean = ejbJar.addEnterpriseBean(new StatefulBean(TargetBean.class)); bean.setHomeAndRemote(TargetHome.class, Target.class); assembler.createApplication( config.configureApplication( new EjbModule( getClass().getClassLoader(), getClass().getSimpleName(), "test", ejbJar, null))); calls.clear(); InitialContext ctx = new InitialContext(); TargetHome home = (TargetHome) ctx.lookup("TargetBeanRemoteHome"); assertNotNull(home); Target target = home.create("Fuzz"); assertNotNull(target); String name = target.getName(); assertEquals("Fuzz", name); target.remove(); assertCalls(Call.values()); }