2016-03-01 4 views
1

Я прочитал этот комментарий: «не использовать JDBCRealm вообще:. Не масштабируется вообще, так как существует единый объект JDBC Connection используется для всех связи с базой данных Вы лучше использовать DataSourceRealm»В чем разница между JDBCRealm и DataSourceRealm?

Что это делает означает более подробно?

ответ

0

Если вы не знаете, почему и какие сферы существуют для веб-приложений JAVA, аутентификация и авторизация могут обрабатываться либо приложением, либо контейнером (Tomcat и т. Д.). Если вы решите использовать контейнер, вам нужно указать хранилище пользователей (место, где хранятся имена пользователей, надеюсь, зашифрованные пароли, роли и т. Д.). Это может быть даже ваш Tomcat-пользователи xml для Tomcat. Или вы можете использовать базу данных (MYSQL и т. Д.) Или каталог (Active Directory и т. Д.). Tomcat подключается к базе данных с использованием JDBC (ваша область JDBC) и в каталог с использованием JNDI (ваш DataSourceRealm).

Приходит на ваш вопрос. Связи JDBC дороги, ограничены пулом и страдают от высокой синхронизации, что означает, что в приложении с высокой нагрузкой проверка подлинности может быть неудачной для некоторых запросов из-за недоступности JDBC. JNDI лучше оптимизируется для чтения, и, как таковая, обеспечивает лучшую производительность.

+0

Спасибо за ваш ответ! Я попытался создать ресурс без JDBC в Glassfish, но что мне следует записывать в JNDI-имя (поскольку JDBC начинается с jdbc, что здесь) и что такое фабричный класс? : O –

+0

Или тот, который вы рекомендовали вообще не на базе db? (на основе файлов) Мне нужно хранилище db из-за возможности динамической регистрации. –

+0

Основанный на файлах, безусловно, не самый лучший способ. Как я уже сказал, есть что-то, называемое каталогом хранилища пользователей a.k.a (например, Microsoft Active Directory), которое используется для хранения пользовательских данных. Каталоги читаются оптимизированными, то есть операции чтения намного быстрее, чем операции записи. В зависимости от того, насколько велика аудитория вашего приложения, вы можете решить, что лучше всего подходит для вашего приложения. Большинство организаций с более чем тысячей человек используют каталог для пользовательских данных. Вы также можете использовать БД, если нет большой проблемы с производительностью, основанной на количестве ожидаемых пользователей. –

Смежные вопросы