Estou tentando usar o jndi
O codigo que registra o objeto no jndi é :
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class JNDIBind {
public static String JNDI = "sams/book";
/**
* @param args
*/
public void Bind(String name, Object obj){
try {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.SerialInitContextFactory");
env.put(Context.PROVIDER_URL,"localhost:1099");
Context ic = new InitialContext(env);
ic.bind(name,obj);
System.out.println("Bind Realizado");
} catch (NamingException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
JNDIBind bind = new JNDIBind();
bind.Bind(JNDI,"é nois");
}
}
Isso funciona perfeitamente
O codigo do lookup vem a seguir :
mport java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class JNDILookup {
public static String JNDI = "sams/book";
/**
* @param args
*/
public static void main(String[] args) {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.SerialInitContextFactory");
env.put(Context.PROVIDER_URL,"192.168.1.158:1050");
try {
Context ic = new InitialContext(env);
String name = (String) ic.lookup(JNDI);
System.out.println(" Recuparado objeto do lookup: "+name);
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
[size="11"][color="red"]* Editado: Lembre-se de utilizar BBCode em seus códigos - marcossousa[/color][/size] :joia:
Agora vem o problema quando faço isso da maquina onde está o servidor jndi tudo funciona perfeitamente, mas quando tento fazer o lookup de uma uma outra maquina da mesma rede obtenho erro qual é o problema ??? o erro está reportado abaixo desde já agradeço o tempo dispendiado
javax.naming.CommunicationException: Can't find SerialContextProvider
at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:63)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:120)
at javax.naming.InitialContext.lookup(Unknown Source)
at JNDILookup.main(JNDILookup.java:19)