Devo dichiarare le variabili iniettate come transient
in Java EE?Devo dichiarare le variabili iniettate come transitori in Java EE?
sto ottenendo un avvertimento FindBugs:
Classe com.playaround.HelloServlet definisce non serializzabile campo di istanza accelerationUnit
Questa classe Serializable non transitorio definisce un campo di un'istanza non primitiva che non è né transitoria, Serializable, o java.lang.Object, e non sembra implementare l'interfaccia Externalizable oi metodi readObject() e writeObject().
Gli oggetti di questa classe non verranno deserializzati correttamente se in questo campo è archiviato un oggetto non serializzabile.
Il codice in gioco è:
/**
* Sample of a web service reference.
*/
@WebServiceRef
private AccelerationUnit accelerationUnit;
Stessa domanda vale per @Resource
, @Inject
, @PersistenceUnit
ecc
Dovrei ri-modificare la domanda per limitarla a AT WebServiceRef solo perché era quello su cui stavo lavorando. Tuttavia, ho notato che ho lo stesso problema se iniettavo un AT PersistenceUnit e AT EJB in un servlet, quindi ho pensato che potesse essere espanso. –