Recordando beans de sessão sem estado em enterprise javabeans
beans de sessão sem estado
Conteúdo
beans de sessão sem estado pode ser complicado por causa da maneira as interfaces EJBHome e EJBObject são definidos. Todos os tipos de componentes EJB implementar estas duas interfaces, que deve ser genérico o suficiente para suportar os métodos necessários de feijão Stateless Session, feijão sessão com estado e beans de entidade. Porque beans de sessão sem estado são tão simples, eles não precisam de todos os métodos que as interfaces EJBHome e EJBObject definem. Consequentemente, alguns dos métodos no bean de sessão sem sempre lançar exceções se eles estão invocado.
Dê uma nota - ao definir suas próprias classes, é uma boa idéia para definir interfaces de modo que eles se escondem métodos que são irrelevantes para uma implementação particular. Você conseguir isso simplesmente definindo a interface mais estreito primeiro, e depois estendendo-o para adicionar métodos adicionais para uma interface mais ampla, e assim por diante até que você tenha todos os métodos necessários definido. Se o fizer, elimina a confusão que resulta de ter métodos implementados em uma classe que não precisa deles e não pode usá-los.
ciclo de vida do bean de sessão sem estado
beans de sessão sem estado são componentes EJB projetado com dois objetivos simples na mente:
- Para executar tarefas simples que podem ser realizadas em uma única invocação de método.
- Para ser compartilhado por muitos clientes ao mesmo tempo. Esta é a causa raiz para o bean de sessão sendo apátrida.
Video: EJB Tutorials
O termo apátrida refere-se ao fato de que o bean de sessão sem estado não pode segurar qualquer informação para um cliente EJB entre invocações de método para esse cliente. A razão pela qual os feijões de sessão sem estado não têm estado é porque os grãos são mantidos numa piscina comum no recipiente EJB entre cada chamada de método na feijão, um processo mostrado na Figura 1.
Quando um cliente chama um método em um bean de sessão sem estado, ele é removido da piscina, o método é executado, eo feijão é imediatamente retornada para o pool. Conseqüentemente, se você executou dois métodos simultâneas em uma variável bean de sessão sem estado, diferentes feijão no container EJB provavelmente atendê-los.
casos ideais para o uso de beans de sessão sem estado são para tarefas simples, como o processamento de um pagamento, fazer um depósito, ou fazer uma retirada. Essas tarefas têm duas características comuns: Eles representam ações, e pode ser realizado em uma única etapa.
Enquanto beans de sessão sem estado oferecer um grande benefício de desempenho, eles não são a escolha certa para todas as tarefas. Se você precisa de seu bean de sessão para lembrar de informações fornecidas por um cliente em vários invocações de método, então você deve usar beans de sessão com estado.
Video: JSF Enterprise Java Beans tutorial
Quando usar beans de sessão sem estado
Dada a abundância de opções de componentes EJB disponíveis para você, às vezes pode ser difícil decidir se o bean de sessão sem estado é a ferramenta certa para a sua tarefa. Um par de orientações simples pode ajudá-lo a tomar essa decisão.
- Primeiro, considere se a tarefa a sua aplicação precisa executar pode ser realizado em uma invocação método único. Lembre-se que um bean de sessão sem estado não consegue se lembrar de estado específica de um cliente entre as chamadas de método. Assim, se a tarefa em questão envolve mais do que uma única etapa, o bean de sessão sem estado não é a escolha certa. Mas se você pode executar a tarefa em uma única etapa, em seguida, use sempre o bean de sessão sem estado.
- Em segundo lugar, determinar se o processo de sua aplicação está realizando precisa ser visível para vários clientes ao mesmo tempo. Se o aplicativo precisa para compartilhar informações e estado entre vários clientes, então você tem apenas uma escolha - um bean de entidade.
Video: JavaBean
Lembre-se que um bean de sessão sem estado oferece benefícios substanciais de desempenho para sua aplicação. Geralmente, se você pode projetar o aplicativo para maximizar o uso de beans de sessão sem estado, o servidor de aplicativos será capaz de responder às chamadas dos clientes mais rapidamente. Vejo Os princípios básicos da escrita Empresa Código JavaBean.