Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JPA ConfigClass的Spring配置问题_Spring_App Config - Fatal编程技术网

JPA ConfigClass的Spring配置问题

JPA ConfigClass的Spring配置问题,spring,app-config,Spring,App Config,我最初在我的应用程序中使用的是完全没有xml的JavaConfig配置,但我发现我必须为生产部署的应用服务器不支持这种配置。因此,我一直在回去,并试图改变尽可能少,让我的应用程序再次运行。我仍然计划使用@Configuration类,但将它们配置为通过web.xml而不是在WebAppInitializer中加载 我认为 contextClass = org.springframework.web.context.support.AnnotationConfigWebApplicationCon

我最初在我的应用程序中使用的是完全没有xml的JavaConfig配置,但我发现我必须为生产部署的应用服务器不支持这种配置。因此,我一直在回去,并试图改变尽可能少,让我的应用程序再次运行。我仍然计划使用
@Configuration
类,但将它们配置为通过
web.xml
而不是在
WebAppInitializer
中加载

我认为

contextClass = org.springframework.web.context.support.AnnotationConfigWebApplicationContext 

web.xml中
可以实现这一点。但现在,当我的web应用程序启动时,它抛出了一个无法启动持久层的错误:

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build EntityManagerFactory
这是我的密码:

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns="http://java.sun.com/xml/ns/javaee"
            xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
            http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
         id="WebApp_ID" version="3.0">
    <!-- Map all errors to Spring MVC handler method. See CustomErrorController.generalError() -->  
   <display-name>app</display-name>
   <context-param>
      <param-name>contextClass</param-name>
      <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
   </context-param>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>org.deloitte.cms.eua.config.ApplicationConfig 
                    org.deloitte.cms.eua.config.DataSourceConfig
                    org.deloitte.cms.eua.config.DefaultDataSourceConfig
                    org.deloitte.cms.eua.config.JpaConfig
                    org.deloitte.cms.eua.config.SecurityConfig
                    org.deloitte.cms.eua.config.MailConfig
       </param-value>
    </context-param>

    <!-- Bootstrap the root application context as usual using ContextLoaderListener -->
    <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>

   <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        
        <init-param>
          <param-name>contextClass</param-name>
          <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
         </init-param>
          <init-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>org.deloitte.cms.eua.config.ApplicationConfig 
                           org.deloitte.cms.eua.config.DataSourceConfig
                           org.deloitte.cms.eua.config.DefaultDataSourceConfig
                           org.deloitte.cms.eua.config.DefaultDataSourceConfig.JpaConfig
                           org.deloitte.cms.eua.config.SecurityConfig
                           org.deloitte.cms.eua.config.MailConfig  
               </param-value>
          </init-param>
          <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>
JpaConfig

@Configuration
@ComponentScan(basePackageClasses = Application.class, excludeFilters = @Filter({Controller.class, Configuration.class}))
class ApplicationConfig {   
    @Bean
    public static PropertyPlaceholderConfigurer propertyPlaceholderConfigurer() {
        PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
        ppc.setLocation(new ClassPathResource("/persistence.properties"));
        return ppc;
    }   

    @Bean
    public TaskExecutor taskExecutor(){
        ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
        threadPoolTaskExecutor.setCorePoolSize(5);
        threadPoolTaskExecutor.setMaxPoolSize(5);
        threadPoolTaskExecutor.setQueueCapacity(25);
        return threadPoolTaskExecutor;
    }
}
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackageClasses = Application.class)
class JpaConfig implements TransactionManagementConfigurer {
    private static final Logger log = LoggerFactory.getLogger(JpaConfig.class);

    @Value("${dataSource.driverClassName}")
    private String driver;
    @Value("${dataSource.url}")
    private String url;
    @Value("${dataSource.username}")
    private String username;
    @Value("${dataSource.password}")
    private String password;
    @Value("${hibernate.dialect}")
    private String dialect;
    @Value("${hibernate.hbm2ddl.auto}")
    private String hbm2ddlAuto;
    @Value("${hibernate.showSql}")
    private String showSql;

    @Value("${hibernate.connection.provider_class}")
    private String connectionProviderClass;
    @Value("${hibernate.c3p0.max_size}")
    private String maxSize;
    @Value("${hibernate.c3p0.min_size}")
    private String minSize;
    @Value("${hibernate.c3p0.acquire_increment}")
    private String acquireIncrement;
    @Value("${hibernate.c3p0.idle_test_period}")
    private String idleTestPeriod;
    @Value("${hibernate.c3p0.max_statements}")
    private String maxStatements;
    @Value("${hibernate.c3p0.timeout}")
    private String timeout;

    @Bean
    public DataSource efiDataSource(){
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName(driver);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    }       

