My BeanManager wrapper code @Singleton @Startup public class MDIObjectFactory {
private static BeanManager beanManager; private static BeanManager getBeanManager() { if (beanManager == null) { try { InitialContext ic = new InitialContext(); beanManager = (BeanManager) ic.lookup("java:comp/BeanManager"); } catch (Exception e) { throw new RuntimeException(e); } } return beanManager; } ... public <T> T buildBean(Class<T> beanClass) { Named named = beanClass.getAnnotation(Named.class); if (named != null) { Bean<T> bean = (Bean<T>) beanManager.resolve(beanManager.getBeans(named.value())); CreationalContext<T> env = beanManager.createCreationalContext(bean); return (T) beanManager.getReference(bean, bean.getBeanClass(), env); } Bean<T> bean = (Bean<T>) beanManager.resolve(beanManager.getBeans(beanClass)); CreationalContext<T> env = beanManager.createCreationalContext(bean); return (T) beanManager.getReference(bean, beanClass, env); } public Object buildBean(String beanName) { Bean bean = beanManager.resolve(beanManager.getBeans(beanName)); CreationalContext env = beanManager.createCreationalContext(bean); return beanManager.getReference(bean, bean.getBeanClass(), env); } ... } -Wesley _______________________________________________ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest