Что означает управляемая и неуправляемая среда в спящем режиме? - PullRequest
5 голосов
/ 29 мая 2011

Я новичок в спящем режиме. Кто-нибудь может мне объяснить, что это значит, когда мы говорим: «Hibernate работает в управляемой и неуправляемой среде»?

Что такое управляемая и неуправляемая среда?

Заранее спасибо,

-Uday

Ответы [ 3 ]

6 голосов
/ 29 мая 2011

Я не уверен насчет конкретного контекста, в котором вы его слышали. Но обычно, когда мы говорим «управляемая среда», это означает, что существует какой-то внешний контейнер, который управляет вещами от вашего имени.А в «неуправляемом» случае вы сами выполняете работу по управлению жизненным циклом объекта.

Например, если вы просто используете Hibernate самостоятельно, вам нужно будет создать сеанс, выполнить операцию и закрыть сеанс.Таким образом, это unmanaged, так как вы должны управлять им самостоятельно.

Однако, если вы используете Hibernate внутри контейнера Spring, Spring открывает для вас открытый и закрытый сеанс.В данном случае это managed для вас.

5 голосов
/ 29 мая 2011

При написании кода Java полезно различать два типа целей: «нормальная» среда и «управляемая» среда.Разница между ними проста.В обычной среде вы (человек, пишущий код) вызываете метод main ().В управляемой среде у вас нет.Управляемые среды иногда называют контейнерными средами, потому что они обычно следуют модели сдерживания или размещения.В этой модели хост-контейнер - это код, который содержит метод main (), а независимые блоки стороннего кода (далее плагины) управляются контейнером.

Посмотрите здесь:http://benpryor.com/blog/2007/10/14/managed-environments/

0 голосов
/ 25 августа 2013

Управляемая среда - это среда, в которой управление транзакциями, безопасность и пулы соединений с базами данных выполняются либо сервером приложений, либо управляемыми ресурсами, такими как внешние JTA API сторонних производителей, например JBossTM . Таким образом освобождая спящий от этой ответственности. Чтобы обеспечить работу гибернации в управляемой среде, необходимо указать базовый диспетчер транзакций, который вы хотите использовать в конфигурации гибернации.

Неуправляемая среда - это среда, в которой приложение использует адаптеры ресурсов для подключения к базовым соединениям с базой данных, управления транзакциями и функций безопасности без использования сервера приложений. Вам не нужно указывать диспетчер транзакций в конфигурации hibernate, используется JDBCTransaction по умолчанию в hibernate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...