Tôi cố gắng để tiêm một EJB với chú thích @EJB:WebSphere 7. Tiêm EJB từ một ứng dụng khác
- khi tôi tiêm một EJB vào một EJB trong tai cùng nó hoạt động tốt.
- khi tôi tiêm một EJB vào một EJB từ tai nhau trong cùng một máy chủ tôi nhận được một ngoại lệ:
EJB ném một (không công bố) ngoại lệ bất ngờ trong lời khẩn cầu phương pháp "sayHello" . Dữ liệu ngoại lệ: javax.ejb.EJBException: Tiêm lỗi; lồng nhau ngoại lệ là: com.ibm.ejs.container.EJBNotFoundException: EJB với giao diện com.mycompany.myapp.ejb.test2 không có mặt trong ứng dụng myapp1
Tôi đang sử dụng WebSphere 7 và EJB 3.0. Khi tôi tự mình tìm kiếm jndi, nó hoạt động tốt. Làm thế nào để cho container biết từ đâu để tiêm đậu từ xa của tôi?
myapp1.ear chứa sau: myapp1.jar (nơi EJB là)
myapp1 EJB:
package com.mycompany.myapp1.ejb.test1;
@Remote
public interface HelloEjb1 {
public String sayHello();
}
EJB Impl:
package com.mycompany.myapp.ejb.test1;
@Stateless
public class HelloEjbImpl1 implements HelloEjb1 {
@EJB
HelloEjb2 helloEjb2;
@Override
public String sayHello() {
return HelloEjb2.sayHello();
}
}
myapp2.ear chứa sau : myapp2.jar (trong đó EJB là)
myapp2 EJB:
package com.mycompany.myapp2.ejb.test2;
@Remote
public interface HelloEjb2 {
public String sayHello();
}
EJB Impl:
package com.mycompany.myapp2.ejb.test2;
@Stateless
public class HelloEjbImpl2 implements HelloEjb2 {
@Override
public String sayHello() {
return "Hello";
}
}
cảm ơn, 'ibm-ejb-jar-bnd.xml' là khóa –
Bạn có thể giải thích thêm một chút về phương pháp tiếp cận đầu tiên (ràng buộc khi triển khai ứng dụng) không? Cảm ơn. – MyTitle
Tôi đã cập nhật để thêm một vài liên kết InfoCenter. Có rất nhiều thông tin trong InfoCenter, nhưng nếu bạn muốn câu trả lời chi tiết, có thể dễ dàng hơn để bắt đầu một câu hỏi mới. –