2017-04-18 17 views
0

JBoss FUSEでDBを設定する方法の1つは、blueprint.xmlを使用することです。 blueprint.xmlでの構成以下 Jboss FUSEのデータベース接続の設定

<bean id="gemsDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> 
    <property name="url" value="${gems_url}" /> 
    <property name="username" value="${gems_username}" /> 
    <property name="password" value="${gems_password}" /> 
    <property name="maxIdle" value="5" /> 
    <property name="minIdle" value="1" /> 
    <property name="initialSize" value="1" /> 
</bean> 

に動作しますが、JBOSSコンテナ固有の設定ファイルでそれを設定する方法はあります。たとえば、JBOSS EAPではstandalone.xmlで設定できます。同様の行で、JBOSS FUSEでそれを設定できますか?

答えて

0

Jbossヒューズは、さまざまなデータソースとの統合を提供します。使用したようにバンドルを賢明に構成する必要があります。しかし、そのような設定はコンテナレベルにはありません。

0

データソースをバンドルに定義してエクスポートすることができます。他のバンドルでは、サービスのようにインポートして使用します。これは、サービスをエクスポートします

<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"> 

    <bean id="dataSource" class="org.postgresql.jdbc3.Jdbc3SimpleDataSource"> 
     <property name="url" value="jdbc:postgresql://localhost:5432/databasename"/> 
     <property name="user" value="username"/> 
     <property name="password" value="xxx"/> 
    </bean> 

    <service interface="javax.sql.DataSource" ref="dataSource"> 
     <service-properties> 
      <entry key="osgi.jndi.service.name" value="jdbc/yourdatabasename_ds"/> 
     </service-properties> 
    </service> 
</blueprint> 

前提条件

は、これらの機能

features:install jdbc 
features:install jndi 

データソースバンドル

ドロップコンテンツを以下とデプロイフォルダ内のXMLファイルをインストールします。 0でインタフェースとJNDI名

使用データソースサービスバンドルは、データソースを必要とする

は、それを注入するOSGiのを頼みます。

<blueprint> 
    <reference id="yourDatabaseDs" 
      interface="javax.sql.DataSource" 
      availability="mandatory" 
      filter="(osgi.jndi.service.name=jdbc/yourdatabasename_ds)"/> 
</blueprint> 

右側のデータソースは、指定したJNDI名を使用して取得されます。
availability="mandatory"を使用すると、データソースが使用可能になるまでバンドルを強制的に待機させることができます。バンドルはこの参照なしでは起動しません。

使用しているデータベース用の正しいJDBCドライバが必要です。

他のグッズ

あなたはすべての利用可能なデータソースの一覧が表示されます​​のように、今のデータベースと対話するためのJBossヒューズコンソールのコマンドの多くを持っています。 jdbc:queryを使用すると、DBに対して任意のSQLを実行できます(デバッグの問題や接続のテストに適しています)

関連する問題