Mapa mental
EJB
Conteúdo do mapa
EJB
- EJB é um container que mantém a distribuição de vários serviços e gerenciamentos, como gerenciamento de transações etc.
Sessions beans
- Sessions beans, são os estados em que os beans permanecem. Sendo eles estados do tipo Stateless, Statefull e Singleton. Todos os beans de sessão possuem metodos de callbacks no seu ciclo de vida. Sendo eles @PostConstruct e @PreDestroy, depois da contrução e antes da destruição. O EJB pode decidir passivar algumas instâncias de beans, nesse caso é possível que haja perda de informação, já que as conexões com banco de dados e outros soquetes não são serializaveis. Dessa forma o EJB chama em seu ciclo de vida os metodos @PrePassivate e o @PostActive. Dessa forma é possível efetuar alguma implementação personalizada em seu ciclo de vida de acordo com sua necessidade. Vale salientar que esses metodos de callback de passivação é utilizado somente em EJB's com tipo de sessão em Statefull. Stateless tem somente os metodos de callback referentes a PostConstruct e PreDestroy.
- Statefull
- O estado Statefull Session Bean é utilizado para manter o estado de um determinado cliente, sendo assim ele consegue manter as informações dentro das variáveis da instância, bem similar ao conceito de Session das Servlets e JSF. Nesse caso é necessário criar sua Service e anotar esta classe com o @Statefull do EJB. Equivalente as classes de Service do Spring. Com essa anotação o container também conseguirá injetar e gerenciar as instâncias dessa classe. Muito utilizada em fluxos de lojas virtuais como carrinhos de compras e pedidos, esse seria o exemplo.
- Stateless
- Stateless ao contrário do Statefull ele não mantém estado, é uma instância generica que serve para todos os clientes. O Container sempre irá reaproveitar a instância para melhorar a perfomance. Para utilizar basta anotar a classe de Service com @Stateless e ela fará parte do contexto e gerenciamento do container. Dessa forma também é possível injetar o Repository dentro da service. O container irá criar um pool de instâncias para os beans e sempre irá gerencia-lo.
- Singleton
- Singleton geralmente será utilizado para levantar as configurações iniciais de um determinado bean. Tanto no inicio como no final da aplicação ele poderá ser executado. Porém uma característica dele é que será executado somente uma vez.
Interface de comunicação
- EJB possui dois tipo de interface de comunicação, @Local e @Remote. Local é utilizada quando o serviço/bean será utilizado somente dentro do mesmo arquivo de deploy (war). Já o remote é utilizado para quando outros projetos/sistemas forém acessar esse Bean, nesse momento é utilizado o contexto do JNDI para recuperar a instância desse Bean de forma remota.
- Local
- Interface de comunicação @Local é utilizada para quando o bean está no mesmo arquivo de deploy. Será acessado somente desta maneira.
- Remote
- Remote é utilizado para compartilhar serviços/beans para outros sistemas/projetos, nesse caso é necessário criar uma interface da service que contenha todos os métodos do daquele EJB para que possam ser compartilhados.
Message Driven Beans
- Message Driven Beans é gerenciado pelo container e serve para enviar mensagens assicronas.
- JMS
Informações
- Descrição
- Mapa Mental sobre EJB, criado por Maikon Canuto em 19-11-2017.
- Criado por
- Maikon Canuto
- Visualizações
- 0
- Avaliação