Konfiguration von hibernate datasource in spring xml
Bekomme ich folgende Fehlermeldung beim ausführen meiner web-Anwendung. Ich hatte Probleme in der Konfiguration von hibernate & Feder mit richtigen Gläsern. Nachdem ich überquerte die Hürde nach der Arbeit auf Sie für Stunden, ich bin immer problem in hibernate datasource. Die session-factory und dao-beans sind immer korrekt initialisiert durch den Frühling
aber wenn ich access-Methode in dao bekomme ich Fehler...
INFO: Attestation_spring_hibernate was successfully deployed in 11,309 milliseconds.
INFO: before calling rateDAO.getCount()
INFO: inside getSessionFactory()
WARNING: StandardWrapperValve[dispatcher]: Servlet.service() for servlet dispatcher threw exception
java.lang.UnsupportedOperationException: Not supported by BasicDataSource
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1062)
at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141)
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:292)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:214)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:157)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection(StatementPreparerImpl.java:56)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:161)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:182)
at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:159)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1859)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1836)
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1816)
at org.hibernate.loader.Loader.doQuery(Loader.java:900)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:342)
at org.hibernate.loader.Loader.doList(Loader.java:2526)
at org.hibernate.loader.Loader.doList(Loader.java:2512)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2342)
at org.hibernate.loader.Loader.list(Loader.java:2337)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:124)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1662)
at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:374)
at daoImpl.RateDAO.getRateById(RateDAO.java:149)
at controller.Controller1.welcome(Controller1.java:47)
Unten ist mein Anwendung context.xml..
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test_amar"/>
<property name="username" value="root"/>
<property name="password" value=""/>
<property name="initialSize" value="2"></property>
<property name="maxActive" value="5"></property>
<property name="validationQuery" value="SELECT 1"/>
</bean>
<!-- Hibernate Session Factory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="myDataSource"/>
<property name="packagesToScan">
<array>
<value>entities</value>
</array>
</property>
<property name="hibernateProperties">
<props>
<prop key="dialect">org.hibernate.dialect.MySQLDialect</prop>
</props>
</property>
</bean>
benutze ich spring3 & hibernate4. Es scheint Konfiguration Fehler in meinem datasource. aber ich bin nicht in der Lage, ihn zu suchen.
Aus der server-log unten , ich sehe, dass dao & session factory beans instanziiert sind richtig.
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
INFO: JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning
INFO: JSR-330 'javax.inject.Named' annotation found and supported for component scanning
INFO: JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1020cb7: defining beans [**controller1,rateDAO**,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping#0,urlMapping,viewResolver,indexController,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@fca094
INFO: Mapped URL path [/controller1] onto handler 'controller1'
INFO: Mapped URL path [/controller1/*] onto handler 'controller1'
Freundlicherweise helfen..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Accoording die neueste version, die Methode
getConnection(user, password)
wird nicht unterstützt, aber überwintern sollte nicht der Aufruf der Methode.Können Sie mit der Feder zur Verfügung gestellt
org.springframework.jdbc.datasource.DriverManagerDataSource
oder diecom.mysql.jdbc.jdbc2.optional.MysqlDataSource
aus Ihrer MySQL-connector-Paket. (http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html)org.springframework.jdbc.datasource.DriverManagerDataSource
geklappt hat.. Aber jetzt bin ich nicht in der Lage zu verwenden DBCP. gibt es eine Möglichkeit zur Nutzung von pooling noch in der datasource???versuchen, fügen Sie den folgenden code in den Ruhezustand Eigenschaft
versuchen Sie, entfernen von hibernate.cfg.xml
Das problem mit
ist, dass es NICHT bietet-pooling! Ich würde zu bewegen, um Tomcat JDBC Connection Pool. Das ist bis jetzt IMHO die effizienteste.
Bedarf es der Abhängigkeit
Dokumentation:
https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
Versuchen, verwenden Sie com.mysql.jdbc.jdbc2.optional ist.MysqlDataSource.