13 Ocak 2022 Perşembe

Jakarta EE InitialContext Sınıfı - JNDI Erişimi İçindir

Giriş
Şu satırı dahil ederiz
import javax.naming.Context;
import javax.naming.InitialContext;
Açıklaması şöyle
Java 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 metodu
Açı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ı şöyle
It's an in-memory global hashtable where you can store global variables by name.
Örnek
Şöyle yaparız
Context 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) {
  ...
}
Örnek
Şöyle yaparız
InitialContext initialContext = new InitialContext();
DataSource dataSource = (DataSource) initialContext.lookup("java:comp/env/jdbc/myDS");




Hiç yorum yok:

Yorum Gönder

Bean Validation @GroupSequence Anotasyonu

Örnek Elimizde şöyle bir kod olsun public class SampleRequest {   @NotNull   LocalDate startDate;   @NotNull   LocalDate endDate;   @AssertT...