有没有人使用Tapestry,Hibernate和Spring为jax-ws Web服务成功创建了一个项目?

时间:2009-06-11 08:32:41

标签: hibernate spring jax-ws tapestry

我有一个使用这些技术的项目,我遇到了很多问题。第一个是这个错误: -

org.apache.tapestry5.ioc.internal.util.TapestryException:异常构造服务'ValueEncoderSource':错误调用服务构建器方法org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,InvalidationEventHub)(在TapestryModule.java) :1910)(对于服务'ValueEncoderSource'):调用服务贡献方法时出错org.apache.tapestry5.hibernate.HibernateModule.contributeValueEncoderSource(MappedConfiguration,boolean,HibernateSessionSource,Session,TypeCoercer,PropertyAccess,LoggerSource):异常构造服务'HibernateSessionSource':调用服务构建器方法时出错org.apache.tapestry5.hibernate.HibernateCoreModule.buildHibernateSessionSource(Logger,List,RegistryShutdownHub)(在HibernateCoreModule.java:123)(对于服务'HibernateSessionSource'):org.hibernate.validator.event.ValidateEventListener不能强制转换为org.hibernate.event.PreInsertEventListener [在classpath:org / apache / tapestry5 / corelib / components / ExceptionD isplay.tml,第3行]

这是使用最新的hibernate注释(版本3.4.0 GA)。在Maven pom.xml中,如果我将org.hibernate依赖项更改为: -

      org.hibernate作为       冬眠的注解       3.2.1.ga  

错误消失了,但是我们从新版本的注释中丢失了错误修复。有没有人知道这方面的方法?

3 个答案:

答案 0 :(得分:1)

您是否有机会部署到自带Hibernate库的应用程序服务器,例如JBoss?在这种情况下,您可能会混合不兼容的Hibernate Core和Hibernate Annotations版本。

尝试删除应用程序服务器附带的Hibernate JAR,看看它是否有效。

答案 1 :(得分:1)

是的,我使用所有这些技术构建了一个Web应用程序。 我不使用tapestry-hibernate模块,只是使用tapestry-spring,让Spring处理所有数据库/ hibernate /事务。

你的问题,特别是你为它描述的修复,听起来真的像是一个库兼容性问题。您使用的是Tapestry的哪个版本?

对于tapestry-hibernate的5.1版本,它说

  

编译此库   Hibernate的版本3.3.1.GA(和   版本3.4.0.GA   hibernate-annotations),但应该   使用更新的版本。

在Tapestry网站上

,所以你应该没问题。

答案 2 :(得分:0)

我使用过spring,hibernate和CXF。 CXF用于将我的接口服务转换为Web服务。比我看到的任何其他Web服务框架更容易使用。