Beans Gerenciados
A especificação de Beans Gerenciados (JSR -316) é usada para definir beans gerenciados para o Java™ Platform Enterprise Edition (EE) e é uma parte da plataforma Java EE 6.
Os beans gerenciados são objetos gerenciados por contêiner com serviços mínimos suportados, tais como injeção de
recurso, chamadas de retorno de ciclo de vida e interceptores e possuem as seguintes características:
- Um bean gerenciado não possui seu próprio namespace java:comp com escopo no componente. Portanto, seus recursos podem ser definidos apenas em java:app e java:module.
- Métodos de beans gerenciados são executados no mesmo encadeamento que o encadeamento de chamada. Por exemplo, o método não inicia seu próprio encadeamento.
- Métodos de beans gerenciados usam o mesmo contexto que o encadeamento de chamada.
- Beans gerenciados são definidos com a anotação javax.annotation.ManagedBean.
- Um bean gerenciado pode ter um nome opcional e é ligado apenas em java:module e java:app se um nome estiver presente;
por exemplo:
@ManagedBean(“myCart“) public class Cart { ... }
- Uma referência para um bean gerenciado pode ser obtida por meio da injeção de recurso ou consulta em java:module ou java:app, quando um nome é especificado.
- Chamadas de retorno de ciclo de vida de suporte de beans gerenciados com as anotações javax.annotation.PostConstruct e javax.annotation.PreDestroy.
É possível especificar as informações de ligações que mapearão recursos para nomes JNDI usando um arquivo ibm-managed-bean-bnd.xml. O exemplo a seguir mostra o uso do arquivo ibm-managed-bean-bnd.xml.
<?xml version="1.0" encoding="UTF-8"?>
<managed-bean-bnd
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://websphere.ibm.com/xml/ns/javaee"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-managed-bean-bnd_1_0.xsd"
version="1.0"
>
<managed-bean class="com.ibm.example.MyManagedBean">
<resource-ref name="myDS" binding-name="jdbc/ds1"/>
<resource-ref name="com.ibm.example.MyManagdBean/field" binding-name="jdbc/ds2"/>
<message-destination-ref name="myQueue" binding-name="jms/mqQueue"/>
<ejb-ref name="myEJB" binding-name="java:app/MyEJBModule/MyStatelessBean"/>
</managed-bean>
<interceptor class="com.ibm.example.MyManagedBeanInterceptor">
<resource-ref name="interceptorDS" binding-name="jdbc/db2ds"/>
</interceptor>
</managed-bean-bnd>
Conforme definido pelo esquema de ligação de bean gerenciado, o arquivo ibm-managed-bean-bnd.xml compartilha um subconjunto de definições de elementos comuns com ligações EJB.
Para obter uma lista dos elementos de ligação EJB e suas descrições, consulte a página de visão geral de ligações de aplicativos EJB 3.0 e EJB 3.1.