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

Reply via email to