Tôi có nên khai báo các biến được tiêm dưới dạng transient
trong Java EE không?Tôi có nên khai báo các biến được tiêm dưới dạng tạm thời trong Java EE không?
Tôi nhận được một cảnh báo FindBugs:
Lớp com.playaround.HelloServlet định nghĩa phi thoáng dụ lĩnh vực phi serializable accelerationUnit
lớp Serializable này định nghĩa một lĩnh vực dụ phi nguyên thủy mà không phải là thoáng qua, Nối tiếp, hoặc java.lang.Object, và không xuất hiện để thực hiện giao diện Externalizable hoặc các phương thức readObject() và writeObject().
Đối tượng của lớp này sẽ không được deserialized một cách chính xác nếu một đối tượng không Serializable được lưu trữ trong lĩnh vực này.
Mã chơi là:
/**
* Sample of a web service reference.
*/
@WebServiceRef
private AccelerationUnit accelerationUnit;
Câu hỏi tương tự áp dụng cho @Resource
, @Inject
, @PersistenceUnit
, vv
Tôi nên chỉnh sửa lại câu hỏi để giới hạn nó thành AT WebServiceRef chỉ vì đó là những gì tôi đang làm việc. Tuy nhiên, tôi đã nhận thấy tôi có cùng một vấn đề nếu tôi tiêm AT PersistenceUnit và AT EJB trong một servlet vì vậy tôi nghĩ rằng nó có thể được mở rộng. –