【问题标题】:JBoss EAP 7 java.lang.IllegalArgumentException Problem configuring JBoss EAP 7 datasource via Gradle scriptsJBoss EAP 7 java.lang.IllegalArgumentException 通过 Gradle 脚本配置 JBoss EAP 7 数据源的问题
【发布时间】:2018-12-20 17:01:08
【问题描述】:

在 Ansible 提供 JBoss EAP 之后,我在配置 JBoss EAP 时遇到了麻烦。

添加数据源 gradle 任务因 java.lang.IllegalArgumentException 而失败。该脚本适用于其他环境,但我无法弄清楚我们的问题所在,我已经使用了好几天了。

下面是gradle任务如下:

    // Adds data source config to JBoss EAP 7

    def addDatasourcesSingleStack(def config, def hostName, def serverName, def mySQLURL) {
        def username = getMysqlDatasourceUsername();
        def password = getMysqlDatasourcePassword();

//This is the command failing
executeCliCommandHostSingleStack("""/profile=${config.server_profile_single_stack_name}/subsystem=datasources/data-source=MySqlDS:add(
            jndi-name=${config.mysql_jndi_name},
            connection-url=\"${mySQLURL}\",
            driver-name=com.mysql,
            user-name=${username},
            password=${password},
            transaction-isolation=TRANSACTION_READ_COMMITTED,
            min-pool-size=10,
            max-pool-size=${config.mysql_max_connections},
            pool-prefill=true,
            prepared-statements-cache-size=32,
            share-prepared-statements=true,
            valid-connection-checker-class-name=org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker,
            validate-on-match=true,
            background-validation=false,
            exception-sorter-class-name=org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter,
            statistics-enabled=true)""".stripIndent());
        executeCliCommandHostSingleStack("/profile=${config.server_profile_single_stack_name}/subsystem=datasources/data-source=MySqlDS:enable");   
    }

上面执行时产生的错误信息如下:

Caused by: java.lang.RuntimeException: Error Occurred Creating Server Group in 1-1. Run 'remove-server-group' command to remove incomplete group, and then r
un 'create-server-group' again
        at build_aant4k1fpdt1r8vajv7zpx6zd$_run_closure11.doCall(C:\Users\IN_XXXX\releases\release-1.0\build.gradle:3111)
        at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:558)
        at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:539)
        at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:77)
        at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:73)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 46 more
Caused by: java.lang.IllegalArgumentException: Command '/profile=dms-server-profile-single-stack/subsystem=datasources/data-source=MySqlDS:add(
                jndi-name=java:/jdbc/dms,
                connection-url="jdbc:mysql://host1:3306/dms_db?socketTimeout=60000",
                driver-name=com.mysql,
                user-name=dms_app,
                password=xxxxxxxxx,
                transaction-isolation=TRANSACTION_READ_COMMITTED,
                min-pool-size=10,
                max-pool-size=200,
                pool-prefill=true,
                prepared-statements-cache-size=32,
                share-prepared-statements=true,
                valid-connection-checker-class-name=org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker,
                validate-on-match=true,
                background-validation=false,
                exception-sorter-class-name=org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter,
                statistics-enabled=true)' is invalid. {
    "outcome" => "failed",
    "result" => undefined,
    "failure-description" => {"WFLYDC0074: Operation failed or was rolled back on all servers. Server failures:" => {"server-group" => {"dms-server-group-single
-stack" => {"host" => {"host1" => {"dms-server-instance-single-stack" => {"WFLYCTL0288: One or more services were unable to start due t
o one or more indirect dependencies not being available." => {
        "Services that were unable to start:" => ["org.wildfly.data-source.MySqlDS"],
        "Services that may be the cause:" => ["org.wildfly.network.interface.public"]
    }}}}}}}},
    "rolled-back" => true,
    "server-groups" => {"ams-server-group-single-stack" => {"host" => {"host1" => {"dms-server-instance-single-stack" => {"response" =>
 {
        "outcome" => "failed",
        "failure-description" => {"WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
            "Services that were unable to start:" => ["org.wildfly.data-source.MySqlDS"],
            "Services that may be the cause:" => ["org.wildfly.network.interface.public"]
        }},
        "rolled-back" => true,
        "response-headers" => {"process-state" => "reload-required"}
    }}}}}}
}

当我尝试通过 JBoss 管理控制台手动添加数据源时,出现以下错误:

创建 JDBC 连接失败。 发生了内部错误。 详情

意外的 HTTP 响应:500

Request
{
    "address" => [],
    "operation" => "composite",
    "steps" => [{
        "operation" => "test-connection-in-pool",
        "address" => [
            ("host" => "host1"),
            ("server" => "dms-server-instance-single-stack"),
            ("subsystem" => "datasources"),
            ("data-source" => "MySqlDS")
        ]
    }]
}

Response

Internal Server Error
{
    "outcome" => "failed",
    "result" => {"step-1" => {
        "outcome" => "failed",
        "result" => undefined,
        "failure-description" => "WFLYJCA0040: failed to invoke operation: WFLYJCA0042: failed to match pool. Check JndiName: java:/jdbc/dms",
        "response-headers" => {"process-state" => "reload-required"},
        "rolled-back" => true
    }},
    "failure-description" => {"WFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-1" => "WFLYJCA0040: failed to invoke operation: WFLYJCA0042: failed to match pool. Check JndiName: java:/jdbc/dms"}},
    "rolled-back" => true
} 

任何帮助、cmets 和参考将不胜感激。

谢谢。

【问题讨论】:

  • 密码是否有可能包含需要转义的字符?
  • 您好,密码是基本字母数字。谢谢。

标签: java gradle jboss jboss-eap-7


【解决方案1】:

你可以检查两件事:

  1. 检查数据源是否启用。

  2. 检查 Publicunsecure 接口在主机配置中配置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    相关资源
    最近更新 更多