spring mvc, wyjatek podczas tworzenia beana

0

w moim dispatcher-servlecie mam cos takiego:

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
        </property>
        <property name="configurationClass">
            <value>org.hibernate.cfg.AnnotationConfiguration</value>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${jdbc.dialect}</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
    </bean> 

zaleznosci:

<dependencies>
  	
        <dependency>
        	<groupId>jstl</groupId>
        	<artifactId>jstl</artifactId>
        	<version>1.2</version>
        </dependency>
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-core</artifactId>
        	<version>4.1.1.RELEASE</version>
        </dependency>
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-web</artifactId>
        	<version>4.1.1.RELEASE</version>
        </dependency>
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-webmvc</artifactId>
        	<version>4.1.1.RELEASE</version>
        </dependency>
        <dependency>
        	<groupId>org.springframework.security</groupId>
        	<artifactId>spring-security-web</artifactId>
        	<version>3.2.3.RELEASE</version>
        	
        </dependency>
        <dependency>
        	<groupId>org.springframework.security</groupId>
        	<artifactId>spring-security-config</artifactId>
        	<version>3.2.3.RELEASE</version>
        </dependency>

        <dependency>
        	<groupId>org.hibernate.javax.persistence</groupId>
        	<artifactId>hibernate-jpa-2.1-api</artifactId>
        	<version>1.0.0.Final</version>
        </dependency>

		<dependency>
        	<groupId>com.oracle</groupId>
        	<artifactId>ojdbc6</artifactId>
        	<version>10.2.0.2.0</version>
    	</dependency>
    	
        <dependency>
        	<groupId>org.hibernate</groupId>
        	<artifactId>hibernate-core</artifactId>
        	<version>4.3.7.Final</version>
        </dependency>
        
        <dependency>
        	<groupId>org.hibernate.common</groupId>
        	<artifactId>hibernate-commons-annotations</artifactId>
        	<version>4.0.5.Final</version>
        </dependency>
        <dependency>
        	<groupId>commons-dbcp</groupId>
        	<artifactId>commons-dbcp</artifactId>
        	<version>20030825.184428</version>
        </dependency>
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-orm</artifactId>
        	<version>4.0.7.RELEASE</version>
        </dependency>
  
  </dependencies> 

i podczas startu serwera dostaje blad:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/student-recruitment-app-servlet.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
 

czym to moze byc spowodowane?

0

Pokaż datasource.

Najpierw możesz spróbować zmienić dbcp na:

 <dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-dbcp2</artifactId>
     <version>2.0.1</version>
 </dependency>

i jako datasource class="org.apache.commons.dbcp2.BasicDataSource"

0

to moj dataSource:

<bean id="dataSource"
        class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
        p:driverClassName="${jdbc.driverClassName}"
        p:url="${jdbc.databaseurl}" p:username="${jdbc.username}"
        p:password="${jdbc.password}"></bean>

zmienilem tam na ...dpcp2... i teraz mam iny blad w konsoli:

Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory com.student.recruitment.app.dao.EmployeeDaoImpl.sessionFactory; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/student-recruitment-app-servlet.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'configurationClass' of bean class [org.springframework.orm.hibernate4.LocalSessionFactoryBean]: Bean property 'configurationClass' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
 

to moj dispatcher-servlet:

 <bean id="messageSource"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="classpath:messages"></property>
        <property name="defaultEncoding" value="UTF-8"></property>
    </bean>
    <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
        p:location="/WEB-INF/jdbc.properties"></bean>
    <bean id="dataSource"
        class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"
        p:driverClassName="${jdbc.driverClassName}"
        p:url="${jdbc.databaseurl}" p:username="${jdbc.username}"
        p:password="${jdbc.password}"></bean>
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="configLocation">
            <value>classpath:hibernate.cfg.xml</value>
        </property>
        <property name="configurationClass">
            <value>org.hibernate.cfg.AnnotationConfiguration</value>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${jdbc.dialect}</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
    </bean>
    <bean id="employeeDAO" class="com.student.recruitment.app.dao.EmployeeDaoImpl"></bean>
    <bean id="employeeManager" class="com.student.recruitment.app.service.EmployeeManagerImpl"></bean>
    
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>
0

Zmień:

<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>20030825.184428</version>
</dependency>

na:

<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
</dependency>
0

ok problem rozwiazany, polegal na usunieciu

<property name="configurationClass">
            <value>org.hibernate.cfg.AnnotationConfiguration</value>
        </property> 

gdyz w hibernate 4 nie jest on potrzebny, dzieki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1