Thông số nói rằng thùng chứa CDI loại bỏ SFSB khi bối cảnh của phạm vi sắp bị hủy. Làm thế nào để loại bỏ chính xác EJB? Nó dường như không gọi phương thức được chú thích bằng @Remove.CDI loại bỏ session đậu trạng thái như thế nào?
@Stateful
public class CustomerDAOImpl implements CustomerDAO {
@PreDestroy
public void onDestroy() {
//This is getting called as expected
}
@Remove
public void deleteMyBean() {
//This is not getting called!
}
}
Vì vậy, CDI về mặt kỹ thuật đang làm những gì thông số nói. Câu hỏi đặt ra là làm thế nào nó quản lý để yêu cầu các container EJB để loại bỏ các trường hợp? Cảm ơn.
Vâng, đó là hành vi bình thường. Nhưng thùng chứa CDI loại bỏ EJB như thế nào? Có phải nó đang sử dụng một số loại API không có giấy tờ để yêu cầu thùng chứa EJB thực hiện việc loại bỏ không? – RajV
@RajV Tôi không thể định vị nó trong đặc điểm kỹ thuật, nhưng bạn có thể tìm thấy thông tin hữu ích trong hướng dẫn Java EE, trong 'Vòng đời của một phiên Stateful Session Bean' tại http://docs.oracle.com/javaee/5 /tutorial/doc/bnbmt.html –
@downvoter Chăm sóc để giải thích cho -1 –