[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: [reverbel-sma] Dúvida sobre empacotamento EJB



Olá Helves.

On 8/14/06, Helves Domingues <hhdomingues@xxxxxxxxx> wrote:
Minha dúvida é simples,  este pacote, que contém tudo, me parece que é para
colocar no servidor de aplicação, mas e o pacote para o cliente? O que deve
conter?
Estou assumindo que seu cliente seja uma classe Java com um método
main(), que roda fora do servidor de aplicações. Por favor me corrija
se eu estiver errado. Nesse caso, você não precisa implantar nada do
cliente no servidor de aplicações. Quando você implantar o seu EJB no
servidor de aplicações, ele vai automaticamente criar duas entradas no
JNDI: "ejbName/local" e "ejbName/remote", referindo-se respectivamente
às interfaces local e remota. Você pode conferir se isso está
ocorrendo através do jmx-console do JBoss (MBean
jboss:service=JNDIView).

Portanto, tudo o que seu cliente precisa fazer para acessar o EJB é um
lookup por "ejbName/remote", onde claro, "ejbName" deve ser
substituído pelo nome do seu EJB:

     InitialContext ctx = new InitialContext();
     Calculator calculator = (Calculator) ctx.lookup("CalculatorBean/remote");

No exemplo acima o bean se chama "CalculatorBean". Você vai precisar
de um arquivo chamado jndi.properties no seu classpath, com o seguinte
conteúdo:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost

Você também vai precisar dos seguintes .jars no seu classpath:

$JBOSS_HOME/client/jbossall-client.jar
$JBOSS_HOME/client/jboss-ejb3-client.jar
$JBOSS_HOME/client/jboss-aop-jdk50-client.jar
$JBOSS_HOME/client/jboss-aspect-jdk50-client.jar

Ah, você também precisa da interface remota do seu bean no classpath.

Qualquer dúvida por favor volte a escrever.

[]'s

--
Ivan Neto