Не удалось инициализировать среду Shiro: org.apache.shiro.config.ConfigurationException.MySql

Форум по Mysql
Ответить
Anonymous
 Не удалось инициализировать среду Shiro: org.apache.shiro.config.ConfigurationException.

Сообщение Anonymous »

Мы запускаем существующее приложение, используя wildfly-10.0.0.Final с Shiro 1.2.2
Мы обновили наше приложение с MySQL 5.6 до 8.0.40 и теперь используем последние версии драйверов MySQL. Другие части приложения работают с новым MySQL, кроме этого раздела, который использует apache.shiro.

Код: Выделить всё

From our pom.xml


com.mysql
mysql-connector-j
9.1.0

Из нашего файла Keep.shiro.ini

Код: Выделить всё

[main]
authc.loginUrl = /index.xhtml
authc.successUrl  = /hello
logout.redirectUrl = /hello

# ------------------------
# Database

# Own Realm
#jdbcRealm = com.jjoe64.shiroexample.auth.MyCustomRealm
#jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm
jdbcRealm = com.ecomm.messages.security.JdbcReferenceRealm

# Sha256
sha256Matcher =
org.apache.shiro.authc.credential.Sha256CredentialsMatcher
# base64 encoding, not hex in this example:
sha256Matcher.storedCredentialsHexEncoded = false
sha256Matcher.hashIterations = 1024
# User Query
jdbcRealm.authenticationQuery = select pr.password from
principals
pr,clientdetails cd where pr.clientid = cd.clientid and username
= ? and cd.clientref
= ? and pr.active = 1

# permissions
#jdbcRealm.permissionsLookupEnabled = true
#jdbcRealm.userRolesQuery = select roleName from UserRole where
userName = ?
jdbcRealm.userRolesQuery = select rl.roles, rl.rolegroups from
roles rl,
principals pr, clientdetails cd where pr.clientid = cd.clientid
and
rl.userid=pr.userid and pr.username = ? and cd.clientref = ?

# Connection
ds = com.mysql.cj.jdbc.MysqlDataSource
ds.driverClass=com.mysql.cj.jdbc.Driver
ds.serverName = localhost
ds.user =
ds.password =
ds.databaseName = dbname
jdbcRealm.dataSource=$ds

# Use Built-in Chache Manager
builtInCacheManager =
org.apache.shiro.cache.MemoryConstrainedCacheManager
securityManager.cacheManager = $builtInCacheManager

securityManager.realms = $jdbcRealm

# -----------------------------------------------------------------------------
[urls]
#/hello = authc
/index.xhtml = authc
/app/** = authc
/admin.jsp = authc, perms["admin:access"]
Мы проверили наше приложение, и все ссылки на объект ds были изменены с com.mysql.jdbc.jdbc2.optional на com.mysql.cj.jdbc.MysqlDataSource на основе упомянутых изменений. здесь https://dev.mysql.com/doc/connector-j/e ... anges.html
Мы все еще получаем ошибки:
2025-01-14 09:07:27,509 ОШИБКА [org.apache.shiro.web.env.EnvironmentLoader] (пул потоков ServerService - 197) Ошибка инициализации среды Shiro: org.apache.shiro.config .ConfigurationException: невозможно создать экземпляр класса [com.mysql.jdbc.jdbc2.optional.MysqlDataSource] для объекта с именем «ds». Убедитесь, что вы правильно указали полное имя класса.
2025-01-14 09:07:27,510 ОШИБКА [org.jboss.msc.service.fail] (пул потоков ServerService — 197) MSC000001: сбой для запуска службы jboss.undertow.deployment.default-server.default-host./message: org.jboss.msc.service.StartException в службе jboss.undertow.deployment.default-server.default-host./message: java.lang.RuntimeException: org.apache.shiro.config.ConfigurationException: невозможно создать экземпляр класса [com] .mysql.jdbc.jdbc2.optional.MysqlDataSource] для объекта с именем «ds». Убедитесь, что вы правильно указали полное имя класса.
2025-01-14 09:07:27,522 ОШИБКА [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) WFLYCTL0013: Операция ("развертывание") не удалась - адрес: ([("развертывание" => "messageapp.ear")]) - описание ошибки: {"WFLYCTL0080: Сбой служб" => {"jboss.undertow.deployment.default-server.default-host./message" => "org.jboss.msc.service .StartException в службе jboss.undertow.deployment.default-server.default-host./message: java.lang.RuntimeException: org.apache.shiro.config.ConfigurationException: невозможно создать экземпляр класса [com.mysql.jdbc.jdbc2.optional.MysqlDataSource] для объекта с именем «ds». Убедитесь, что вы указали полный класс. назовите правильно.
Любые предложения, по которым мы можем посмотреть, где apache.shiro может устанавливать для объекта ds значение com.mysql.jdbc.jdbc2.optional.MysqlDataSource, чтобы мы могли изменить его на com.mysql.cj.jdbc.MysqlDataSource и исправить эту часть приложения.
Спасибо за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/793 ... gurationex
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»