Xem bài đăng trên blog cá nhân để biết định nghĩa và các trường hợp sử dụng: tshikatshikaaa.blogspot.com/2013/01/ Khăn

JNDI là gì?

Nó là viết tắt của Java Đặt tên và Giao diện thư mục .

Bạn đang xem: Jndi là gì

Công dụng cơ bản của nó là gì?

JNDI cho phép các ứng dụng phân tán tra cứu các dịch vụ theo cách trừu tượng, không phụ thuộc vào tài nguyên.

Khi nào nó được sử dụng?

Trường hợp sử dụng phổ biến nhất là thiết lập nhóm kết nối cơ sở dữ liệu trên máy chủ ứng dụng Java EE. Bất kỳ ứng dụng nào được triển khai trên máy chủ đó đều có thể có quyền truy cập vào các kết nối họ cần bằng tên JNDI java:comp/env/FooBarPoolmà không cần phải biết chi tiết về kết nối.

Điều này có một số lợi thế:

Nếu bạn có một chuỗi triển khai nơi các ứng dụng di chuyển từ các devl->int->test->prodmôi trường, bạn có thể sử dụng cùng tên JNDI trong mỗi môi trường và ẩn cơ sở dữ liệu thực tế đang được sử dụng. Các ứng dụng không phải thay đổi khi chúng di chuyển giữa các môi trường.Bạn có thể giảm thiểu số lượng người cần biết thông tin đăng nhập để truy cập cơ sở dữ liệu sản xuất. Chỉ máy chủ ứng dụng Java EE cần biết nếu bạn sử dụng JNDI.
— duffymo nguồn
9
Vì vậy, đây về cơ bản là một sự thay thế an toàn hơn để có một tệp thuộc tính với thông tin kết nối jdbc của bạn?
— grinch
4
grinch: Thực chất là có. Nó an toàn hơn, và được chuẩn hóa hơn, do đó làm cho việc triển khai dễ dàng hơn (không cần phải đoán tên của tệp thuộc tính phải là gì, v.v.).
— sleske
Vậy thì sự khác biệt giữa việc sử dụng các biến môi trường và JNDI là gì? Có phải đó là khái niệm tương tự?
— skryvets
100

JNDI là gì?

Các đặt tên Java và Directory Interface TM (JNDI) là một giao diện lập trình ứng dụng (API) cung cấp tên và chức năng thư mục cho các ứng dụng viết bằng Java TM ngôn ngữ lập trình. Nó được định nghĩa là độc lập với bất kỳ triển khai dịch vụ thư mục cụ thể. Do đó, một loạt các thư mục (mới, mới nổi và đã được triển khai) có thể được truy cập theo cách phổ biến.

Xem thêm: Tai Game Pocket đại Chiến

Công dụng cơ bản của nó là gì?

Hầu hết nó được đề cập trong câu trả lời ở trên nhưng tôi muốn cung cấp kiến ​​trúc ở đây để ở trên sẽ có ý nghĩa hơn.

Xem thêm: Out Of The Box Là Gì – Cụm Từ Out Of The Box Có Nghĩa Là Gì

*

Để sử dụng JNDI, bạn phải có các lớp JNDI và một hoặc nhiều nhà cung cấp dịch vụ. SDK Java 2, v1.3 bao gồm ba nhà cung cấp dịch vụ cho các dịch vụ đặt tên / thư mục sau:

Giao thức truy cập thư mục nhẹ (LDAP) Yêu cầu đối tượng chung Kiến trúc môi giới (CORBA) Dịch vụ tên đối tượng chung (COS) Sổ đăng ký gọi phương thức từ xa (RMI) Java

Vì vậy, về cơ bản, bạn tạo các đối tượng và đăng ký chúng trên các dịch vụ thư mục mà sau này bạn có thể thực hiện tra cứu và thực hiện thao tác trên đó.

JNDI theo thuật ngữ của giáo dân về cơ bản là một Giao diện để có thể nhận các phiên bản của tài nguyên bên trong / bên ngoài, chẳng hạn như

javax.sql.DataSource, javax.jms.Connection-Factory, javax.jms.QueueConnectionFactory, javax.jms.TopicConnectionFactory, javax.mail.Session, java.net.URL, javax.resource.cci.ConnectionFactory,hoặc bất kỳ loại nào khác được xác định bởi bộ điều hợp tài nguyên JCA. Nó cung cấp một cú pháp trong việc có thể tạo quyền truy cập cho dù chúng là nội bộ hay bên ngoài. tức là (comp / env trong trường hợp này có nghĩa là nơi thành phần / môi trường, có rất nhiều cú pháp khác):

Chuyên mục: Hỏi Đáp