2016-09-28 8 views
0

У меня есть проблема с инициализацией моей сессии. Вот мой класс BusinessStartup, который пытается использовать объект с именем dataModelFacade, который в иерархии собирается использовать sessionFactory.инициализация sessionFactory с использованием пружины с гибернацией

BusinessStartup.java

public class BusinessStartup { 
    DataModelFacade dataModelFacade; 

    public BusinessStartup(DataModelFacade dataModelFacade) { 
     this.dataModelFacade = dataModelFacade; 
    } 

    public DataModelFacade getDataModelFacade() { 
     return dataModelFacade; 
    } 

    public void init() { 
     while (true) { 
      //getData from database 
      List<Long> submitSmFinalizationIntervalData = dataModelFacade.getSubmitFinalizationIntervalData(); 

      //send them for show 

      try { 
       Thread.sleep(1000 - (System.currentTimeMillis() % 1000)); 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
     } 

    } 
} 

А вот часть applicationContextDataModel.xml файла, который создает SessionFactory:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
     destroy-method="close"> 
    <property name="driverClass" value="${hibernate.connection.driver_class}"/> 
    <property name="jdbcUrl" value="${hibernate.connection.url}"/> 
    <property name="user" value="${hibernate.connection.username}"/> 
    <property name="password" value="${hibernate.connection.password}"/> 
    <!-- these are C3P0 properties --> 
    <property name="acquireIncrement" value="${hibernate.c3p0.acquire_increment}"/> 
    <property name="minPoolSize" value="${hibernate.c3p0.min_size}"/> 
    <property name="maxPoolSize" value="${hibernate.c3p0.max_size}"/> 
    <property name="idleConnectionTestPeriod" value="${hibernate.c3p0.idle_test_period}"/> 

</bean> 

<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource"/> 

    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">${hibernate.dialect}</prop> 
      <prop key="hibernate.show_sql">${hibernate.connection.show_sql}</prop> 
      <prop key="hibernate.c3p0.min_size">${hibernate.c3p0.min_size}</prop> 
      <prop key="hibernate.c3p0.max_size">${hibernate.c3p0.max_size}</prop> 
      <prop key="hibernate.c3p0.acquire_increment">${hibernate.c3p0.acquire_increment}</prop> 
      <prop key="hibernate.c3p0.idle_test_period">${hibernate.c3p0.idle_test_period}</prop> 
      <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop> 
      <prop key="hibernate.order_inserts">${hibernate.order_inserts}</prop> 
      <prop key="hibernate.order_updates">${hibernate.order_updates}</prop> 
      <prop key="hibernate.jdbc.batch_versioned_data">${hibernate.jdbc.batch_versioned_data}</prop> 
      <!--<prop key="hibernate.current_session_context_class">thread</prop>--> 
      <!--<prop key="hibernate.hbm2ddl.auto">update</prop>--> 
      <prop key="*in">20</prop> 
     </props> 
    </property> 
    <property name="mappingDirectoryLocations"> 
     <list> 
      <value>classpath:config/hibernate</value> 
     </list> 
    </property> 
</bean> 

на самом деле у меня есть это в моих зависимостей:

<?xml version="1.0" encoding="UTF-8"?> 

http: //maven.apache.or г/XSD/Maven-4.0.0.xsd "> 4.0.0

<groupId>ir.hossein-shemshadi.analyzer</groupId> 
<artifactId>Analyzer</artifactId> 
<version>1.0-SNAPSHOT</version> 

<properties> 
    <spring.framework.version>4.2.1.RELEASE</spring.framework.version> 
    <hibernate.version>5.1.0.Final</hibernate.version> 
    <cxf.version>3.1.4</cxf.version> 
    <jackson.version>2.6.3</jackson.version> 
    <rabbitmq.version>1.6.0.RELEASE</rabbitmq.version> 
    <quartz.version>2.2.1</quartz.version> 
    <javasimon.version>4.1.1</javasimon.version> 
</properties> 


<dependencies> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>${spring.framework.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context-support</artifactId> 
     <version>${spring.framework.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>${spring.framework.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>${spring.framework.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>${spring.framework.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-tx</artifactId> 
     <version>${spring.framework.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-c3p0</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.1.0.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-dbcp2</artifactId> 
     <version>2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-configuration</groupId> 
     <artifactId>commons-configuration</artifactId> 
     <version>1.10</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>${hibernate.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>com.oracle</groupId> 
     <artifactId>ojdbc7</artifactId> 
     <version>12.1.0.1</version> 
    </dependency> 

    <dependency> 
     <groupId>javassist</groupId> 
     <artifactId>javassist</artifactId> 
     <version>3.12.0.GA</version> 
    </dependency> 

    <dependency> 
     <groupId>cglib</groupId> 
     <artifactId>cglib-nodep</artifactId> 
     <version>2.2.2</version> 
    </dependency> 

    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
    </dependency> 

    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.7.10</version> 
    </dependency> 

    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.7.10</version> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-core</artifactId> 
     <version>${jackson.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>${jackson.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-annotations</artifactId> 
     <version>${jackson.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.1.0</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-frontend-jaxws</artifactId> 
     <version>${cxf.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-frontend-jaxrs</artifactId> 
     <version>${cxf.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-web-api</artifactId> 
     <version>6.0</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-transports-http</artifactId> 
     <version>${cxf.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-transports-http-jetty</artifactId> 
     <version>${cxf.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.codehaus.jackson</groupId> 
     <artifactId>jackson-jaxrs</artifactId> 
     <version>1.9.13</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.amqp</groupId> 
     <artifactId>spring-rabbit</artifactId> 
     <version>${rabbitmq.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-lang3</artifactId> 
     <version>3.4</version> 
    </dependency> 

    <dependency> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> 
     <version>18.0</version> 
    </dependency> 

    <dependency> 
     <groupId>org.quartz-scheduler</groupId> 
     <artifactId>quartz</artifactId> 
     <version>${quartz.version}</version> 
    </dependency> 

    <!--Simon--> 
    <dependency> 
     <groupId>org.javasimon</groupId> 
     <artifactId>javasimon-core</artifactId> 
     <version>${javasimon.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.javasimon</groupId> 
     <artifactId>javasimon-jdbc41</artifactId> 
     <version>${javasimon.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.javasimon</groupId> 
     <artifactId>javasimon-javaee</artifactId> 
     <version>${javasimon.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.javasimon</groupId> 
     <artifactId>javasimon-spring</artifactId> 
     <version>${javasimon.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.javasimon</groupId> 
     <artifactId>javasimon-console-embed</artifactId> 
     <version>${javasimon.version}</version> 
    </dependency> 


</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.2</version> 
      <configuration> 
       <webXml>src\main\webapp\WEB-INF\web.xml</webXml> 
       <webappDirectory>${project.build.directory}\WEB-INF</webappDirectory> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.5.1</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
       <encoding>UTF-8</encoding> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

И, наконец, вот моя ошибка:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [config/applicationContextDataModel.xml]: Invocation of init method failed; nested exception is org.hibernate.cfg.beanvalidation.IntegrationException: Error activating Bean Validation integration 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:753) 
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:834) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537) 
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446) 
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328) 
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5003) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5517) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) 
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1809) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301) 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:618) 
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:301) 
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) 
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) 
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) 
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) 
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) 
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401) 
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) 
at sun.rmi.transport.Transport$1.run(Transport.java:200) 
at sun.rmi.transport.Transport$1.run(Transport.java:197) 
at java.security.AccessController.doPrivileged(Native Method) 
at sun.rmi.transport.Transport.serviceCall(Transport.java:196) 
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) 
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) 
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$256(TCPTransport.java:683) 
at java.security.AccessController.doPrivileged(Native Method) 
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

