2010-01-11 36 views

Trả lời

5

Tôi không nghĩ vậy. Trích dẫn Load objects in the JNDI tree:

Sử dụng Administration Console, bạn có thể tải các dịch vụ J2EE WebLogic Server và linh kiện, chẳng hạn như RMI, JMS, EJB, và nguồn dữ liệu JDBC, trong cây JNDI.

Và thực sự, tôi không thể tìm cách thêm String hoặc URL bằng bảng điều khiển.

AFAIK, cách tiêu chuẩn là đặt một env-entry trong bộ mô tả triển khai của bạn (web.xml, ejb-jar.xml):

<env-entry> 
    <env-entry-name>string/foo</env-entry-name> 
    <env-entry-type>java.lang.String</env-entry-type> 
    <env-entry-value>foobar</env-entry-value> 
</env-entry> 

<env-entry> 
    <env-entry-name>url/bar</env-entry-name> 
    <env-entry-type>java.net.URL</env-entry-type> 
    <env-entry-value>http://foobar/</env-entry-value> 
</env-entry> 
+2

Nhưng nếu tôi đặt nó trong web.xml, mọi thay đổi sẽ yêu cầu xây dựng lại và triển khai lại. Thật kỳ lạ, tôi có thể đặt cấu hình JDBC trên máy chủ, để thay đổi không yêu cầu xây dựng lại, nhưng tôi không thể đặt biến tùy chỉnh của mình (ví dụ: mật khẩu vào tài khoản thư, không thể được định cấu hình trong phiên thư) cần giữ chúng trong ứng dụng của tôi. –

+0

cần phải làm điều tương tự ... wow, mà stinks. – MeBigFatGuy

+1

Bạn nên sử dụng plan.xml để cập nhật/ghi đè các giá trị mặc định từ tệp web.xml –

1

tôi đã đạt đến điều này với chính xác cùng một vấn đề. Trong Websphere, ví dụ, tôi có thể thêm các tham số tùy ý như các thư mục tạm thời, mật khẩu và các thông tin khác vào JNDI mà không phải biên dịch lại/xây dựng lại EAR.

Tôi đã tìm kiếm một thời gian và dường như Weblogic thiếu tính năng này. Những gì tôi đã làm là viết một lớp trợ giúp mà đầu tiên tìm kiếm JNDI cho một khóa cấu hình đã cho, và nếu nó không tìm thấy nó sau đó rơi trở lại tìm kiếm môi trường hoặc biến hệ thống.

Có lẽ điều này có thể được tăng cường để tìm kiếm các thuộc tính đó theo tên của ứng dụng hoặc gốc ngữ cảnh, được phát hiện trong thời gian chạy, để tránh xung đột tên khi nhiều cá thể của cùng một EAR được triển khai.

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