Non sono sicuro se ho capito TransactionAwarePersistenceManagerFactoryProxy


192

Sto cercando di utilizzare il org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxymio progetto Spring, ma non sono sicuro di come usarlo o se è esattamente quello che sto cercando. Mi rendo conto che può aiutare a far funzionare i miei DAO con un semplice JDO PersistenceManagerFactory. Un'altra domanda è: cosa succede se il proxy non viene creato correttamente? Posso ancora usarlo per accedere alla mia fabbrica per creare un gestore di persistenza consapevole delle transazioni? Se l'oggetto gestito dalla fabbrica è un singleton, questo cambia le cose? Perché non accedere direttamente a PersistenceManagerFactory? Forse PersistenceManagerFactoryUtils.getPersistenceManagersarebbe più adatto alle mie esigenze? Può getObjectrestituire null?


193
Lol! Scusa, ma non posso farci niente, ho quasi pianto quando ho visto il nome dell'oggetto.
Eric des Courtis,

133
E questo, cari figli, è per questo che Java dovrebbe smettere di assumere droghe.
Griwes,

48
Sai che sei stato nel mondo Java troppo a lungo quando nomi come questo non sembrano così irragionevoli ...!
Brian,

27
Ragazzi. Ehi ragazzi, ascoltate. Stai commettendo di nuovo l'errore del principiante. Spring Framework non è Java e Java non è Spring framework. Non confonderli.
Torben,

49
Per quanto riguarda la domanda originale: questo è il tipo di pesca a traina di alta qualità che posso davvero apprezzare.
Torben,

Risposte:


20

Le risposte sono direttamente disponibili sulla documentazione

Mi rendo conto che può aiutare a far funzionare i miei DAO con un semplice PersistenceManagerFactory JDO.

Sì. Il proxy TransactionAwarePersistenceManagerFactoryProxy consente ai DAO di lavorare con un semplice riferimento JDO PersistenceManagerFactory, pur continuando a partecipare alla gestione delle risorse e delle transazioni di Spring (o di un server J2EE). Puoi sicuramente usarlo nella tua app. Ma senza conoscere le tue esigenze esatte, non possiamo confermarlo ulteriormente.

Posso ancora usarlo per accedere alla mia fabbrica per creare un gestore di persistenza consapevole delle transazioni

I DAO potrebbero passare senza interruzioni tra un PersistenceManagerFactory JNDI e questo proxy per un PersistenceManagerFactory locale.

Se l'oggetto gestito dalla fabbrica è un singleton, questo cambia le cose? Perché non accedere direttamente a PersistenceManagerFactory?

Di solito è preferibile scrivere i DAO basati su JDO con JdoTemplate di Spring, offrendo vantaggi come eccezioni di accesso ai dati coerenti anziché JDOExceptions a livello di DAO. Tuttavia, la gestione delle risorse e delle transazioni di Spring (e Dependency Injection) funzionerà anche per i DAO scritti sull'API JDO semplice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.