<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>星星@</title>
    <description></description>
    <link>http://mao1602.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>求教一个compass 中存储索引的问题</title>
        <author>星星@</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://mao1602.javaeye.com">星星@</a>&nbsp;
          链接：<a href="http://mao1602.javaeye.com/blog/191330" style="color:red;">http://mao1602.javaeye.com/blog/191330</a>&nbsp;
          发表时间: 2008年05月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          我是一个compass的初学者，做了一个compass的存储索引的例子，但是运行时却总是报下面的错,不知是什么原因：<br />2008-05-09 10:14:05,140 ERROR [org.compass.core.lucene.engine.transaction.ReadCommittedTransaction] - &lt;Failed to read index reader properties><br />java.lang.NoSuchFieldException: directoryOwner<br />	at java.lang.Class.getDeclaredField(Unknown Source)<br />	at org.compass.core.util.FieldInvoker.prepare(FieldInvoker.java:46)<br />	at org.compass.core.lucene.engine.transaction.ReadCommittedTransaction.&lt;clinit>(ReadCommittedTransaction.java:226)<br />	at org.compass.core.lucene.engine.LuceneSearchEngine.begin(LuceneSearchEngine.java:205)<br />	at org.compass.spring.transaction.SpringSyncTransaction.begin(SpringSyncTransaction.java:68)<br />	at org.compass.spring.transaction.SpringSyncTransactionFactory.doBeginTransaction(SpringSyncTransactionFactory.java:72)<br />	at org.compass.core.transaction.AbstractTransactionFactory.beginTransaction(AbstractTransactionFactory.java:74)<br />	at org.compass.core.impl.DefaultCompassSession.beginTransaction(DefaultCompassSession.java:155)<br />	at org.compass.core.CompassTemplate.execute(CompassTemplate.java:133)<br />	at org.compass.core.CompassTemplate.execute(CompassTemplate.java:117)<br />	at org.compass.core.impl.DefaultCompass$TransactionalSearchEngineIndexManager.verifyIndex(DefaultCompass.java:291)<br />	at org.compass.core.lucene.engine.manager.ScheduledLuceneSearchEngineIndexManager.verifyIndex(ScheduledLuceneSearchEngineIndexManager.java:98)<br />	at org.compass.core.impl.DefaultCompass.&lt;init>(DefaultCompass.java:147)<br />	at org.compass.core.impl.DefaultCompass.&lt;init>(DefaultCompass.java:102)<br />	at org.compass.core.impl.DefaultCompass.&lt;init>(DefaultCompass.java:95)<br />	at org.compass.core.config.CompassConfiguration.buildCompass(CompassConfiguration.java:191)<br />	at org.compass.spring.LocalCompassBean.newCompass(LocalCompassBean.java:332)<br />	at org.compass.spring.LocalCompassBean.afterPropertiesSet(LocalCompassBean.java:322)<br />	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)<br />	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)<br />	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)<br />	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)<br />	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)<br />	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)<br />	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)<br />	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:246)<br />	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:128)<br />	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:955)<br />	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)<br />	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)<br />	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)<br />	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)<br />	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)<br />	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)<br />	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:246)<br />	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:128)<br />	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:955)<br />	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)<br />	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)<br />	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)<br />	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)<br />	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)<br />	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)<br />	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:290)<br />	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)<br />	at org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init>(ClassPathXmlApplicationContext.java:92)<br />	at org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init>(ClassPathXmlApplicationContext.java:77)<br />	at org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init>(ClassPathXmlApplicationContext.java:68)<br />	at test.CompassTest.&lt;clinit>(CompassTest.java:30)<br />	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br />	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)<br />	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)<br />	at java.lang.reflect.Constructor.newInstance(Unknown Source)<br />	at junit.framework.TestSuite.createTest(TestSuite.java:131)<br />	at junit.framework.TestSuite.addTestMethod(TestSuite.java:114)<br />	at junit.framework.TestSuite.&lt;init>(TestSuite.java:75)<br />以下是配置文件：<br />&lt;bean id="sessionFactory"<br />		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><br />		&lt;property name="dataSource"><br />			&lt;ref local="dataSource" /><br />		&lt;/property><br />		&lt;property name="hibernateProperties"><br />			&lt;props><br />				&lt;prop key="dialect"><br />					org.hibernate.dialect.MySQLDialect<br />				&lt;/prop><br />				&lt;prop key="show_sql">true&lt;/prop><br />			&lt;/props><br />		&lt;/property><br />		&lt;property name="mappingDirectoryLocations"><br />            &lt;list><br />                &lt;value>model&lt;/value><br />            &lt;/list><br />        &lt;/property><br />	&lt;/bean><br /><br />	<br /><br />	&lt;bean id="hibernateTemplate"<br />		class="org.springframework.orm.hibernate3.HibernateTemplate"><br />		&lt;property name="sessionFactory"><br />			&lt;ref local="sessionFactory" /><br />		&lt;/property><br />	&lt;/bean><br /><br />	&lt;bean id="articleDAO" class="dao.ArticleDAO"><br />		&lt;property name="hibernateTemplate"><br />			&lt;ref local="hibernateTemplate" /><br />		&lt;/property><br />	&lt;/bean><br /><br />	&lt;bean id="authorDAO" class="dao.AuthorDAO"><br />		&lt;property name="hibernateTemplate"><br />			&lt;ref local="hibernateTemplate" /><br />		&lt;/property><br />	&lt;/bean><br /><br />	&lt;bean id="transactionManager"<br />		class="org.springframework.orm.hibernate3.HibernateTransactionManager"><br />		&lt;property name="sessionFactory"><br />			&lt;ref local="sessionFactory" /><br />		&lt;/property><br />	&lt;/bean><br /><br />	&lt;bean id="compassConfiguration"<br />		class="org.compass.core.config.CompassConfiguration" /><br />		<br />	&lt;bean id="annotationConfiguration"<br />        class="org.compass.annotations.config.CompassAnnotationsConfiguration"><br />    &lt;/bean><br /><br />	&lt;bean id="compass" class="org.compass.spring.LocalCompassBean"><br />		&lt;!-- 这里配置只用作建立索引的类 --><br />		&lt;property name="classMappings"><br />            &lt;list><br />                &lt;value>com.mobilesoft.esales.model.Article&lt;/value><br />            &lt;/list><br />        &lt;/property><br />		&lt;property name="compassConfiguration"<br />			ref="annotationConfiguration" /><br />		&lt;property name="compassSettings"><br />			&lt;props><br />				&lt;prop key="compass.engine.connection">file:///D:/compass&lt;/prop><br />				&lt;prop key="compass.transaction.factory"><br />					org.compass.spring.transaction.SpringSyncTransactionFactory<br />				&lt;/prop><br />			&lt;/props><br />		&lt;/property><br />		&lt;property name="transactionManager" ref="transactionManager" /><br />	&lt;/bean><br /><br />	&lt;bean id="compassTemplate"<br />		class="org.compass.core.CompassTemplate"><br />		&lt;property name="compass"><br />			&lt;ref local="compass" /><br />		&lt;/property><br />	&lt;/bean><br /><br />	&lt;bean id="hibernateGpsDevice"<br />		class="org.compass.spring.device.hibernate.SpringHibernate3GpsDevice"><br />		&lt;property name="name"><br />			&lt;value>hibernateDevice&lt;/value><br />		&lt;/property><br />		&lt;property name="sessionFactory" ref="sessionFactory" /><br />	&lt;/bean><br /><br />	&lt;bean id="compassGps" class="org.compass.gps.impl.SingleCompassGps"<br />		init-method="start" destroy-method="stop"><br />		&lt;property name="compass" ref="compass" /><br />		&lt;property name="gpsDevices"><br />			&lt;list><br />				&lt;ref local="hibernateGpsDevice" /><br />			&lt;/list><br />		&lt;/property><br />	&lt;/bean><br />	<br />	&lt;!-- 自动随Spring ApplicationContext启动而重建索引  sprindside 中的--> <br />	&lt;bean id="compassIndexBuilder" class="compass.CompassIndexBuilder"<br />		lazy-init="false"><br />		&lt;property name="compassGps" ref="compassGps" /><br />		&lt;property name="buildIndex" value="true" /><br />		&lt;property name="lazyTime" value="10" /><br />	&lt;/bean>
          <br/>
          <span style="color:red;">
            <a href="http://mao1602.javaeye.com/blog/191330#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/115' target='_blank'><span style="color:red;font-weight:bold;">JavaEye图灵杯第2届问答大赛开始了！8月4日至8月17日，奖品丰厚！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 09 May 2008 10:26:37 +0800</pubDate>
        <link>http://mao1602.javaeye.com/blog/191330</link>
        <guid>http://mao1602.javaeye.com/blog/191330</guid>
      </item>
  </channel>
</rss>