无法部署数据源,因为JBoss认为它已经存在

时间:2017-12-19 20:42:00

标签: gradlew jboss-eap-7 jboss-cli

我正在JBoss 7.0.5应用程序上运行gradlew deploy,当我尝试部署时,它抱怨我的一个数据源已经存在:

Deploying profile/deploy-datasources.cli
{
    "outcome" => "failed",
    "failure-description" => {"domain-failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.IllegalStateException: WFLYCTL0363: Capability 'org.wildfly.data-source.MarketDataSource' is already registered in context 'profile=Int-Market'."},
    "rolled-back" => true
}

我使用JBoss cli来部署数据源(deploy-datasources.cli):

if (outcome == success) of ./subsystem=datasources/data-source=MarketDataSource:read-resource()
    data-source remove --name=MarketDataSource --profile=@jboss.profile@
end-if
./subsystem=datasources/data-source=MarketDataSource:add( \
    jta=false, \
    jndi-name="java:/MarketDataSource", \
    driver-name="oracle", \
    connection-url="@leftthisout@", \
    user-name="@leftthisout@", \
    password="$\{@leftthisout@\}", \
    min-pool-size=1, \
    max-pool-size=5, \
    validate-on-match=true, \
    valid-connection-checker-class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker", \
    stale-connection-checker-class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker", \
    exception-sorter-class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter", \
    idle-timeout-minutes=10, \
    prepared-statements-cache-size=120, \
    enabled=true \
)

if (outcome == success) of ./subsystem=datasources/data-source=MarketDataSource:read-resource
  ./subsystem=datasources/data-source=MarketDataSource/connection-properties=defaultRowPrefetch:add(value=100)
end-if

再次使用JBoss cli取消部署数据源(undeploy-datasources.cli):

if (outcome == success) of ./subsystem=datasources/data-source=MarketDataSource:read-resource()
    data-source remove --name=MarketDataSource --profile=@jboss.profile@
end-if

我为另一个数据源执行相同的操作(除了更改名称,密码,用户名等),我对此没有任何问题。我使用差异检查器来确保这一点。这个数据源必须配置错误而不是另一个,但我无法弄清楚它是什么。

1 个答案:

答案 0 :(得分:0)

原来有JBoss 7.0.*解释here的错误,所以我刚刚取消部署该应用并重新启动了我的域控制器。再次部署然后工作。

升级到JBoss 7.1.*也会有效,但我目前没有这个选项,所以这就是解决方法。