WildFly 18.0.1 JDBC 驱动程序:内部错误(newValue 为空)
2022-09-02 21:29:54
我在WildFly(18.0.1)中配置JDBC驱动程序时遇到问题。
每当我打开(Configuration/Subsystems/DataSources & Drivers/JDBC Drivers)时,
我得到:
内部错误(详细信息:新值为空)。
错误图像 1:
错误图像 2:
任何帮助将不胜感激!
我在WildFly(18.0.1)中配置JDBC驱动程序时遇到问题。
每当我打开(Configuration/Subsystems/DataSources & Drivers/JDBC Drivers)时,
我得到:
内部错误(详细信息:新值为空)。
错误图像 1:
错误图像 2:
任何帮助将不胜感激!
这不是一个wildfly/jboss问题。该错误位于 Hal 管理控制台(版本 3.2.1)中。我修复了此错误,将HAL控制台版本更改为3.2.4。
wget https://repository.jboss.org/nexus/content/repositories/ea/org/jboss/hal/hal-console/3.2.4.Final/hal-console-3.2.4.Final-resources.jar
sudo cp hal-console-3.2.4.Final-resources.jar /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/
sudo vim /opt/wildfly/modules/system/layers/base/org/jboss/as/console/main/module.xml
<resources>
<resource-root path="hal-console-3.2.4.Final-resources.jar"/>
</resources>
sudo systemctl restart wildfly or sudo service wildfly restart
我可以完全重现您的问题。我已经很久没有使用Wildfly控制台了,但这对我来说似乎是一个错误。但是,还有另一种方式具有易于重复和可编写脚本的优点。
如果从 Wildfly bin 目录运行,则可以使用脚本添加 JDBC 驱动程序和 JEE 数据源。我的脚本如下所示:jboss-cli
embed-server --server-config=standalone.xml --std-out=echo
batch
module add --name=org.postgres --resources=${user.home}/Downloads/postgresql-42.2.8.jar --dependencies=javax.api,javax.transaction.api
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)
/subsystem=datasources/data-source=myDS/:add(connection-url=jdbc:postgresql://localhost:5432/dbname,driver-name=postgres,jndi-name=java:/jdbc/myDS,background-validation=true,background-validation-millis=60000,blocking-timeout-wait-millis=2000,flush-strategy=Gracefully,idle-timeout-minutes=5,initial-pool-size=4,max-pool-size=64,min-pool-size=4,password=the-password,query-timeout=10,track-statements=true,tracking=true,user-name=the-user,validate-on-match=false)
run-batch
此脚本应在服务器未运行的情况下运行。如果要在服务器运行时运行它,请删除 、 和 行。基本上,这从创建一个模块开始,在这种情况下,该模块是一个PostgreSQL驱动程序。然后,它添加一个 JDBC 驱动程序,最后添加一个数据源。它可以与以下一起运行:embed-server
batch
run-batch
jboss-cli.sh --file=the-file-name.cli
假设您将上述内容保存到名为 .同样,Wildfly 的目录需要在路径上才能在命令行上运行。the-file-name.cli
bin