Có lẽ câu hỏi của tôi là một trong những tầm thường, nhưng tôi không bao giờ sử dụng một phạm vi ứng dụng đậu trước. Tôi cần bean ứng dụng vì tôi phải thực hiện các giao dịch tốn thời gian trên cơ sở dữ liệu. tìm kiếm của tôi không thỏa mãn sự tò mò của tôi chút nào. Tôi không biết tại sao nhưng tôi không quản lý để khởi tạo bean (nó là null) hoặc ứng dụng bị lỗi. Vì vậy, tôi có một đậu phạm vi ứng dụngJSF phạm vi ứng dụng instantiation và tiêm
@ManagedBean(eager=true)
@ApplicationScoped
public class ApplicationContainer {
...
}
háo hức = true Tôi đọc mà nói với JSF để bắt đầu đậu mỗi khi máy chủ ứng dụng (tôi sử dụng GlassFish) được bắt đầu.
Tôi đọc ở một số nơi mà tôi chỉ cần đặt chú thích này và bean được khởi tạo. Đối với tôi nó không ... Sau khi tôi đọc rằng nếu tôi muốn tiêm đậu ứng dụng vào đậu khác tôi phải sử dụng @PostConstuct chú thích
@ManagedBean
@SessionScoped
public class TestsBean implements Serializable {
private static final long serialVersionUID = 1L;
@ManagedProperty(value = "#{container}")
private ApplicationContainer container;
@PostConstruct
public void init() {
container.contructContainer();
}
này đưa ra một lỗi trong đậu khác mà tôi tiêm the TestsBean into ...
- nếu bean ứng dụng được khởi tạo khi máy chủ khởi động phương thức nào nó gọi trong phần thân của ứng dụng để thực hiện các hành động cần thiết? Hoặc trong đậu tiêm nó được thực hiện trong phương pháp xây dựng bài?
Hãy cho tôi biết cách thích hợp để xử lý các hạt ứng dụng. Tôi thực sự bối rối ...
Cảm ơn tất cả vì đã dành thời gian của bạn!
Cảm ơn bạn BalusC cho bạn câu trả lời dồi dào. Tôi đã không đặt ngoại lệ của mình trong câu hỏi bởi vì tôi muốn là một câu hỏi chung, không phải là một câu hỏi cụ thể. Tôi nghĩ rằng các phạm vi ứng dụng đậu cần một cụ thể hơn, khác nhau khởi tạo chúng phần còn lại và tôi đã không tìm thấy một khởi tạo thích hợp, chỉ cần bit và miếng. Một lần nữa cảm ơn bạn đã dành thời gian! – CyberGriZzly