Problema JNDI

3 respostas
jvictorcf

Pessoal

Estou com um problema para acessar meu EJB

as classes do EJB são
Adder (interface Remota), AdderHome (interface Home) e AdderBean (classe)

meu cliente é assim:

/*
 * BeanClient.java
 *
 * Created on 24 de Novembro de 2004, 16:23
 */
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import java.util.Properties;
import com.testeejb.*;
/**
 *
 * @author  JVictor
 */
public class BeanClient {
    
    public static void main(String[] args)
    {
        Properties prop = new Properties();
        prop.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
        prop.put(Context.PROVIDER_URL, "localhost:8080");
        
        try
        {
            InitialContext jndiContext = new InitialContext(prop);
            System.out.println("got context");
            
            Object ref = jndiContext.lookup("Adder");
            System.out.println("referencia");
            
            AdderHome home = (AdderHome) PortableRemoteObject.narrow(ref, AdderHome.class);
            
            Adder adder = home.create();
            System.out.println("2 + 5 = " + adder.add(2, 5));
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
            System.out.println("Deu pau");
        }
    }
    
}

Q tá pegando???

Valeu

3 Respostas

T

Ahn, normalmente você precisa pôr um monte de JARs no classpath; esses JARs dependem do seu servidor de aplicações (por exemplo, no JBoss você precisa usar jbossall-client.jar se não me engano).
Veja a documentação de seu servidor de aplicações para ver exatamente o que deve ser feito - varia conforme o fornecedor. Por exemplo, para o iPlanet é uma coisa, para o Sun Java Server Application Server é outra, para o WebLogic é outra ainda…

jvictorcf

tem algum jeito de eu adicionar TODOS os jars de um diretório na classpath, o tenho que aicionar de um em um???

Valeu

T

jvictorcf:
tem algum jeito de eu adicionar TODOS os jars de um diretório na classpath, o tenho que aicionar de um em um???

Valeu

Bom, como você disse “quer moleza? senta no pudim”

Acho que dá para fazer via script (não estou achando um exemplo agora), mas na prática considere que cada .jar é como se fosse um diretório, e sempre você precisa especificar diretório por diretório no classpath.

Criado 24 de novembro de 2004
Ultima resposta 25 de nov. de 2004
Respostas 3
Participantes 2