2012-07-16 27 views
5

Korzystam z samodzielnej aplikacji wiosna i hibernacja. używam poniżej konfiguracji.Wiosna DriverManagerDataSource otwiera wiele połączeń?

<bean id="dataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="${driverClassName}" /> 
     <property name="url" value="${db.url}" /> 
     <property name="username" value="${db.username}" /> 
     <property name="password" value="${db.password}" /> 
    </bean> 

    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="annotatedClasses"> 
      <list> 
       <value>com.some.SomePojo</value> 
      </list> 
     </property> 

     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">${mdm.db.dialect}</prop> 

      </props> 
     </property> 
    </bean> 


    <tx:annotation-driven transaction-manager="transactionManager" /> 

    <bean id="transactionManager" 
     class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 

czy DriverManagerDataSource otwiera połączenie z bazą danych za każdym razem, gdy żądane są dane? lub czy ponownie wykorzystuje już otwarte połączenie? Czy też zamyka puste połączenia? korzystać z koncepcji łączenia połączeń Czy potrzebuję c3p0?

Dzięki!

+0

http://stackoverflow.com/questions/4961173/how-to-reuse-the-same-connection-with-a-springs-jdbctemplate – coderz

Odpowiedz

5

Dokumentacja java stwierdza;

Ta klasa nie jest rzeczywistą pulą połączeń; w rzeczywistości nie łączy połączeń.

Zobacz więcej informacji

http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/jdbc/datasource/DriverManagerDataSource.html

+0

Dzięki za odpowiedź. Czy mogę używać c3p0 w samodzielnej aplikacji? lub powinien być stosowany w aplikacjach internetowych? bcaz mój appln nie jest wdrożony na żadnym serwerze aplikacji. Dzięki! – user1016403

+0

Masz 3 opcje; 1 używaj JNDI opartego na połączeniu kontenerowym, 2 użyj c3po lub 3 DBCP. wybrałabym opcję 1, dzięki której konfiguracja sprężyn będzie prostsza –

Powiązane problemy