Tôi đang chạy vào một vấn đề với CDI tiêm vào một container Weld trong JBoss 7.1.1CDI loop tiêm
Tôi đã có mô hình đối tượng sau đây:
@Stateless
class ServiceEjb {
@Inject
A a;
}
class A {
@Inject
B b;
}
class B {
@Inject
A a;
}
Khi cố gắng tiêm Một hoặc B trong lớp không trạng thái của tôi, vòng lặp tiêm và sự cố với javax.enterprise.inject.CreationException.
Tôi thử nhiều thứ (phạm vi, @Singleton trên A hoặc B nhưng không thành công). Tôi không muốn phá vỡ mã, và những mũi tiêm đó tạo ra các giác quan.
Mọi đầu mối sẽ được đánh giá cao.
Thank cho trả lời nhanh chóng của bạn. Tôi phải thừa nhận rằng khái niệm về phạm vi bình thường không phải là rất rõ ràng đối với tôi. Các liên kết bạn cung cấp nói về @NormalScope nhưng điều này không tồn tại. Làm thế nào để khai báo một phạm vi bình thường? – jmcollin92
[Hầu hết các phạm vi đều là phạm vi bình thường.] (Http://docs.jboss.org/cdi/spec/1.0/html/contexts.html#normalscope) Phiên, ứng dụng, cuộc trò chuyện và phạm vi yêu cầu là phạm vi bình thường. Điều này trái ngược với _pseudoscopes_: singleton và phụ thuộc (đó là mặc định khi bạn không viết trong chú thích phạm vi). – Nick
Vì vậy, bởi vì tôi đã cố gắng khai báo phạm vi, điều này sẽ làm việc, nếu tôi hiểu rõ. Tôi có thể thử loại phạm vi nào với DAO (truy cập bởi một SessionBean)? – jmcollin92