Articles of cdi

JSF no llena el bean @Named @RequestScoped con valores de entrada enviados

esta es mi primera pregunta en este hermoso sitio. Busqué en Google pero no encontré ninguna solución. Soy nuevo en JSF y lo estoy aprendiendo con “JSF 2 APIs y JBoss Seam” de Kent Ka lok Tong. Ahora tengo un problema con una implementación simple de inicio de sesión. Tengo una página de inicio de […]

Cómo reemplazar @ManagedBean / @ViewScope por CDI en JSF 2.0 / 2.1

Actualmente estoy evaluando Java EE 6 / JSF 2.1 con RichFaces. Un frijol que se declara como @ManagedBean @ViewScoped Obtiene un conjunto de ID (para preparar, por ejemplo, una operación de eliminación). A través de JSF se muestra una ventana emergente de confirmación. Si el usuario confirma, se invoca el método de eliminación y elimina […]

NullPointerException al intentar acceder a @Inject bean en el constructor

Tengo una sesión de Bean con ámbito: @Named @SessionScoped public class SessionBean implements Serializable { private String someProperty; public String getSomeProperty() { return someProperty; } } Me gustaría insertar esto en un bean con ámbito de solicitud e inicializar con él: @Named @RequestScoped public class RequestBean { @Inject private SessionBean sessionBean; public RequestBean() { System.out.println(sessionBean.getProperty()); […]

JEE7: ¿Los beans EJB y CDI admiten transacciones manejadas por contenedor?

Java EE7 consiste en un conjunto de definiciones de “bean”: Managed Beans 1.0 (JSR-316 / JSR-250) Inyección de Dependencia para Java 1.0 (JSR-330) CDI 1.1 (JSR-346) JSF Managed Beans 2.2 (JSR-344) EJB 3.2 (JSR-345) Para poder deshacerme del caos en mi mente, estudio varios artículos sobre “cuándo usar qué tipo de frijol”. Uno de los […]

CDI: beans.xml, ¿dónde te pongo?

Estoy usando Weld como implementación de CDI. Mi prueba de integración, que intenta ensamblar el gráfico de objetos instanciar el contenedor de soldadura funciona bien , cuando tengo beans.xml vacíos en src/test/java/META-INF/beans.xml . Aquí está esa prueba simple: public class WeldIntegrationTest { @Test public void testInjector() { new Weld().initialize(); // shouldn’t throw exception } } […]

¿Cómo se comparan CDI y EJB? ¿interactuar?

Me está costando entender cómo interactúan los dos y dónde se encuentra el límite entre ellos. ¿Se superponen? ¿Hay redundancias entre ellos? Sé que hay anotaciones asociadas con ambos, pero no he podido encontrar una lista completa para ambos con breves descripciones. No estoy seguro de si esto ayudaría a aclarar cómo difieren o dónde […]

Dónde usar EJB 3.1 y CDI?

Estoy creando un producto basado en Java EE en el que estoy usando GlassFish 3 y EJB 3.1. Mi aplicación tiene beans de sesión , un progtwigdor y usa servicios web. Recientemente conocí Apache TomEE , que admite Contextos e Inyección de Dependencia (CDI) . El contenedor GlassFish también es compatible con CDI. ¿Puedo reemplazar […]

@Inject para pasar los parámetros a un CDI @Named Bean a través de URL

Si no puedo usar la anotación @ManagedProperty con @Named, porque @ManagedProperty no funciona en CDI (?), ¿Cómo transfiere los parámetros en la URL al cliente de facelets? En mi código, quiero pasar javax.mail.getMessageNumber () a details.xhtml a través de los botones “atrás” y “reenviar”. Entiendo que se debe usar @Inject, pero ¿qué se está inyectando […]

ManagedProperty en CDI @Named bean devuelve null

¡Estoy tratando de lidiar con @ManagedProperty pero sin éxito! He estado siguiendo esta guía, y no parece tan difícil. ¡Pero mi código simplemente no funciona! Aquí hay un pequeño fragmento @ManagedBean @SessionScoped public class LoginBean { @EJB private LoginUserLocal loginUser; private boolean loggedIn = false; private User user; private StreamedContent image; . . . //– […]

Debería usar @EJB o @Inject

He encontrado esta pregunta: ¿Cuál es la diferencia entre @Inject y @EJB pero no me hice más sabio? No he hecho Java EE anteriormente ni tengo experiencia con la dependency injection, así que no entiendo qué debo usar. ¿Es @EJB y la antigua forma de inyectar? ¿La inyección la realiza el contenedor EJB al usar […]