2017-04-18 11 views
0

JBoss FUSE에서 DB를 구성하는 방법 중 하나는 blueprint.xml을 사용하는 것입니다. blueprint.xml의 구성 아래 는 JBOSS 컨테이너 특정 구성 파일을 구성 할 수있는 방법이 있나요, 그러나Juse 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 EAP에서는 standalone.xml에서 구성 할 수 있습니다. 유사한 행에서 JBOSS FUSE에서 구성 할 수 있습니까?

답변

0

Jboss 퓨즈는 다양한 데이터 소스와의 통합을 제공합니다. 사용했던 것처럼 번들을 현명하게 구성해야합니다. 그러나 컨테이너 레벨에는 그러한 구성이 없습니다.

0

데이터 소스를 번들에 정의하고 내보낼 수 있습니다. 다른 번들에서는 서비스처럼 가져 와서 사용합니다.

전제 조건

이러한 기능

를 설치
features:install jdbc 
features:install jndi 

데이터 소스 번들

드롭 내부의 XML 파일은 다음과 같은 내용으로 폴더 배포 :

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

이 서비스를 보냅니다을 0으로 1,236,인터페이스와 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 드라이버가 필요합니다.

다른 케이크

당신은 사용 가능한 모든 데이터 소스를 나열합니다 jdbc:datasources처럼, 이제 데이터베이스와 상호 작용하는 보스 퓨즈 콘솔의 명령을 많이 가지고 있어요. jdbc:query을 사용하면 DB에 대해 모든 SQL을 실행할 수 있습니다 (디버깅 문제 및 연결 테스트에 유용함)