http://java.sun.com/products/jndi/downloads/index.html
Let's do the world famous Hello World application.
Hello.java
package myproject; public interface Hello { public String getMessage(); }
HelloImpl.java
package myproject; public class HelloImpl implements Hello { @Override public String getMessage() { return "Hello World"; } }
HelloFactory.java
package myproject; import java.util.Hashtable; import javax.naming.Context; import javax.naming.Name; import javax.naming.spi.ObjectFactory; public class HelloFactory implements ObjectFactory { @Override public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception { return new HelloImpl(); } }This class is responsible in creating an instance of Hello.
Main.java
package myproject; import java.util.Hashtable; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.Reference; public class Main { public static void main(String[] args) throws Exception { Hashtable<String, String> env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory"); env.put(Context.PROVIDER_URL, "file:///C:/test"); InitialContext ic = new InitialContext(env); Reference ref = new Reference(Hello.class.getName(), HelloFactory.class.getName(), null); ic.rebind("whatever/object", ref); System.out.println(((Hello) ic.lookup("whatever/object")).getMessage()); } }
No comments:
Post a Comment