论坛首页 Java版 企业应用

Compass配置说明及注意事项3

浏览 469 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2007-11-21

 

上面 package对应了POJO的包名,class对应了POJO类名,contractPOJO中一些较为Base, property对应了POJO的属性。上面看到的像ANT中的${*}就是*.cmd.xml 中所定义的common meta data。通常来说*.cmd.xml中的aliasPOJOClass进行映射。Meta data Class中的property进行映射。更多的映射的细节在此不多讲。可以参考 Compass的中自带的Sample Petclinic来理解。

 

    第三类:*.cfg.xml文件

    Compass*.cfg.xml文件就和Hibernate*.cfg.xml有些类似了。下面是一个*.cfg.xml文件的内容:

<compass-core-configuration>

    <compass>    

        <setting name="compass.engine.connection">target/index</setting>       

        <meta-data resource="org/compass/sample/library/library.cmd.xml" />    

        <mappings>
               <class name="test.Author" />
       </mappings>

    </compass>

</compass-core-configuration>

上面

<setting name="compass.engine.connection">target/index</setting>    指定了索引文件存放的路径。

<meta-data resource="org/compass/sample/library/library.cmd.xml" />  指定了*.cmd.xml文件存放的路径。

<mappings><class name="test.Author" /></mappings>是对compassmapping文件进行指定。Test.Author对应的文件是test/Author.cpm.xml.

<compass>是对compass中的compass类进行的一些参数设置,这个compass是一个重量级的类,类似于HibernateSessionFactory.

 

HibernateSpring进行整合后,Hibernate就不需要*.cfg.xml这个文件了,借而代之的是用Spring的配置文件来进行配置。同样,CompassSpring进行整合后,*.cfg.xml也可以不需要了。比如如下的Spring配置。

<!-- COMPASS START -->

    <bean id="compass" class="org.compass.spring.LocalCompassBean">

        <property name="resourceLocations">

            <list>

                <value>classpath:org/compass/sample/petclinic/petclinic.cmd.xml</value>

                <value>classpath:petclinic.cpm.xml</value>

            </list>

        </property>

        <property name="compassSettings">

            <props>

                <prop key="compass.engine.connection">file://${user.home}/compass/petclinic</prop>

                <prop key="compass.transaction.factory">org.compass.spring.transaction.SpringSyncTransactionFactory</prop>

            </props>

        </property>

        <property name="transactionManager">

            <ref local="transactionManager" />

        </property>

    </bean>

     <bean id="hibernateGpsDevice" class="org.compass.spring.device.hibernate.SpringHibernate3GpsDevice">

       <property name="name"><value>hibernateDevice</value></property>

       <property name="sessionFactory"><ref local="sessionFactory" /></property>

     </bean>

     <bean id="compassGps" class="org.compass.gps.impl.SingleCompassGps" init-method="start" destroy-method="stop">

       <property name="compass"><ref bean="compass" /></property>

       <property name="gpsDevices">

         <listspan声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。

   
论坛首页 Java版 企业应用

跳转论坛:
快速回复 引用上一条消息 (Alt+S)