    @Bean
    public LocalContainerEntityManagerFactoryBean configureEntityManagerFactory(){
        LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
        entityManagerFactoryBean.setDataSource(efiDataSource());        
        entityManagerFactoryBean.setPackagesToScan("org.appname");
        entityManagerFactoryBean.setJpaVendorAdapter(jpaVendorAdapter());

        entityManagerFactoryBean.getJpaPropertyMap().put(org.hibernate.cfg.Environment.DIALECT, dialect);
        entityManagerFactoryBean.getJpaPropertyMap().put(org.hibernate.cfg.Environment.HBM2DDL_AUTO, hbm2ddlAuto);
        entityManagerFactoryBean.getJpaPropertyMap().put(org.hibernate.cfg.Environment.HBM2DDL_IMPORT_FILES, "/data/type_request.sql");

        entityManagerFactoryBean.getJpaPropertyMap().put("hibernate.cache.use_second_level_cache", "true");
        entityManagerFactoryBean.getJpaPropertyMap().put("hibernate.cache.use_query_cache", "true");
        entityManagerFactoryBean.getJpaPropertyMap().put("hibernate.cache.region.factory_class", "org.hibernate.cache.ehcache.EhCacheRegionFactory");
        entityManagerFactoryBean.getJpaPropertyMap().put("hibernate.cache.provider_class", "net.sf.ehcache.hibernate.EhCacheProvider");
        entityManagerFactoryBean.getJpaPropertyMap().put("hibernate.generate_statistics", "true");

        entityManagerFactoryBean.getJpaPropertyMap().put(org.hibernate.cfg.Environment.C3P0_MAX_SIZE, Integer.valueOf(maxSize));
        entityManagerFactoryBean.getJpaPropertyMap().put(org.hibernate.cfg.Environment.C3P0_MIN_SIZE, Integer.valueOf(minSize));
        entityManagerFactoryBean.getJpaPropertyMap().put(org.hibernate.cfg.Environment.C3P0_ACQUIRE_INCREMENT, Integer.valueOf(acquireIncrement));
        entityManagerFactoryBean.getJpaPropertyMap().put(org.hibernate.cfg.Environment.C3P0_IDLE_TEST_PERIOD, Integer.valueOf(idleTestPeriod));
        entityManagerFactoryBean.getJpaPropertyMap().put(org.hibernate.cfg.Environment.C3P0_TIMEOUT, Integer.valueOf(timeout));
        entityManagerFactoryBean.getJpaPropertyMap().put(org.hibernate.cfg.Environment.C3P0_MAX_STATEMENTS, Integer.valueOf(maxStatements));
        return entityManagerFactoryBean;
    }

    @Bean
    public JpaVendorAdapter jpaVendorAdapter() {
        HibernateJpaVendorAdapter hibernateJpaVendorAdapter = new HibernateJpaVendorAdapter();
        hibernateJpaVendorAdapter.setShowSql(true);
        hibernateJpaVendorAdapter.setGenerateDdl(true);
        hibernateJpaVendorAdapter.setDatabase(Database.ORACLE);                
        return hibernateJpaVendorAdapter;
    }

    @Bean
    public PlatformTransactionManager annotationDrivenTransactionManager() {
        JpaTransactionManager manager = new JpaTransactionManager();        
        return manager;
    }
}
我不太确定电线在哪里交叉。我的直觉是,要么根本没有加载JpaConfig,要么出于某种原因,它试图首先生成Repository/Dao类,而没有加载持久性。有人有什么想法吗?下面是更完整的堆栈跟踪:

2014-02-14 15:58:49.587 [localhost-startStop-1] ERROR o.s.w.servlet.DispatcherServlet - 

Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configureEntityManagerFactory' defined in class org.deloitte.cms.eua.config.JpaConfig: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build EntityManagerFactory
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973) ~[spring-context-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:750) ~[spring-context-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) ~[spring-context-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658) ~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624) ~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672) ~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543) ~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484) ~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) [spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at javax.servlet.GenericServlet.init(GenericServlet.java:160) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_51]
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_51]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [na:1.6.0_51]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [na:1.6.0_51]
    at java.lang.Thread.run(Thread.java:662) [na:1.6.0_51]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build EntityManagerFactory
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:924) ~[hibernate-entitymanager-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:899) ~[hibernate-entitymanager-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:76) ~[hibernate-entitymanager-4.2.5.Final.jar:4.2.5.Final]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:336) ~[spring-orm-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) ~[spring-orm-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1612) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    ... 29 common frames omitted
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.spi.CacheImplementor]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:186) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:264) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1790) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:96) ~[hibernate-entitymanager-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914) ~[hibernate-entitymanager-4.2.5.Final.jar:4.2.5.Final]
    ... 35 common frames omitted
Caused by: org.hibernate.cache.CacheException: net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
The source of the existing CacheManager is: DefaultConfigurationSource [ ehcache.xml or ehcache-failsafe.xml ]
    at org.hibernate.cache.ehcache.EhCacheRegionFactory.start(EhCacheRegionFactory.java:110) ~[hibernate-ehcache-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.internal.CacheImpl.<init>(CacheImpl.java:70) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:40) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:35) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    ... 41 common frames omitted
