首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

tapestry5集成spring碰到一个实例不了的bean

2012-11-13 
tapestry5集成spring遇到一个实例不了的bean?????http://www.springframework.org/dtd/spring-beans.dtd

tapestry5集成spring遇到一个实例不了的bean?

    ????"http://www.springframework.org/dtd/spring-beans.dtd">??
  1. ??
  2. <beans>??
  3. ????<!--?Transction?Intercetor's?Template?-->??
  4. ????<bean?id="transactionIntercetorTemplate"?abstract="true">??
  5. ????????<property?name="transactionAttributes">??
  6. ????????????<props>??
  7. ????????????????<prop?key="get*">PROPAGATION_REQUIRED,readOnly</prop>??
  8. ????????????????<prop?key="is*">PROPAGATION_REQUIRED,readOnly</prop>??
  9. ????????????????<prop?key="check*">PROPAGATION_REQUIRED,readOnly</prop>??
  10. ????????????????<prop?key="insert*">PROPAGATION_REQUIRED,?-Exception</prop>??
  11. ????????????????<prop?key="update*">PROPAGATION_REQUIRED,?-Exception</prop>??
  12. ????????????????<prop?key="delete*">PROPAGATION_REQUIRED,?-Exception</prop>??
  13. ????????????????<prop?key="save*">PROPAGATION_REQUIRED,?-Exception</prop>??
  14. ????????????????<prop?key="*">PROPAGATION_REQUIRED,?-Exception</prop>??
  15. ????????????</props>??
  16. ????????</property>??
  17. ????</bean>??
  18. ??
  19. ????<!--?Hibernate?Transaction?Interceptor?Definition?-->??????? ??
  20. ????<bean?id="hibernateTransactionInterceptor"?class="org.springframework.transaction.interceptor.TransactionInterceptor"?parent="transactionIntercetorTemplate">??
  21. ????????<property?name="transactionManager">??
  22. ????????????<bean?id="hibernateTransactionManager"?class="org.springframework.orm.hibernate3.HibernateTransactionManager">??
  23. ????????????????<property?name="sessionFactory">??
  24. ????????????????????<ref?bean="sessionFactory"?/>??
  25. ????????????????</property>??
  26. ????????????</bean>??
  27. ????????</property>??
  28. ????</bean>??
  29. ??
  30. ????<!--?Jdbc?Transaction?Interceptor?Definition?-->??
  31. ????<bean?id="jdbcTransactionInterceptor"?class="org.springframework.transaction.interceptor.TransactionInterceptor"?parent="transactionIntercetorTemplate">??
  32. ????????<property?name="transactionManager">??
  33. ????????????<bean?id="jdbcTransactionManager"?class="org.springframework.jdbc.datasource.DataSourceTransactionManager">??
  34. ????????????????<property?name="dataSource">??
  35. ????????????????????<ref?bean="dataSource"?/>??
  36. ????????????????</property>??
  37. ????????????</bean>??
  38. ????????</property>??
  39. ????</bean>??
  40. ??
  41. ????<!--?Auto?Proxy?Creator?Definition?-->??
  42. ????<bean?id="autoProxyCreator"?class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">??
  43. ????????<property?name="interceptorNames">??
  44. ????????????<list>??
  45. ????????????????<idref?bean="hibernateTransactionInterceptor"?/>??
  46. ????????????????<idref?bean="jdbcTransactionInterceptor"?/>??
  47. ????????????</list>??
  48. ????????</property>??
  49. ?????? ??
  50. ????????<property?name="beanNames">??
  51. ????????????<list>??
  52. ????????????????<!--?Add?Service?name?to?here?for?proxy?begin?-->??
  53. ????????????????<idref?bean="userService"/>??
  54. ????????????????<!--?Add?Service?name?to?here?for?proxy?end?-->??
  55. ????????????</list>??
  56. ????????</property>??
  57. ????</bean>??
  58. ??
  59. ????<!--?hibernateDao?Template,?all?use?hibernate?transaction?manager?should?extends?it?-->??
  60. ????<bean?id="hibernateDaoTemplate"?abstract="true">??
  61. ????????<property?name="sessionFactory">??
  62. ????????????<ref?bean="sessionFactory"?/>??
  63. ????????</property>??
  64. ????</bean>??
  65. ??
  66. ????<!--?jdbcDao?Template,?all?use?jdbc?transaction?manager?should?extends?it?-->??
  67. ????<bean?id="jdbcDaoTemplate"?abstract="true">??
  68. ????????<property?name="dataSource">??
  69. ????????????<ref?bean="dataSource"?/>??
  70. ????????</property>??
  71. ????</bean>??
  72. </beans>??

