2017-02-18 5 views
0

XMLで春のコンフィグは、私は2つのデータソースに構成JPA春XML WildFly

<jee:jndi-lookup id="datas1" expected-type="javax.sql.DataSource" 
    jndi-name="java:/jndi1" /> 

<jee:jndi-lookup id="datas2" expected-type="javax.sql.DataSource" 
    jndi-name="java:/jndi2" /> 

<bean id="EntityM" 
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
    <property name="dataSource" ref="datas1" /> 
    <property name="packagesToScan" value="package.persistence.entity" /> 
    <property name="jpaVendorAdapter"> 
     <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
      <property name="showSql" value="true" /> 
      <property name="generateDdl" value="false" /> 
      <property name="databasePlatform" value="org.hibernate.dialect.Oracle12cDialect" /> 
     </bean> 
    </property> 
</bean> 

<bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
    <property name="entityManagerFactory" ref="EntityM" /> 
</bean> 

を持つことができないExcpetionは次のとおりです。

コンテキストの初期化に失敗しました:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'springSessionJdbcOperations' defined in class path resource [org/springframework/session/jdbc/config/annotation/web/http/JdbcHttpSessionConfiguration.class]: Unsatisfied dependency expressed through method 'springSessionJdbcOperations' parameter 0: No qualifying bean of type [javax.sql.DataSource] is defined: expected single matching bean but found 2: datas1,datas2; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [javax.sql.DataSource] is defined: expected single matching bean but found 2: datas1,jndi2.

私は2つのデータソースを設定することはできません、最初のデータソースはentityManagarにあり、2番目のデータソースはストアドプロシージャを呼び出すことです。

答えて

0

JdbcSessionConfigurationは、 'dataSource'という名前の 'DataSource'タイプのBeanを必要とします。 これが見つからない場合、springは 'DataSource'型のBeanを使用しようとしますが、名前は無視します。このタイプのBeanが2つあるため、例外がスローされます。

ソリューション: は、あなたが「データソース」に 「datas1」からのEntityManagerを使用することを、データソースの豆の名前を変更します。

SpringはJdbcSessionConfigurationを作成することができ、必要なときに 'datas2'を使用できます。

関連する問題