teorias sistema sinonimo pasivado pasivacion inoxidable importancia galvanizado español con citrico astm agua acido acero a380 java cdi jboss-weld

java - sistema - pasivado sinonimo



Error de Java: WELD-000072 Bean administrado que declara un ámbito de pasivación debe ser capaz de pasivación (7)

Escribí un programa simple en formularios web de Java pero recibo el siguiente error:

WELD-000072 El bean gestionado que declara un ámbito de pasivación debe ser apto para la pasivación. Bean: Managed Bean [class BeanPakage.DemoBeans] con calificadores [@Any @Default @Named]

¿alguien puede decirme de dónde viene este error?

mi código es:

package BeanPakage; import javax.enterprise.context.SessionScoped; import javax.inject.Named; @Named("DemoBeans") @SessionScoped public class DemoBeans { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }


Causado por: org.jboss.weld.exceptions.DeploymentException: WELD-000072: Bean que declara que un ámbito de pasivación debe ser apto para la pasivación. Bean: Managed Bean [clase com.marcos.controller.PersonaBean] con calificadores [@Default @Named @Any]

Lo resolví, aparentemente CDI, no reconocí el frijol, solo lo hice más explícito

@Named @ViewScoped public class PersonaBean implements Serializable { @Inject private IPersonaService service; public void registrar() { try { service.registrar(null); }catch (Exception e) { e.printStackTrace(); } } }

la solución para mí:

@Named ("PersonaBean") @ViewScoped public class PersonaBean implements Serializable { @Inject private IPersonaService service; public void registrar() { try { service.registrar(null); }catch (Exception e) { e.printStackTrace(); } } }



El error puede permanecer aunque el bean CDI sea serializable:

WELD-000072 Managed bean declaring a passivating scope must be passivation capable

Clase de ejemplo:

@Named @ConversationScoped public class TransactionMatchController implements Serializable { ... }

Asegúrate de que todos los @ Interceptadores también puedan ser identificados:

@Interceptor @Transactional public class TransactionInterceptor implements Serializable { ... }


Hacer DemoBeans serializado

@Named("DemoBeans") @SessionScoped public class DemoBeans implements Serializable { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }


Puede hacer que su pasivación sea compatible con la implementación de la interfaz Serializable:

public class DemoBean implements Serializable { ... }

Tenga en cuenta que hay más requisitos para ser capaz de pasivación. Consulte la documentación de Soldadura para más información.


También puede activar el comportamiento de pasivación de su bean con la anotación:

@Stateful (pasivationCapable = true)

En este caso, no necesita implementar una interfaz Serializable.

Saludos. Jorge


Verificar las importaciones

(algunas veces netbeans usaba otras de otras bibliotecas)

Ejemplo. import javax.faces.view.ViewScoped; cámbielo por importar javax.faces.bean.ViewScoped;