Idon't знаю, почему я не могу вставить ошибку полностью здесь: (прод.) D ошибка

Caused by: org.hibernate.cfg.beanvalidation.IntegrationException: Error activating Bean Validation integration 
at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:138) 
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:276) 
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:465) 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:708) 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724) 
at org.springframework.orm.hibernate5.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:416) 
at org.springframework.orm.hibernate5.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:401) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) 
... 57 more 

ошибка (прод.)

Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 
at org.hibernate.validator.util.LoggerFactory.make(LoggerFactory.java:29) 
at org.hibernate.validator.util.Version.<clinit>(Version.java:30) 
at org.hibernate.validator.engine.ConfigurationImpl.<clinit>(ConfigurationImpl.java:59) 
at org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:43) 
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:269) 
at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111) 
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.getValidatorFactory(TypeSafeActivator.java:461) 
at org.hibernate.cfg.beanvalidation.TypeSafeActivator.activate(TypeSafeActivator.java:84) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:132) 
... 65 more 

ошибка (прод.)

Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1858) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1709) 
... 78 more 

Любой человек может мне помочь?

+0

Вы можете добавить свой полный pom.xml – kuhajeyan

+0

@kuhajeyan Готово :) –

ответ

0

1) A java.lang.NoClassDefFoundError с java.lang.ClassNotFoundException указывает, что данный класс отсутствует во время выполнения.

