2017-03-10 1 views
0

JBoss (EAP 6.4) CLI를 사용하여 배포하고이 시점에서 데이터 소스를 추가하려고합니다.JBoss CLI 이스케이프 선택 1

CLI 명령은 정확한 add 호출이 보이는이

/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\) 

같다 :

/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" 

흥미 롭 공백 문자는 이중 어포 스트로피로 바뀝니다.

가 그것을 제대로 여러 가지 방법으로 탈출을 시도> 확인> 확인 유효한 SQL 속성 -> 된 데이터 소스 -

ERROR: syntax error at or near "1" at character 9 
STATEMENT: SELECT''1 

JBoss의 관리 콘솔은 또한 구성에 SELECT''1 보여줍니다 이 내가 pgSQL의 로그에 무엇을 얻을 , 성공없이. 어떤 생각?

답변

0

적절한 인수 값을 지정하여 data-source add 명령을 사용하여 데이터 소스를 정의 할 수 있습니다.

도메인 모드 :

data-source add --profile=<default | ha | full | full-ha> --name=<Resource ID> --connection-url=<Connection URL> --jndi-name=<JNDI Name> --driver-name=<Driver Name> 

독립 실행 형 모드 :

data-source add --name=<Resource ID> --connection-url=<Connection URL> --jndi-name=<JNDI Name> --driver-name=<Driver Name> 

동작하는 예제 :

[[email protected]:9999 /] data-source add --help 
,536 :

data-source add \ 
    --name=TEST \ 
    --check-valid-connection-sql="Select 1" \ 
    --driver-name=h2 --jndi-name=java:jboss/test \ 
    --connection-url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE 

가능한 옵션 목록을 얻으려면

+0

감사하지만 설정이 정상적으로 작동하고 있습니다. 유일한 문제는 공백 문자가 어떤 이유로 이스케이프 처리되는 것입니다. 설명에 add 메소드의 정확한 호출을 추가했습니다. –

0

당신은 당신의 독립 편집 할 수있는 데이터 소스 구성 .XML (- - ) .XML 또는 도메인 (을) : 그래서, 아직 결과를 공유하는 부재

<subsystem xmlns="urn:jboss:domain:datasources:1.2"> 
    <datasources> 
     <datasource jndi-name="java:jboss/datasources/OracleDS" pool-name="OracleDS" enabled="true" use-java-context="true"> 
     <connection-url>jdbc:oracle:thin:@myhostname:1521:oracle</connection-url> 
     <driver>oracle</driver> 
     <pool> 
      <min-pool-size>10</min-pool-size> 
      <max-pool-size>20</max-pool-size> 
      <prefill>true</prefill> 
     </pool> 
     <security> 
      <user-name>myuser</user-name> 
      <password>mypass</password> 
     </security> 
     <validation> 
      <validate-on-match>true</validate-on-match> 
      <check-valid-connection-sql>select 1</check-valid-connection-sql> 
      <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"></exception-sorter> 
     </validation> 
     </datasource> 
     <drivers> 
     <driver name="oracle" module="com.oracle.jdbc"> 
      <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class> 
     </driver> 
     </drivers> 
    </datasources> 
    </subsystem> 
+0

그래, 맞아, 내 문제는 배포 프로세스 중에 적절한 값을 설정할 수 없습니다. 새 배포가 발생할 때마다 구성 파일을 편집하는 옵션이 아닙니다. –

관련 문제