2009-09-18 10 views
7

Czytam kod źródłowy liferay i dowiedziałem się, że 2 pliki xml używają tego samego identyfikatora bean. czy wszystkie właściwości scalą się, jeśli używasz w ten sposób?Identyfikator tego samego komponentu na innym pliku XML, czy to się połączy?

dynamic-data-spring 
---------------------- 
    <bean id="liferayDataSource" class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy"> 
     <property name="targetDataSource"> 
      <bean class="org.springframework.aop.framework.ProxyFactoryBean"> 
       <property name="targetSource" ref="dynamicDataSourceTargetSource" /> 
      </bean> 
     </property> 
    </bean> 

infrastructure-spring.xml 
---------------------- 
<bean id="liferayDataSource" class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy"> 
     <property name="targetDataSource"> 
      <bean class="com.liferay.portal.dao.jdbc.util.DataSourceFactoryBean"> 
       <property name="propertyPrefix" value="jdbc.default." /> 
      </bean> 
     </property> 
    </bean> 

Odpowiedz

7

Nie, kontekst wiosenny wybierze jedną definicję fasoli nad drugą. Wybór, który wybierze, zależy od kolejności, w jakiej pliki są podawane do kontekstu podczas inicjalizacji.

Logowanie powinno wskazywać, że jedna definicja fasoli zastępuje inną.

+1

Sprawdź tę poprawkę na wiosnę, aby uniknąć gry "zapamiętaj plik logu": http://jira.springframework.org/browse/SPR-4374 – SteveD

Powiązane problemy