Ankara
0 (312) 276 75 93
info@billgatesweb.com

Komut Arayüzü – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

Web Danışmanlık Hizmeti, Seo Hizmeti Al, Mobile Uygulama Yaptır, Back Link Satın Al, Blog Yazdırmak İstiyorum, Makale YAZDIRMA siteleri, Parayla makale YAZDIRMA, Seo makale fiyatları, Sayfa başı yazı yazma ücreti, İngilizce makale yazdırma, Akademik makale YAZDIRMA, Makale Fiyatları 2022, Makale yazma, Blog Yazdırma

Komut Arayüzü – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

Komut Arayüzü – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

Adlandırma Kabuğu Uygulaması

Daha önce, Arama örneğini daha genel hale getirmek için nasıl değiştirebileceğimizi, Enterprise JavaBean’leri ve uzak nesneleri aramamıza izin verebileceğimizi tartışmıştık. Bu bölümdeki örneklerin geri kalanı, Örnek’te gösterilen NamingShell kodunu temel alacaktır.

NamingShell, JNDI ile erişilebilen herhangi bir adlandırma sisteminde adlandırma işlemlerini gerçekleştirmemizi sağlayan genişletilebilir bir JNDI kabuğudur. Kabuk, geçerli nesneyi ve diğer kabukla ilgili ayrıntıları almak ve ayarlamak için yöntemler sağlar ve ayrıca geçerli nesnenin adını takip eder, bu bir Bağlamın kendisi için yapamayacağı bir şeydir.

NamingShell’i yükledikten sonra, normal bir kabuğu işletim sistemi komutlarını yürütmek için kullandığınız gibi, JNDI ile ilgili komutları yürütmek için kabuğu kullanabilirsiniz. Bölümün geri kalanında ilerlerken deneyebilmeniz için NamingShell kodunu hemen indirmenizi tavsiye ederim.

NamingShell, dosya sisteminden dinamik olarak bir komutu bulmak için yazdığınız adı kullanır. Kabuğun yorumlayıcısı yoktur; ancak, NamingShell, Command arabirimini ve onun execute() yöntemini uygulamak için bir komut bekler. Bu, bir komutun gerçekten kendisini yorumladığı anlamına gelir. Yürütme başarısız olduğunda bir komut bir CommandException atar.

Gördüğünüz gibi, NamingShell’in kendisi çok az gerçek JNDI kodu içeriyor. Tüm JNDI işlevleri, belirli JNDI işlemlerini gerçekleştirmek için oluşturduğumuz çeşitli Komut sınıflarında uygulanır. Kabuk, yalnızca komutların yüklenmesini destekler ve kabukla ilgili çeşitli ayrıntıların kaydını tutar.

Komut Arayüzü

Komut arabirimi, bir kabuk komutu için standart bir arabirimi tanımlar. Komut mantığını içeren bir execute() yöntemine ve komut için çevrimiçi yardımı görüntülemek için bir help() yöntemine sahiptir. Execute() bir adlandırma istisnasıyla (veya başka bir istisnayla) karşılaşırsa, kabuğun istisnayı uygun şekilde görüntüleyebilmesi için ilk istisnayı bir örnek değişkeni olarak depolayan bir CommandException fırlatır.

İlk Bağlamı Yükleme

Daha önce de söylediğim gibi, JNDI’yi bir adlandırma sisteminde bir nesne aramak (veya aslında adlandırma sistemiyle herhangi bir şey yapmak) amacıyla kullanmak için, önce o adlandırma sistemi için bir InitialContext oluşturmanız gerekir. Bu nedenle, NamingShell’e bir başlangıç ​​bağlamı yüklemek için uygulamamız gereken ilk komut initctx’tir. Örnek, bu komutun bir uygulamasını gösterir.

initctx komutu, InitialContext oluşturucusuna iletilen Properties nesnesinin yaratılmasında kullanılacak bir özellikler dosyasının adını belirten bir bağımsız değişkeni kabul eder.

Dosya adı belirtilmezse initctx, NamingShell tarafından belirtilen varsayılan özellikler dosyasını arar. Dolayısıyla, NamingShell ile belirli bir adlandırma hizmetini kullanmak için yapmanız gereken tek şey, o hizmet için uygun bir özellikler dosyası oluşturmaktır.

Kabuğu Çalıştırmak

NamingShell ve initctx ile, kabuğu gerçekten çalıştırmak için yeterli işlevselliğe sahibiz. Kabuğu çalıştırmayı denemeden önce, sınıf yolunuzda JNDI kitaplıklarının (jndi.jar’da) ve diğer özel sağlayıcıların belirtildiğinden emin olun. Sınıf yolu uygun şekilde ayarlandıktan sonra NamingShell’i şu şekilde başlatabilir ve bir başlangıç ​​bağlamı oluşturabiliriz.

Bu durumda, bir özellikler dosyası belirtmediğimiz için NamingShell, geçerli dizinde .jndienv dosyasını arar. Sonraki birkaç örneğimizde, bu dosyanın Sun’ın dosya sistemi sağlayıcısını kullanmamıza izin veren özellik ayarları içerdiğini varsayalım. Kabuk oturumu sırasında initctx’i yeni bir dosya adıyla çalıştırarak istediğiniz zaman başlangıç ​​bağlamlarını değiştirebilirsiniz.

Bir başlangıç ​​bağlamı oluşturduktan sonra, komutları yazarak adlandırma işlemlerini gerçekleştirmeye başlayabilirsiniz. Kabuktan çıkmak için, sadece exit komutunu kullanın. Bir komutun nasıl çalıştığından emin değilseniz, yazarak o komut için yardım alabilirsiniz.


