浏览 592 次
|
该帖已经被评为新手帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-11-20
Spring2.0
Compass1.2 Hibernate3 数据库为sqlserver2000 在不加Compass的时候,运行正常,在配置Compass的时候出现如下错误. [@APPNAME@] INFO [Thread-1] [/shangjia].log(645) | Initializing Spring root WebApplicationContext [@APPNAME@] INFO [Thread-1] CompassConfigurationFactory.newConfiguration(53) | Using configuration [org.compass.annotations.config.CompassAnnotationsConfiguration] [@APPNAME@] INFO [Thread-1] CompassConfiguration.addInputStream(432) | Mapping InputStream [class path resource [shangjia.cmd.xml]] [@APPNAME@] INFO [Thread-1] CompassConfiguration.addInputStream(432) | Mapping InputStream [class path resource [shangjia.cpm.xml]] [@APPNAME@] INFO [Thread-1] ScheduledLuceneSearchEngineIndexManager.start(61) | Starting scheduled index manager with period [60000ms] daemon [true] [@APPNAME@] INFO [Thread-1] ScheduledLuceneSearchEngineOptimizer.start(61) | Starting scheduled optimizer [class org.compass.core.impl.DefaultCompass$TransactionalSearchEngineOptimizer] with period [10000ms] daemon [true] [@APPNAME@] INFO [Thread-1] DefaultCompass.close(190) | Closing Compass [compass] [@APPNAME@] INFO [Thread-1] ScheduledLuceneSearchEngineOptimizer.stop(75) | Stopping scheduled optimizer [class org.compass.core.impl.DefaultCompass$TransactionalSearchEngineOptimizer] [@APPNAME@] INFO [Thread-1] ScheduledLuceneSearchEngineIndexManager.stop(75) | Stopping scheduled index manager [@APPNAME@] INFO [Thread-1] DefaultCompass.close(200) | Closed Compass [compass] [@APPNAME@] ERROR [Thread-1] ContextLoader.initWebApplicationContext(203) | Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'compassGps' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'gpsDevices' threw exception; nested exception is java.lang.IllegalArgumentException: Must specify a name for a gps device Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'gpsDevices' threw exception; nested exception is java.lang.IllegalArgumentException: Must specify a name for a gps device Caused by: java.lang.IllegalArgumentException: Must specify a name for a gps device at org.compass.gps.impl.AbstractCompassGps.checkDeviceValidity(AbstractCompassGps.java:66) at org.compass.gps.impl.AbstractCompassGps.setGpsDevices(AbstractCompassGps.java:58) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:821) at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645) Spring 的配置文件如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans default-autowire="autodetect"> <!-- JNDI DataSource for J2EE environments --> <!-- Choose the dialect that matches your "dataSource" definition --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>net.sourceforge.jtds.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:jtds:sqlserver://127.0.0.1:1433/shangjia</value> </property> <property name="username"> <value>sa</value> </property> <property name="password"> <value></value> </property> </bean> <!-- Hibernate SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"><ref local="dataSource"/></property> <property name="mappingResources"> <list> <value>com/hengshui/shangjia/model/QyType.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.jdbc.fetch_size">50</prop> <prop key="hibernate.jdbc.batch_size">25</prop> </props> </property> </bean> <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"><ref local="sessionFactory"/></property> </bean> <!-- COMPASS START --> <bean id="compass" class="org.compass.spring.LocalCompassBean"> <property name="resourceLocations"> <list> <value>classpath:shangjia.cmd.xml</value> <!-- 这里是compass所需要的两个关于数据项的配置文件 --> <value>classpath:shangjia.cpm.xml</value> </list> </property> <property name="compassSettings"> <props> <prop key="compass.engine.connection">file://d:/target</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="sessionFactory"/> </bean> <bean id="compassGps" class="org.compass.gps.impl.SingleCompassGps" init-method="start" destroy-method="stop"> <property name="compass" ref="compass"/> <property name="gpsDevices"> <list> <ref local="hibernateGpsDevice"/> </list> </property> </bean> <!-- COMPASS END --> <!-- add your spring beans here --> 省略。。。。。。 </beans> 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-01-05
我也出现这个问题,请问楼主解决这个问题了没有?给我点提示
|
|
| 返回顶楼 | |



