WildFly jboss-cli.sh 添加数据源 Mysql 与 useSSL=false

Posted

技术标签:

【中文标题】WildFly jboss-cli.sh 添加数据源 Mysql 与 useSSL=false【英文标题】:WildFly jboss-cli.sh add datasource Mysql with useSSL=false 【发布时间】:2018-08-06 05:36:27 【问题描述】:

我将 mysql 作为数据源添加到 wildfly

我可以通过 jboss-cli.sh 将 useSSL=false 参数插入到 connection-url 标签中

这很好用,但是当我启动服务器时,它告诉我明确设置 useSSL=false

/subsystem=datasources/data-source=KeycloakMysqlDS:add(
    jndi-name=java:jboss/datasources/KeycloakMysqlDS, 
    driver-name=mysql, 
    connection-url=jdbc:mysql://localhost:3306/keycloak,
    user-name=keycloak,
    password=keycloak,
    max-pool-size=15,
    min-pool-size=5
)

如果我将它与 jboss-cli.sh 一起使用

connection-url=jdbc:mysql://localhost:3306/keycloak?useSSL=false

我收到此错误


    "outcome" => "failed",
    "failure-description" => "WFLYCTL0097: Wrong type for 'connection-url'. Expected [EXPRESSION, STRING] but was OBJECT",
    "rolled-back" => true

有没有办法通过 jboss-cli.sh 做到这一点?

【问题讨论】:

尝试使用connection-url="jdbc:mysql://localhost:3306/keycloak?useSSL=false" @JamesR.Perkins 我知道,我想知道您是否可以直接从 jboss-cli.sh 执行此操作以从脚本执行所有操作 除非我误解了您应该能够解决的问题。您只需将connection-url 属性的值用引号括起来。 @JamesR.Perkins 谢谢,我不明白......它有效 【参考方案1】:

该行失败,因为它包含双重赋值。 您应该转义 url 查询的等号 (useSSL\=false)。

这个:

[standalone@localhost:9990 /] /subsystem=datasources/data-source=KeycloakMysqlDS:add( \
>     jndi-name=java:jboss/datasources/KeycloakMysqlDS, \
>     driver-name=mysql, \
>     connection-url=jdbcmysql://localhost:3306/keycloak?useSSL\=false, \
>     user-name=keycloak, \ 
>     password=keycloak, \
>     max-pool-size=15, \
>     min-pool-size=5 \
> )

    "outcome" => "success",
    "response-headers" => "process-state" => "reload-required"

应该可以。

【讨论】:

以上是关于WildFly jboss-cli.sh 添加数据源 Mysql 与 useSSL=false的主要内容,如果未能解决你的问题,请参考以下文章

jboss-cli.sh 无法在 centos 7 上运行

Wildfly 管理 CLI 配置

安全域的 Wildfly 刷新缓存

如何从 Wildfly 中删除 KeyCloak?

当我无法访问 CLI 工具时,如何关闭 JBoss Wildfly?

WildFly 21 CLI 无法识别 Amazon Linux 2 上的现有文件路径