2017-03-10 5 views
0

JBoss(EAP 6.4)CLIを使用してデプロイし、この時点でデータソースを追加します。JBoss CLIエスケープSELECT 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" 

面白いです、空白はダブルアポストロフィで置き換えられます。 は、これは私がpgsqlのログに取得されるものです:

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

JBossの管理コンソールでも設定でSELECT''1を示し - >データソース - >バリデーション>有効なSQL属性を確認してください

は適切にいくつかの方法を、それを脱出しようとしました、成功なし。何か案が?

答えて

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> 

作業例:

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 

利用可能なオプションのリストを取得するには、次の

[[email protected]:9999 /] data-source add --help 
+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

うん、正しいですが、私の問題は展開プロセス中に適切な値を設定できません。新しい展開が行われるたびに設定ファイルを編集するオプションはありません。 –

関連する問題