报了以下错误,说不能创建这个bean.

4:15:09.250 ERROR! [main] org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:64) >14> Construction of service ServletApplicationInitializer failed: Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
java.lang.RuntimeException: Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
?at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:348)
?at org.apache.tapestry.ioc.internal.ModuleImpl.getModuleBuilder(ModuleImpl.java:273)
?at org.apache.tapestry.ioc.internal.ServiceResourcesImpl.getModuleBuilder(ServiceResourcesImpl.java:106)
?at org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:61)
?at org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
?at org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
?at org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
?at org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
?at org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
?at $ServletApplicationInitializer_1134ceb811c._delegate($ServletApplicationInitializer_1134ceb811c.java)
?at $ServletApplicationInitializer_1134ceb811c.initializeApplication($ServletApplicationInitializer_1134ceb811c.java)
?at org.apache.tapestry.TapestryFilter.init(TapestryFilter.java:86)
?at org.mortbay.jetty.servlet.FilterHolder.start(FilterHolder.java:71)
?at org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:310)
?at org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:509)
?at org.mortbay.util.Container.start(Container.java:72)
?at org.mortbay.http.HttpServer.doStart(HttpServer.java:708)
?at org.mortbay.util.Container.start(Container.java:72)
?at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282)
?at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104)
?at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75)
Caused by: org.springframework.beans.factory.BeanIsAbstractException: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
?at org.springframework.beans.factory.support.AbstractBeanFactory.checkMergedBeanDefinition(AbstractBeanFactory.java:767)
?at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:220)
?at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
?at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:537)
?at org.apache.tapestry.internal.spring.SpringModuleDef$1.getBean(SpringModuleDef.java:57)
?at org.apache.tapestry.internal.spring.SpringModuleDef$1.getServiceInterface(SpringModuleDef.java:78)
?at org.apache.tapestry.ioc.internal.ModuleImpl.findServiceIdsForInterface(ModuleImpl.java:148)
?at org.apache.tapestry.ioc.internal.RegistryImpl.findServiceIdsForInterface(RegistryImpl.java:470)
?at org.apache.tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:439)
?at org.apache.tapestry.ioc.services.TapestryIOCModule$2.provide(TapestryIOCModule.java:132)
?at $ObjectProvider_1134ceb8123.provide($ObjectProvider_1134ceb8123.java)
?at $ObjectProvider_1134ceb811d.provide($ObjectProvider_1134ceb811d.java)
?at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
?at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
?at org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
?at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
?at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
?at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:327)
?... 20 more

