Переконайтесь, що я розумію TransactionAwarePersistenceManagerFactoryProxy


192

Я намагаюся використовувати проект org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxyу своєму весняному проекті, але я не впевнений, як ним користуватися, чи це саме те, що я шукаю. Я усвідомлюю, що це може допомогти змусити мої DAO працювати з звичайним JDO PersistenceManagerFactory. Ще одне питання: що станеться, якщо проксі не зроблено належним чином? Чи можу я все-таки використовувати його для доступу до своєї фабрики, щоб створити менеджера стійкості транзакцій? Якщо об'єкт, яким управляє фабрика, є однотонним, чи це змінює речі? Чому б просто не отримати доступ до PersistenceManagerFactory безпосередньо? Можливо, PersistenceManagerFactoryUtils.getPersistenceManagerбуло б більше відповідати моїм потребам? Може getObjectповернути нуль?


193
Лол! Вибачте, просто не можу допомогти, я майже заплакала, коли побачила ім'я об'єкта.
Eric des Courtis

133
І це, дорогі діти, тому Яві слід припинити приймати наркотики.
Griwes

48
Ви знаєте, що ви були занадто довго в світі Java, коли такі імена не здаються такими необгрунтованими ...!
Брайан

27
Хлопці Гей, хлопці, слухайте. Ви знову робите помилку новачка. Spring Framework - це не Java, а Java - не Spring. Не плутайте їх.
Торбен

49
Щодо початкового питання: це такий тролінг високої якості, який я можу по-справжньому оцінити.
Torben

Відповіді:


20

Відповіді доступні безпосередньо в документації

Я усвідомлюю, що це може допомогти змусити мої DAO працювати з простою JDO PersistenceManagerFactory.

Так. Проксі-сервер TransactionAwarePersistenceManagerFactoryProxy дозволяє DAO працювати з звичайною посиланням JDO PersistenceManagerFactory, в той же час беручи участь у весняному (або сервері сервера J2EE) ресурсі та управлінні транзакціями. Ви точно можете використовувати його у своєму додатку. Але не знаючи ваших точних потреб, ми не можемо більше підтвердити.

Чи можу я все-таки використовувати його для доступу до своєї фабрики, щоб створити менеджера стійкості транзакцій

DAO можуть безперешкодно перемикатися між JNDI PersistenceManagerFactory і цим проксі-сервером для локальної PersistentManagerFactory.

Якщо об'єкт, яким управляє фабрика, є однотонним, чи це змінює речі? Чому б просто не отримати доступ до PersistenceManagerFactory безпосередньо?

Зазвичай бажано писати свої DAO на базі JDO за допомогою JdoTemplate Spring, пропонуючи такі переваги, як послідовні винятки з доступу до даних замість JDOExceptions на рівні DAO. Однак управління ресурсами та транзакціями Spring (і введення залежностей) працюватиме і для DAO, написаних проти простого API JDO.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.