使用 JBoss (EAP 6.4) CLI 进行部署,此时,想添加一个数据源。
cli命令是这样的
/profile=XXX/subsystem=datasources/data-source=XXX:add\(connection-url=XXX,url-delimiter="|",jndi-name=java:jboss/datasources/XXX,driver-name=postgresql,user-name=XXX,password=XXX,check-valid-connection-sql="SELECT 1",validate-on-match=true,background-validation=false,share-prepared-statements=false\)
确切的add
调用如下所示:
/data-source=${DS_NAME}:add( \
connection-url=${DS_CONNECTION_URL}, \
jndi-name=${DS_JNDI_NAME}, \
driver-name=${DS_DRIVER_NAME}, \
user-name=${DB_USER}, \
password=${DB_USER_PASSWD}, \
check-valid-connection-sql=\"SELECT 1\", \
validate-on-match=true, \
background-validation=false, \
share-prepared-statements=false)
其实只有这部分很有趣
check-valid-connection-sql="SELECT 1"
成功部署后,空格将替换为双撇号。这是我在 pgsql 日志中得到的:
ERROR: syntax error at or near "1" at character 9
STATEMENT: SELECT''1
JBoss 管理控制台还显示SELECT''1
在 Configuration -> Datasources -> Validation > Check Valid Sql 属性中
试图以几种方式正确地逃脱它,但没有成功。任何想法?