2013-03-10 31 views
5

Tôi đang sử dụng EJB 3.1 trong đơn đăng ký của mình.Cách tìm tên JJI tra cứu EJB theo chương trình?

Tôi muốn gửi tên tìm kiếm JNDI của EJB trong ứng dụng của tôi đến ứng dụng khác để ứng dụng có thể sử dụng tại thời điểm chạy & giao tiếp với EJB của tôi. Vì tên tra cứu phụ thuộc vào tên của các tệp tai được triển khai trên vùng chứa EJB &, tên của các tệp tai này sẽ thay đổi mỗi khi có bất kỳ thay đổi nào được thực hiện trong ứng dụng của tôi.

Quy trình tìm ra tên tra cứu của bất kỳ EJB nào theo chương trình là gì.

Trả lời

4

Trước hết, tôi sẽ không đề xuất phương pháp đó. Tại sao bạn không sửa tên JNDI của các EJB của bạn?

Điều đó nói rằng, bạn có thể gọi một phương thức InitialContext#list để lặp qua cây JNDI và tìm hiểu tên EJB của bạn. Có một ví dụ mã tốt đẹp here, vì vậy tôi sẽ không lặp lại nó. Một lưu ý quan trọng - gọi ctx.list("") sẽ chỉ cung cấp cho bạn cấp độ đầu tiên của cây JNDI, vì vậy bạn sẽ phải gọi phương thức đó đệ quy để có được tên EJB. Gợi ý: EJB thường được triển khai theo chi nhánh ejb.

Xem thêm:

Các vấn đề liên quan