Tôi nghĩ rằng tôi đang gặp vấn đề về hiểu biết cơ bản ở đây và tôi hy vọng một người nào đó có thể giải thích điều này với tôi.JAVA EE 6 chia sẻ các trường hợp giữa các EJB nhà nước
phép nói rằng chúng tôi có một EJB_A stateful và một EJB_B stateful và một ManagedbeanA sessionscoped:
@Stateful
@LocalBean
public class EJB_A {
}
@Stateful
@LocalBean
public class EJB_B {
@EJB
EJB_A ejb;
}
@ManagedBean
@SessionScoped
public class ManagedBeanA {
@EJB
EJB_A ejb;
}
Trong ManagedBeanA, các EJB_A được tạo ra. Bây giờ khi tôi sử dụng EJB_B, có EJB_A là một thuộc tính, một cá thể mới của EJB_A được tạo ra trong EJB_B. Nó không phải là cùng một ví dụ của EJB_A đã được tạo trong ManagedBeanA trước đây.
Tôi không hiểu điều đó, bởi vì tôi nghĩ rằng toàn bộ điểm EJB nhà nước là, cho mỗi khách hàng chỉ có một ví dụ được tạo ra và chia sẻ và quản lý bởi EJB-Container. Có ai đó giải thích điều này cho tôi biết không? Và cũng xin giải thích làm thế nào tôi có thể đạt được rằng cùng một ví dụ của một EJB được chia sẻ bởi nhiều EJB khác?
Cảm ơn bạn
Khi bạn nói " Bây giờ khi tôi sử dụng EJB_B "ý của bạn là gì? Làm thế nào bạn xác minh nó không phải là cùng một ví dụ? –
Khi tôi instianciate EJB_B và xem các thuộc tính (ví dụ: một chuỗi-tài sản) của EJB_A, các thuộc tính của EJB_A bean khác với các thuộc tính của EJB_A được instanciated bởi bean được quản lý. – user1727072
Bạn 'instanciate' EJB_B ở đâu; trong một ManagedBean khác hoặc một máy khách Java (tra cứu từ xa)? –