Como é possível limitar o número de instâncias de um EJB?
Pergunta
Eu quero verificar se meu feijão com estado é passivado/ativado e os retornos de chamada correspondentes são chamados corretamente.
Para isso, quero configurar os contêineres de vidro e/ou jboss para limitar o número de instâncias do feijão.
É possível ? Se sim, como?
Solução 2
Obrigado por me apontar para a direção certa.
Para Jboss, encontrou o anotação org.jboss.ejb3.annotation.cacheconfig com parâmetros maxsize e idletimeoutSeconds como parâmetros.
Aqui o link de documentação para alguém pesquisando ...http://www.jboss.org/file-access/default/members/jbossas/freezone/docs/administration_and_configuration_guide/5/html/clustering-session-sfsb30.html
No entanto, ainda não sei, como configurar isso com XML sem usar as anotações.
Outras dicas
Em Jboss, o arquivo de configuração que você deseja ver é conf/standardjboss.xml
Parece intimidador (e é), mas procure um elemento de configuração de contêineres chamado "Standard Stateful SessionBean". No final deste elemento, você verá a seção de contêiner-Pool-Conf, que define o número máximo de instâncias para esta configuração. Esse arquivo pode ser modificado ou você pode definir suas próprias configurações, embora não esteja muito claro como fazer isso. Eu suspeito que entra no arquivo meta-inf/jboss.xml.
Depois de definir uma configuração como você deseja, você precisa configurar o próprio EJB para usá -lo. Sob o EJB 2, você usaria o meta-inf/jboss.xml, mas no maravilhoso mundo sem descritores do EJB3, não tenho certeza.
Portanto, a resposta provavelmente está em um arquivo meta-inf/jboss.xml configurado. Desculpe, não posso ser mais exato, mas pelo menos sei que você sabe onde procurar.
Para a plataforma Glassfish, você pode fazer o mesmo seguindo as informações aqui:
http://docs.sun.com/app/docs/doc/819-3673/beaqm?a=View
Olhe para a parte inferior da página para alguns exemplos.
Para rastrear quando os feijões específicos são instanciados ou gc'd, adiciono alguns métodos de log e anotei -os com @PostConstruct e @Predestroy.
Eu tenho aplicado aplicativos EJB3 devloping no JBoss5.1. Para o EJB, criei um método init e anotado com @PostConstruct e forneço algumas informações de registro dentro dele. Mas o fato interessante que notei é que o método postConstrcut não está sendo chamado no tempo de implantação. Mas quando procuramos as chamadas EJB que estão sendo feitas. Isso significa que o JBoss5.1 não está fazendo o pool de feijão. Atenciosamente Hari