GirişŞu satırı dahil ederiz
import javax.naming.Context;
import javax.naming.InitialContext;
Açıklaması
şöyleJava Naming and Directory Interface (JNDI) is a Java API that allows clients to discover and look up data and objects via a name. These objects can be stored in different naming or directory services, such as Remote Method Invocation (RMI), Common Object Request Broker Architecture (CORBA), Lightweight Directory Access Protocol (LDAP), or Domain Name Service (DNS).
In other words, JNDI is a simple Java API (such as 'InitialContext.lookup(String name)') that takes just one string parameter, ...
constructorŞöyle
yaparız.
Context ctx = new InitialContext();
createSubcontext metoduŞöyle
yaparız.
Context ic = new InitialContext();
ic.createSubcontext("java:");
ic.createSubcontext("java:comp");
ic.createSubcontext("java:comp/env");
ic.createSubcontext("java:comp/env/jdbc");
ic.createSubcontext("java:comp/env/jdbc/multiDS");
lookup metoduAçıklaması
şöyle.
When you get the datasource through a JNDI lookup it is a shared resource configured in your container. And it's that container's job to manage the lifecycle of the datasource.
Object döndüğü için istenilen tipe cast etmek gerekir.
java:com/env Nedir ? Aynı JVM içinde çalışan container'a erişmek için kullanıılır. Açıklaması
şöyleIt's an in-memory global hashtable where you can store global variables by name.
ÖrnekŞöyle
yaparızContext envContext = (Context)initContext.lookup("java:comp/env");
Rastgelen Nesne
ÖrnekŞöyle yaparız.String foobar = (String) new InitialContext().lookup("java:comp/env/foobar");
RMI
ÖrnekŞöyle
yaparız.
new InitialContext().lookup("rmi://127.0.0.1:1097/Object");
DataSource
"java:comp/env/jdbc" + DataSource ismi şeklindedir
ÖrnekŞöyle
yaparız.
DataSource ds = null;
try {
ds = (DataSource) ctx.lookup("java:/comp/env/jdbc/project");
} catch (NamingException e) {
e.printStackTrace();
}
ÖrnekŞöyle
yaparız.
Connection con = null;
try {
InitialContext context = new InitialContext();
DataSource ds = (DataSource) context.lookup("java:comp/env/jdbc/TEST"
con = ds.getConnection();
} catch (SQLException e) {
...
}
ÖrnekInitialContext initialContext = new InitialContext();
DataSource dataSource = (DataSource) initialContext.lookup("java:comp/env/jdbc/myDS");