2017-02-18 27 views
0

Spring конфигурации в XMLя не могу быть две источников данных сконфигурированы 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> 

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

Я не могу иметь две источников данных настроены, Первым источником данных является объект entityManagar, а второй источник данных - вызов хранимой процедуры.

ответ

0

JdbcSessionConfiguration ожидает компонент типа DataSource с именем 'dataSource'. Если этого не найдено, Spring пытается использовать компонент типа DataSource, игнорируя имя. Поскольку есть два компонента этого типа, это исключение.

Решение: Переименуйте DataSource боб, который вы хотите использовать с EntityManager из «datas1» до «DataSource».

Весна должна быть способна создать JdbcSessionConfiguration, и вы можете использовать «datas2» для всего, что вам нужно.