最近要开发一个酒店房间预订的webservice,涉及到用cxf集成spring和hibernate。但无论试了用什么版本的搭配,它们始终不兼容,wsdl文件根本无法发布到tomcat中,总是抛出一堆莫名其妙的异常。后来尝试用其它ORM框架如(ibatis)集成,但也是没有解决这个不兼容问题。最恶心的是,取消了spring对hibernate的集成,改为直接通过hibernate的建工厂、获取会话和操作数据库,这时wsdl文件终于顺利发布了,而且客户端的数据也能正确发送到webservice的服务器,但这时hibernate建工厂的时候就出问题了,老抛异常,花了整整2天时间还没有搞定。。。
后来突然想到,ejb3.0也能发布webservice,而且它发布webservice的过程也十分简单,几个注解就完事,又具备持久化数据的功能,而且也是一个IoC容器,一个框架兼有cxf、spring和hibernate的优点,所以就尝试使用ejb3.0+jboss做开发。
试验证明,ejb3.0对于webservice和数据库持久化的集成是几乎完美的,也解决了cxf、spring和hibernate之间不兼容的问题。在客户端通过cxf获取服务的接口没有出现任何问题,客户端正常访问到webservice服务端的数据库。
后来突然想到,ejb3.0也能发布webservice,而且它发布webservice的过程也十分简单,几个注解就完事,又具备持久化数据的功能,而且也是一个IoC容器,一个框架兼有cxf、spring和hibernate的优点,所以就尝试使用ejb3.0+jboss做开发。
试验证明,ejb3.0对于webservice和数据库持久化的集成是几乎完美的,也解决了cxf、spring和hibernate之间不兼容的问题。在客户端通过cxf获取服务的接口没有出现任何问题,客户端正常访问到webservice服务端的数据库。