我在WildFly(18.0.1)中配置JDBC驱动程序时遇到问题。
每当我打开((配置/子系统/数据源和驱动程序/ JDBC驱动程序),
我得到:
内部错误(详细信息:newValue为null)。
错误图像1:
错误图片2:
任何帮助将不胜感激!
我可以完全重现您的问题。我已经有一段时间没有使用Wildfly控制台了,但这对我来说似乎是个错误。但是,还有另一种方法具有易于重复和编写脚本的优点。
如果从Wildfly bin目录中运行jboss-cli
,则可以使用脚本添加JDBC驱动程序和JEE数据源。我的脚本看起来像:
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
应在不运行服务器的情况下运行此脚本。如果要在服务器运行时运行它,请删除embed-server
,batch
和run-batch
行。基本上,这首先要创建一个模块,在本例中为PostgreSQL驱动程序。然后添加一个JDBC驱动程序,最后添加一个数据源。可以运行:
jboss-cli.sh --file=the-file-name.cli
假设您将以上内容保存到名为the-file-name.cli
的文件中。同样,Wildfly的bin
目录需要位于您的路径上,才能在命令行上运行它。