Вы должны предоставить один из различных SLF4J файлов реализации .jar в пути к классам.

+0

Да вы правы. Но, как вы видите в середине сообщения, я добавил его к зависимостям моего проекта. –

+0

попробовать, добавив эту зависимость org.slf4j SLF4J-простой 1.7.10

+0

Я сделал это, но та же проблема! –

0

Возможно ваш конфликт происходит из-за переходные зависимости в классе пути

МВН чистая зависимость: дерево -Dverbose -Dincludes = org.slf4j: *

+- org.hibernate:hibernate-validator:jar:4.1.0.Final:compile 
 
[INFO] | \- (org.slf4j:slf4j-api:jar:1.5.6:compile - omitted for conflict with 1.7.10) 
 
[INFO] +- org.slf4j:slf4j-api:jar:1.7.10:compile 
 
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.10:compile 
 
[INFO] | \- (org.slf4j:slf4j-api:jar:1.7.10:compile - omitted for duplicate) 
 
[INFO] +- org.apache.cxf:cxf-rt-transports-http-jetty:jar:3.1.4:compile 
 
[INFO] | \- (org.slf4j:slf4j-api:jar:1.7.12:runtime - omitted for conflict with 1.7.10) 
 
[INFO] \- org.quartz-scheduler:quartz:jar:2.2.1:compile 
 
[INFO] \- (org.slf4j:slf4j-api:jar:1.6.6:compile - omitted for conflict with 1.7.10)

может быть, вы хотите для их исключения

 <dependency> 
 
\t \t <groupId>org.hibernate</groupId> 
 
\t \t <artifactId>hibernate-validator</artifactId> 
 
\t \t <version>4.1.0.Final</version> 
 
\t \t <exclusions> 
 
\t \t \t <exclusion> 
 
\t \t \t \t <groupId>org.slf4j</groupId> 
 
\t \t \t \t <artifactId>slf4j-api</artifactId> 
 
\t \t \t </exclusion> 
 
\t \t </exclusions> 
 
\t </dependency> 
 

 

 
       <dependency> 
 
\t \t <groupId>org.apache.cxf</groupId> 
 
\t \t <artifactId>cxf-rt-transports-http</artifactId> 
 
\t \t <version>${cxf.version}</version> 
 
\t \t <exclusions> 
 
\t \t \t <exclusion> 
 
\t \t \t \t <groupId>org.slf4j</groupId> 
 
\t \t \t \t <artifactId>slf4j-api</artifactId> 
 
\t \t \t </exclusion> 
 
\t \t </exclusions> 
 
\t </dependency> 
 

 

 
       <dependency> 
 
\t \t <groupId>org.quartz-scheduler</groupId> 
 
\t \t <artifactId>quartz</artifactId> 
 
\t \t <version>${quartz.version}</version> 
 
\t \t <exclusions> 
 
\t \t \t <exclusion> 
 
\t \t \t \t <groupId>org.slf4j</groupId> 
 
\t \t \t \t <artifactId>slf4j-api</artifactId> 
 
\t \t \t </exclusion> 
 
\t \t </exclusions> 
 
\t </dependency>

+0

К сожалению, это не помогло и та же ошибка :( –