Grafik arayüzü
Komutlar
Komut İstemi komutları
Grafik arayüzü nedir
Kod satırı
Komut Satırı Açma
Windows 7 komut istemi
CMD telnet komutu


Yardım ve çıkış komutları, tıpkı JNDI ile ilgili komutlar gibi ayrı sınıflar olarak uygulanır. JNDI kullanmadıkları için bu komutların kodunu incelemeyeceğiz. Ancak, bu komutların kodu çevrimiçi olarak bulunan örnek kodda verilmiştir.

Yaygın bir JNDI işlemi, bir nesnenin alt öğelerinin adlarının listesini almaktır. Örneğin, bir uygulama, bir SwingJTree bileşenini doldurmak için bir Java uygulama sunucusunun çalışıp çalışmadığını görmek veya anInitialContext alt öğelerinin adlarını listelemek için Enterprise JavaBeans adlarını alabilir. Bağlamın list() yöntemini kullanarak bir nesnenin alt öğelerinin adlarını listelersiniz.

list() yöntemi, bir javax.naming.NamingEnumeration döndürür. javax.naming.NameClassPair nesneleri, burada her NameClassPair, Bağlamın tek bir alt öğesinin adını ve sınıfını içerir. NameClassPair öğesinin çocuğun kendisi olmadığını unutmayın. GetName() yöntemi, çocuğun adını öğrenmemizi sağlarken getClassName(), çocuğun sınıf adına erişmemizi sağlar.

Örnek, NamingShell için bir liste komutunun uygulanmasını gösterir. list()’in çalıştırılması geçerli bir Bağlam gerektirdiğinden, execute() yöntemi, var olup olmadığını belirlemek için kabuğu sorgular. Geçerli Bağlam yoksa, yöntem bir istisna atar.

Dosya sistemi sağlayıcısı ile NamingShell’i kullanma örneğimizle devam edelim. Diğerlerinin yanı sıra bir javax dizini ve bir adlandırma alt dizini içeren bir JAR dosyasını paketinden çıkardığımız bir dosya sistemine eriştiğimizi varsayalım.

Mevcut Context adlandırma diziniyse (bir an için mevcut Context’i nasıl ayarladığımızı göz ardı ederek; bunu nasıl yapacağımızı birazdan göreceğiz), list komutunu aşağıdaki sonuçlarla kullanabiliriz.

İsimler Nasıl Çalışır?

list() yöntemi, bir Bağlamın rastgele herhangi bir alt öğesinin alt adlarını listelememize izin verir. Parametre olarak boş bir dize kullanarak list() yöntemini çağırarak bir Bağlamın kendisinin (bu durumda, adlandırma dizini) çocuklarının adlarını listeleyebileceğimizi gördük. Yine, javax altındaki adlandırma alt dizini için bir Context nesnemiz olduğunu varsayalım. Bu Bağlamın çocuklarının adlarını almak için yapılan bir çağrı şu şekilde görünebilir.

Sonuç, dizin dizini (yani javax.naming.directory alt paketi) dahil olmak üzere adlandırmanın tüm alt öğelerini (yani javax.naming’in sınıfları ve alt paketleri) temsil eden NameClassPair nesnelerini içeren bir NamingEnumeration’dır.

Bir Bağlamın rasgele bir alt çocuğunun adlarını listelemek için list() öğesine bir ad iletmeliyiz. Örneğin, “dizin” dizesini list() için bir parametre olarak belirterek dizinin alt öğelerini listeleyebiliriz.

Buradaki sonuç, dizinin tüm alt öğelerini (yani javax.naming.directory sınıfları, DirContext gibi) temsil eden NameClassPair nesnelerini içeren bir NamingEnumeration’dır.

Bileşik ad denilen bir şeyi kullanarak da bir ad belirtebilirsiniz. Bileşik ad, “adlandırma” ve “dizin” gibi ayırıcı karakterlerle ayrılmış atomik adlardan oluşur; bu karakterler, dosya sistemi sağlayıcısı söz konusu olduğunda Unix stili eğik çizgi (/) veya Windows olabilir. −ters eğik çizgi (\) stili. Bir adı parametre olarak alan herhangi bir JNDI yöntemi, bir bileşik adı kabul edebilir.

Javax dizini için bir Bağlam nesnemiz olduğunu varsayalım. Dizinin alt öğelerinin bir listesini aşağıdaki gibi alabiliriz. JNDI bileşik adlarında kullanılan ayırıcı karakter, adlandırma ve dizin hizmetlerine göre değişir; ayırıcı, java.io.File’da kullanılan ayırıcıya benzer.

Sun dosya sistemi sağlayıcısı Unix stili eğik çizgi ile Windows stili ters eğik çizgiyi birbirinin yerine kullanmamıza izin verse de, çoğu hizmet sağlayıcı bu hizmet için kullanılan ayırıcı karakter konusunda çok seçicidir. Ne yazık ki JNDI API, java.io.File’ın yaptığı gibi ayırıcı karakteri programlı olarak almanın bir yolunu sağlamaz.

javax.naming.CompoundName sınıfı, ayırıcı karakteri içeren “jndi.syntax.separator” adlı bir özelliği okusa da, bu özelliğe hizmet sağlayıcı dışından erişilemez. Bu nedenle, belirli bir hizmet sağlayıcının ayırıcı karakterini bulmak için, o sağlayıcının belgelerine veya bazı örnek kodlarına başvurmalısınız.


Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır. 

1) Backlink Paketi  50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)


 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

× Bize Whatsapp'tan Ulaşın