14:15:09.265 INFO?? [main] org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:152) >10> Initializing filter 'OpenSessionInViewFilter'
14:15:09.296 INFO?? [main] org.springframework.web.filter.GenericFilterBean.init(GenericFilterBean.java:177) >10> Filter 'OpenSessionInViewFilter' configured successfully
org.mortbay.util.MultiException[java.lang.RuntimeException: Exception constructing service 'ServletApplicationInitializer': Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract]
?at org.mortbay.http.HttpServer.doStart(HttpServer.java:686)
?at org.mortbay.util.Container.start(Container.java:72)
?at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282)
?at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104)
?at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75)
java.lang.RuntimeException: Exception constructing service 'ServletApplicationInitializer': Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
?at org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:69)
?at $ServletApplicationInitializer_1134ceb811c._delegate($ServletApplicationInitializer_1134ceb811c.java)
?at $ServletApplicationInitializer_1134ceb811c.initializeApplication($ServletApplicationInitializer_1134ceb811c.java)
?at org.apache.tapestry.TapestryFilter.init(TapestryFilter.java:86)
?at org.mortbay.jetty.servlet.FilterHolder.start(FilterHolder.java:71)
?at org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:310)
?at org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:509)
?at org.mortbay.util.Container.start(Container.java:72)
?at org.mortbay.http.HttpServer.doStart(HttpServer.java:708)
?at org.mortbay.util.Container.start(Container.java:72)
?at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282)
?at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104)
?at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75)
Caused by: java.lang.RuntimeException: Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
?at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:348)
?at org.apache.tapestry.ioc.internal.ModuleImpl.getModuleBuilder(ModuleImpl.java:273)
?at org.apache.tapestry.ioc.internal.ServiceResourcesImpl.getModuleBuilder(ServiceResourcesImpl.java:106)
?at org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:61)
?at org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
?at org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
?at org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
?at org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
?at org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
?... 12 more
Caused by: org.springframework.beans.factory.BeanIsAbstractException: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
?at org.springframework.beans.factory.support.AbstractBeanFactory.checkMergedBeanDefinition(AbstractBeanFactory.java:767)
?at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:220)
?at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
?at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:537)
?at org.apache.tapestry.internal.spring.SpringModuleDef$1.getBean(SpringModuleDef.java:57)
?at org.apache.tapestry.internal.spring.SpringModuleDef$1.getServiceInterface(SpringModuleDef.java:78)
?at org.apache.tapestry.ioc.internal.ModuleImpl.findServiceIdsForInterface(ModuleImpl.java:148)
?at org.apache.tapestry.ioc.internal.RegistryImpl.findServiceIdsForInterface(RegistryImpl.java:470)
?at org.apache.tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:439)
?at org.apache.tapestry.ioc.services.TapestryIOCModule$2.provide(TapestryIOCModule.java:132)
?at $ObjectProvider_1134ceb8123.provide($ObjectProvider_1134ceb8123.java)
?at $ObjectProvider_1134ceb811d.provide($ObjectProvider_1134ceb811d.java)
?at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
?at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
?at org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
?at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
?at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
?at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:327)
?... 20 more
java.lang.RuntimeException: Exception constructing service 'ServletApplicationInitializer': Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
?at org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:69)
?at $ServletApplicationInitializer_1134ceb811c._delegate($ServletApplicationInitializer_1134ceb811c.java)
?at $ServletApplicationInitializer_1134ceb811c.initializeApplication($ServletApplicationInitializer_1134ceb811c.java)
?at org.apache.tapestry.TapestryFilter.init(TapestryFilter.java:86)
?at org.mortbay.jetty.servlet.FilterHolder.start(FilterHolder.java:71)
?at org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:310)
?at org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:509)
?at org.mortbay.util.Container.start(Container.java:72)
?at org.mortbay.http.HttpServer.doStart(HttpServer.java:708)
?at org.mortbay.util.Container.start(Container.java:72)
?at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282)
?at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104)
?at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75)
Caused by: java.lang.RuntimeException: Unable to instantiate class org.apache.tapestry.services.TapestryModule as a module builder: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
?at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:348)
?at org.apache.tapestry.ioc.internal.ModuleImpl.getModuleBuilder(ModuleImpl.java:273)
?at org.apache.tapestry.ioc.internal.ServiceResourcesImpl.getModuleBuilder(ServiceResourcesImpl.java:106)
?at org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:61)
?at org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
?at org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
?at org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
?at org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
?at org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
?... 12 more
Caused by: org.springframework.beans.factory.BeanIsAbstractException: Error creating bean with name 'transactionIntercetorTemplate': Bean definition is abstract
?at org.springframework.beans.factory.support.AbstractBeanFactory.checkMergedBeanDefinition(AbstractBeanFactory.java:767)
?at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:220)
?at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
?at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:537)
?at org.apache.tapestry.internal.spring.SpringModuleDef$1.getBean(SpringModuleDef.java:57)
?at org.apache.tapestry.internal.spring.SpringModuleDef$1.getServiceInterface(SpringModuleDef.java:78)
?at org.apache.tapestry.ioc.internal.ModuleImpl.findServiceIdsForInterface(ModuleImpl.java:148)
?at org.apache.tapestry.ioc.internal.RegistryImpl.findServiceIdsForInterface(RegistryImpl.java:470)
?at org.apache.tapestry.ioc.internal.RegistryImpl.getService(RegistryImpl.java:439)
?at org.apache.tapestry.ioc.services.TapestryIOCModule$2.provide(TapestryIOCModule.java:132)
?at $ObjectProvider_1134ceb8123.provide($ObjectProvider_1134ceb8123.java)
?at $ObjectProvider_1134ceb811d.provide($ObjectProvider_1134ceb811d.java)
?at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
?at org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
?at org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
?at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
?at org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
?at org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:327)
?... 20 more

我想尽量重复利用bean,结果tapestry5报出这样的错误.如果不用的abstract=true的话,用另一种方式配置是OK的.

热点排行