Caused by: net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
The source of the existing CacheManager is: DefaultConfigurationSource [ ehcache.xml or ehcache-failsafe.xml ]
    at net.sf.ehcache.CacheManager.assertNoCacheManagerExistsWithSameName(CacheManager.java:529) ~[ehcache-core-2.6.8.jar:na]
    at net.sf.ehcache.CacheManager.init(CacheManager.java:374) ~[ehcache-core-2.6.8.jar:na]
    at net.sf.ehcache.CacheManager.<init>(CacheManager.java:259) ~[ehcache-core-2.6.8.jar:na]
    at org.hibernate.cache.ehcache.EhCacheRegionFactory.start(EhCacheRegionFactory.java:83) ~[hibernate-ehcache-4.2.5.Final.jar:4.2.5.Final]
    ... 46 common frames omitted
2014-02-14 15:58:49.587[localhost-startStop-1]错误o.s.w.servlet.DispatcherServlet-
上下文初始化失败
org.springframework.beans.factory.BeanCreationException:创建在类org.deloitte.cms.eua.config.JpaConfig中定义的名为“configureEntityManagerFactory”的bean时出错:调用init方法失败;嵌套异常为javax.persistence.PersistenceException:[PersistenceUnit:default]无法生成EntityManagerFactory
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553)~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973)~[spring-context-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:750)~[spring-context-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)~[spring-context-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658)~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624)~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672)~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543)~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
在org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484)~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
位于org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
位于javax.servlet.GenericServlet.init(GenericServlet.java:160)[tomcat-embed-core-7.0.30.jar:7.0.30]
在org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)[tomcat-embed-core-7.0.30.jar:7.0.30]
在org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)[tomcat-embed-core-7.0.30.jar:7.0.30]
在org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)[tomcat-embed-core-7.0.30.jar:7.0.30]
在org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)[tomcat-embed-core-7.0.30.jar:7.0.30]
在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)[tomcat-embed-core-7.0.30.jar:7.0.30]
在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)[tomcat-embed-core-7.0.30.jar:7.0.30]
在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)[tomcat-embed-core-7.0.30.jar:7.0.30]
在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)[tomcat-embed-core-7.0.30.jar:7.0.30]
在java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[na:1.6.0\u 51]
在java.util.concurrent.FutureTask.run(FutureTask.java:138)[na:1.6.0_51]
位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)[na:1.6.051]
在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)[na:1.6.051]
在java.lang.Thread.run(Thread.java:662)[na:1.6.0_51]
原因:javax.persistence.Pe
2014-02-14 15:58:49.587 [localhost-startStop-1] ERROR o.s.w.servlet.DispatcherServlet - 

Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configureEntityManagerFactory' defined in class org.deloitte.cms.eua.config.JpaConfig: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build EntityManagerFactory
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973) ~[spring-context-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:750) ~[spring-context-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) ~[spring-context-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:658) ~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:624) ~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672) ~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:543) ~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:484) ~[spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) [spring-webmvc-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at javax.servlet.GenericServlet.init(GenericServlet.java:160) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) [tomcat-embed-core-7.0.30.jar:7.0.30]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_51]
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_51]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [na:1.6.0_51]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [na:1.6.0_51]
    at java.lang.Thread.run(Thread.java:662) [na:1.6.0_51]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build EntityManagerFactory
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:924) ~[hibernate-entitymanager-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:899) ~[hibernate-entitymanager-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:76) ~[hibernate-entitymanager-4.2.5.Final.jar:4.2.5.Final]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:336) ~[spring-orm-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) ~[spring-orm-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1612) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549) ~[spring-beans-4.0.1.BUILD-SNAPSHOT.jar:4.0.1.BUILD-SNAPSHOT]
    ... 29 common frames omitted
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.spi.CacheImplementor]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:186) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:150) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:131) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:264) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1790) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:96) ~[hibernate-entitymanager-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914) ~[hibernate-entitymanager-4.2.5.Final.jar:4.2.5.Final]
    ... 35 common frames omitted
Caused by: org.hibernate.cache.CacheException: net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
The source of the existing CacheManager is: DefaultConfigurationSource [ ehcache.xml or ehcache-failsafe.xml ]
    at org.hibernate.cache.ehcache.EhCacheRegionFactory.start(EhCacheRegionFactory.java:110) ~[hibernate-ehcache-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.internal.CacheImpl.<init>(CacheImpl.java:70) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:40) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:35) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:176) ~[hibernate-core-4.2.5.Final.jar:4.2.5.Final]
    ... 41 common frames omitted
Caused by: net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
The source of the existing CacheManager is: DefaultConfigurationSource [ ehcache.xml or ehcache-failsafe.xml ]
    at net.sf.ehcache.CacheManager.assertNoCacheManagerExistsWithSameName(CacheManager.java:529) ~[ehcache-core-2.6.8.jar:na]
    at net.sf.ehcache.CacheManager.init(CacheManager.java:374) ~[ehcache-core-2.6.8.jar:na]
    at net.sf.ehcache.CacheManager.<init>(CacheManager.java:259) ~[ehcache-core-2.6.8.jar:na]
    at org.hibernate.cache.ehcache.EhCacheRegionFactory.start(EhCacheRegionFactory.java:83) ~[hibernate-ehcache-4.2.5.Final.jar:4.2.5.Final]
    ... 46 common frames omitted