JNDI Nedir?

Ahbap

Harbi Üye
Forum Üyesi
Katılım
29 Mayıs 2019
Mesajlar
8,562
Tepkime puanı
2
Java Naming and Directory Interface (JNDI) : Java İsimlendirme ve Dizin Interface sınıfından türetilmiş bir Java API'sidir. JNDI sayesinde bağımsız Java yazılım istemcileri keşfetmek ve bir isim üzerinden veri ve nesneleri aramak için kullanılır. Uygulama altında JNDI sınıfı bağımsızdır. Ek olarak, JNDI uygulamaları çerçevesinde takılı izin veren bir servis sağlayıcı arayüzü (SPI : Service Provider Interface) belirtir, böylelikle frameworklerin içinede rahatça plugin mantığı ile eklenebilir. Bir server kullanımı, düz bir dosya ya da bir veri tabanı hale getirmektedir; tercih kadar satıcıya etmektir.



JNDI API bir ağ nesneleri aramak için Java RMI ve Java EE API'ler tarafından kullanılır. JINI kendi arama servisi vardır ve JNDI API kullanmaz. Api ;
- Bir objeyi isim referansı ile bir mekanizmaya bağlar,
- genel sorgular için bir dizine arama arabirimi sağlar,
- girişleri modifiye edildiğinde müşterileri belirlemek olanak veren bir olay arabirim sağlar,
- LDAP hizmet ek yeteneklerini desteklemek üzere, LDAP uzantıları sağlar.
jw-0419-jndi.gif



apısına basitçe bir göz atacak olursak;
JNDI (Java İsimlendirme ve Dizin Arabirimi) bir hiyerarşi içinde kendi isimlerini düzenlemektedir. Bir isim gibi "com.mydomain.ejb.MyBean" gibi herhangi bir dize olabilir. Bir adı da Adı arabirimini destekleyen bir nesne olabilir, ancak bir dize bir nesneyi adlandırmak için en yaygın yoldur. Bir isim nesne veya adıyla tanımlanan dizin hizmetinde nesnesine bir başvuru ya depolayarak dizindeki bir nesneye bağlıdır.
JNDI API bir nesne aramak için belirtir bir bağlam tanımlar.Başlangıç ??bağlamda tipik bir başlangıç ??noktası olarak kullanılır.
En basit durumda, bir ilk bağlamda uygulanması için gerekli özel uygulama ve ek parametre kullanılarak oluşturulması gerekir.İlk bağlamda bir isim aramak için kullanılacaktır.İlk bağlamda bir dosya sistemi için kök veya bir dizin ağacı üst benzer. Aşağıda, bir başlangıç ??bağlamda oluşturarak bir örneğidir:


PHP:
 Hashtable contextArgs = new Hashtable();   
   // İlk olarak context factory'i tanımlamalısınız //Bu örnek bir JBoss uygulamasıdır
 contextArgs.put( Context.INITIAL_CONTEXT_FACTORY, "com.jndiprovider.TheirContextFactory" );  
    // URL datanın nerede tutulduğunu belirtir
 contextArgs.put( Context.PROVIDER_URL, "jndiprovider-database" );    
  //Gerekli güvenlik önlemlerininde alınmasını gerekmektedir   
   // Başlangıç context(bağlam)'i üretiyoruz.
 Context myCurrentContext = new InitialContext(contextArgs);


Bir bağlam o bağlamda daha önce bağlı isimleri aramak için kullanılır. Örneğin:


PHP:
MyBean myBean = (MyBean)  myCurrentContext.lookup("com.mydomain.MyBean");


Yukarıdaki kodu alternatif aşağıdaki gibidir: Context(Bağlam) nesnesi ayrıca sınıf içeren ilk bağlamda fabrika sınıfı adı ve sağlayıcı URL jndi.properties dosyayı ekleyerek yapılandırılabilir.Yukarıda kodu, aşağıda gösterildiği gibi azalacaktır:


PHP:
//Başlangıç context objesini üretip, sonra jndi.properties dosyasından path vererek okumaya çalışmak.  
   Context myCurrentContext = new InitialContext()


; Bir bağlam o bağlamda daha önce bağlı isimleri aramak için kullanılır. Örneğin:


PHP:
MyBean myBean = (MyBean) myCurrentContext.lookup ("com.mydomain.MyBean");
 

Nutella

Harbi Üye
Bayan Üye
Özel Üye
Katılım
2 Ocak 2021
Mesajlar
9,432
Tepkime puanı
8
Cinsiyet
  1. Bayan
Takım
Galatasaray
Paylaşım için teşekkürler.
 
İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş