Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Hibernate EHCache loadAndCorrectConfiguration NPE_Hibernate_Spring_Ehcache - Fatal编程技术网

Hibernate EHCache loadAndCorrectConfiguration NPE

Hibernate EHCache loadAndCorrectConfiguration NPE,hibernate,spring,ehcache,Hibernate,Spring,Ehcache,我尝试将ehcache与hibernate/spring结合使用。我的尝试是投掷NPE 我被困在这件事上了。而且,谷歌搜索也无济于事 Caused by: java.lang.NullPointerException at net.sf.ehcache.hibernate.HibernateUtil.loadAndCorrectConfiguration(HibernateUtil.java:48) at net.sf.ehcache.hibernate.EhCacheRegionFacto

我尝试将ehcache与hibernate/spring结合使用。我的尝试是投掷NPE

我被困在这件事上了。而且,谷歌搜索也无济于事

Caused by: java.lang.NullPointerException
 at net.sf.ehcache.hibernate.HibernateUtil.loadAndCorrectConfiguration(HibernateUtil.java:48)
 at net.sf.ehcache.hibernate.EhCacheRegionFactory.start(EhCacheRegionFactory.java:79)
 at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:236)
 at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1842)
 at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:855)
 at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:774)
 at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
 ... 99 more
原因:java.lang.NullPointerException
在net.sf.ehcache.hibernate.HibernateUtil.loadAndCorrectConfiguration(HibernateUtil.java:48)中
位于net.sf.ehcache.hibernate.EhCacheRegionFactory.start(EhCacheRegionFactory.java:79)
位于org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:236)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1842)
位于org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:855)
位于org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:774)
位于org.springframework.orm.hibernate3.AbstractSessionFactoryBean.AfterPropertieSet(AbstractSessionFactoryBean.java:211)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
... 99多
以下是我的spring配置:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="myDataSource"/>
    <property name="annotatedClasses">
        <list>
            <value>com.agriserver.domain.AaFriend</value>
        </list>
    </property>
<property name="hibernateProperties">
    <props>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
        <prop key="hibernate.show_sql">true</prop>

        <!-- Enable EHCache -->
        <prop key="hibernate.cache.use_second_level_cache">true</prop>
        <prop key="hibernate.cache.use_query_cache">false</prop>
        <prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</prop>
        <prop key="net.sf.ehcache.configurationResourceName">/ehcache.xml</prop>
    </props>
</property>

com.agriserver.domain.AaFriend
org.hibernate.dialogue.mysqldialogue
真的
真的
假的
net.sf.ehcache.hibernate.EhCacheRegionFactory
/ehcache.xml

以下是ehcache.xml文件:

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

<ehcache>
    <diskStore path="java.io.tmpdir"/>

    <cache
            name="com.agriserver.domain.AaFriend"
            maxElementsInMemory="10"
            maxElementsOnDisk="1000"
            eternal="false"
            timeToIdleSeconds="300"
            timeToLiveSeconds="600"
            overflowToDisk="true"
            />

    <cache
            name="org.hibernate.cache.StandardQueryCache"
            maxElementsInMemory="1"
            eternal="false"
            timeToLiveSeconds="120"
            overflowToDisk="false"/>
</ehcache>

摘录pom.xml以显示jar文件的版本:

<properties>
    <cxf.version>2.2.7</cxf.version>
    <spring.version>3.0.4.RELEASE</spring.version>
    <hibernate.version>3.6.0.Final</hibernate.version>
    <hibernate.annotations.version>3.3.0.ga</hibernate.annotations.version>
    <facebook.version>3.0.2</facebook.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-taglibs</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springmodules</groupId>
        <artifactId>spring-modules-validation</artifactId>
        <version>0.8</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring</artifactId>
                <!--<version>2.03</version>-->
            </exclusion>
        </exclusions>
    </dependency>


    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.4</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}</version>
        <exclusions>
            <exclusion>
                <groupId>javax.transaction</groupId>
                <artifactId>jta</artifactId>
            </exclusion>
            <exclusion>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache-core</artifactId>
        <version>2.2.0</version>
        <!--<type>pom</type>-->
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.6.1</version>
    </dependency>
    <dependency>
        <groupId>javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.8.0.GA</version>
    </dependency>
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2</version>
    </dependency>

2.2.7
3.0.4.1发布
3.6.0.1最终版本
3.3.0.ga
3.0.2
org.springframework
弹簧芯
${spring.version}
org.springframework
春豆
${spring.version}
org.springframework
spring上下文
${spring.version}
org.springframework
spring上下文支持
${spring.version}
org.springframework
春季aop
${spring.version}
org.springframework
SpringWebMVC
${spring.version}
org.springframework
春季甲虫
${spring.version}
org.springframework.security
spring安全网
${spring.version}
org.springframework.security
spring安全配置
${spring.version}
org.springframework.security
spring安全标记库
${spring.version}
org.springmodules
spring模块验证
0.8
org.springframework
春天
javax.servlet
servlet api
2.4
假如
javax.servlet.jsp
jsp api
2
假如
org.hibernate
冬眠核心
${hibernate.version}
javax.transaction
jta
net.sf.ehcache
ehcache
net.sf.ehcache
ehcache内核
2.2.0
org.slf4j
slf4j-log4j12
1.6.1
javassist
javassist
3.8.0.GA
cglib
cglib
2.2

有什么提示吗?

通过将以下内容添加到ehcache.xml中,问题似乎消失了。奇怪,因为我从ehcache网站的入门部分复制并粘贴了我的ehcache.xml。而且,它没有这个部分:

<defaultCache
        maxElementsInMemory="10000"
        eternal="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        overflowToDisk="true"
        maxElementsOnDisk="10000000"
        diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU"
        />


Spring、Hibernate和EhCache的哪个版本?添加了pom.xml的摘录,以显示所有dependencies.xml的版本。在我的宠物项目(没有Spring)中,EHCache抱怨我的EHCache.xml没有defaultCache,但它没有因NPE而失败。它不应该这样。如果你能制造一个Jira问题那就太好了。我也遇到了同样的情况。。首次在hibernate中设置ehcache,使用了网站中的示例ehcache.xml,并获得了实例化会话的NullPointerException。将元素放入ehcache.xml中修复了它。关于这个问题,你打开Jira了吗?顺便说一句,我刚刚发现他们在哪里显示了ehcache-failsafe.xml的内容,其中包含diskStore和defaultCache的最小配置。我想应该在为自己的应用程序提供的任何ehcache.xml中包含类似的内容。