How to add connection-property through change-database.cli

Hello All,

I am trying to setup the datasource in standalone.xml through change-database.cli.

The following is the content of change-database.cli file

/subsystem=datasources/data-source=KeycloakDS: remove()
/subsystem=datasources/data-source=KeycloakDS: add(jndi-name=java:jboss/datasources/KeycloakDS,enabled=true,use-java-context=true, driver-name=oracle_ucp)
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=datasource-class, value=oracle.ucp.jdbc.PoolDataSourceImpl)
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=valid-connection-checker-class-name, value=org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker)
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=validate-on-match, value=true)
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=use-fast-fail, value=true)
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=stale-connection-checker-class-name, value=org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker)
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=exception-sorter-class-name, value=org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter)

On running change-database.cli the resulting datasource entry in standalone.xml looks as follows

<datasource jndi-name=“java:jboss/datasources/KeycloakDS” pool-name=“KeycloakDS” enabled=“true” use-java-context=“true”>
<datasource-class>oracle.ucp.jdbc.PoolDataSourceImpl
<driver>oracle_ucp
<validation>
<valid-connection-checker class-name=“org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker”/>
<validate-on-match>true
<use-fast-fail>true
<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”/>
</validation>
</datasource>

However, I also wanted to include few connection-property as part of datasource. I mean the resulting datasource entry should look as follows

<datasource jndi-name=“java:jboss/datasources/KeycloakDS”
pool-name=“KeycloakDS” enabled=“true” use-java-context=“true”>
<datasource-class>oracle.ucp.jdbc.PoolDataSourceImpl
<connection-property name=“InactiveConnectionTimeout”>0
<connection-property name=“PropertyCycle”>900
<connection-property name=“ValidateConnectionOnBorrow”>true
<driver>oracle_ucp
<validation>
<valid-connection-checker class-name=“org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker”/>
<validate-on-match>true
<use-fast-fail>true
<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”/>
</validation>
</datasource>

I tried many ways to update change-database.cli to add connection-property in datasource, however, I didn’t find any concrete example to achieve this.

Any help is much appreciated