Tôi đang gặp sự cố với trường được chú thích là @Resource
trong bean Spring. Những gì tôi có:Spring @Resource Handling
Một lĩnh vực, với phương pháp setter, chú thích @Resource
@Resource
private URL someUrl;
public void setSomeUrl(URL someUrl) {
this.someUrl = someUrl;
}
Một thẻ <env-entry>
trong deployment descriptor của tôi (web.xml)
<env-entry>
<env-entry-name>someUrl</env-entry-name>
<env-entry-type>java.net.URL</env-entry-type>
<env-entry-value>http://somedomain.net/some/path</env-entry-value>
</env-entry>
Đơn không bắt đầu với một BeanCreationException
, mà tôi không mong đợi bởi vì tôi không nhất thiết muốn mùa xuân để tiêm một bean quản lý mùa xuân. Tôi muốn Spring xử lý @Resource
và truy xuất tài nguyên JNDI.
Đây là Spring 2.5.6SEC03 và chính bean được chú thích @Service
để tự động chuyển thành các trường hợp @Component
khác. Servlet container trong trường hợp này là Tomcat 7 nhưng cuối cùng sẽ được triển khai lên Weblogic 10, vì vậy trong khi tôi muốn lý tưởng cho một giải pháp để làm việc trên cả hai, Weblogic là phải có.
Tôi có sử dụng sai tính năng này trong Spring 2.5 không? Nói chung? Có một số bit tôi đang mất tích? Một cái gì đó tôi hiểu lầm về JNDI? Tất cả trợ giúp đều được đánh giá cao. Cảm ơn.
Tuyệt vời, điều này hoàn toàn hiệu quả! Tôi cũng phát hiện ra rằng bạn có thể buộc CommonAnnotationBeanPostProcessor thực hiện tra cứu JNDI bằng cách mở một giá trị cho "mappedName" trong phần chú thích. Tất cả những gì đã nói, và sau khi công việc được đưa vào điều này, tôi đã học được rằng quy trình triển khai công ty chuẩn của chúng tôi sẽ không hỗ trợ nhiều bộ mô tả triển khai. Tôi phải sử dụng cùng một trên tất cả các triển khai. Vì vậy, cách tiếp cận này sẽ không hoạt động. –