import org.wamblee.cdi.SimpleInjectorTest.Y;
import org.wamblee.inject.InjectorFactory;
import org.wamblee.inject.InjectorBuilder;
+import org.wamblee.test.cdi.BeanManagerSetup;
import org.wamblee.test.jndi.StubInitialContextFactory;
public class InjectorBuilderTest extends BaseTestFixture {
-
@Test
- public void testCdiInjectorFactoryIsFound() throws Exception {
+ public void testCdiInjectorFactoryIsFound() throws Exception {
BeanManagerSetup setup = new BeanManagerSetup();
setup.initialize();
StubInitialContextFactory.register();
- InitialContext ctx = new InitialContext();
+ InitialContext ctx = new InitialContext();
ctx.bind(BeanManagerLookup.BEAN_MANAGER_JNDI, setup.getBeanManager());
try {
InjectorFactory factory = InjectorBuilder.getInjectorFactory();
StubInitialContextFactory.unregister();
}
}
+
+ @Test
+ public void testInjectManyTimes() {
+ int n = 1000;
+ BeanManagerSetup setup = new BeanManagerSetup();
+ setup.initialize();
+ BeanManagerLookup.setBeanManager(setup.getBeanManager());
+ InjectorBuilder.setInjectorFactory(null);
+ long t0 = System.currentTimeMillis();
+ for (int i = 0; i < n; i++) {
+ MyPojo pojo = new MyPojo();
+ InjectorBuilder.getInjector().inject(pojo);
+ }
+ long t1 = System.currentTimeMillis();
+ System.out.println(t1 - t0);
+ System.out.println("Injections per second: " + ((double) n) /
+ ((double) (t1 - t0)) * ((double) 1000));
+ setup.shutdown();
+ }
}