浏览 2256 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-08-15
webservice启动配置如下 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <jaxws:endpoint id="sqlExecuteService" implementor="com.unicom.uniformdata.SqlExecuteServiceImpl" address="/DesServer"> </jaxws:endpoint> </beans> com.unicom.uniformdata.SqlExecuteServiceImpl类实现如下 @javax.jws.WebService( serviceName = "SqlExecuteServiceService", portName = "SqlExecuteServicePort", targetNamespace = "http://uniformdata.unicom.com", endpointInterface = "com.unicom.uniformdata.SqlExecuteService") public class SqlExecuteServiceImpl implements SqlExecuteService { private DaoHelper daoHelper = null; public SqlExecuteServiceImpl() { System.out.println("实例化webservice实现类"); this.daoHelper = GlobalVariable.getInstance().getDaoHelper(); } } public DaoHelper getDaoHelper() { return this.daoHelper == null ? (this.daoHelper = (DaoHelper) SpringUtils.getBean("daoHelper")): this.daoHelper; } 其中daoHelper类的配置是通过<bean>配置的,是数据库操作对象。但在Tomcat启动时,是先实例化SqlExecuteServiceImpl,而不是daoHelper,导致SqlExecuteServiceImpl实例化失败,webservice服务启动失败。这个问题怎么解决。对cxf框架也不是很熟,希望大家能帮助解决一下,谢谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-08-15
那你不要在,构造函数里面访问daohelper。
在服务访问的调用里面去访问就可以了吧。 |
|
返回顶楼 | |
发表时间:2011-08-15
毕竟红尘 写道 那你不要在,构造函数里面访问daohelper。
在服务访问的调用里面去访问就可以了吧。 daoHelper是我在服务接口实现类里需要用的对象,他是服务实现类的一部分,就是在webservice服务发布能之后于spring初始化就可以,但不知如何处理这个服务发布 |
|
返回顶楼 | |
发表时间:2011-08-15
最后修改:2011-08-15
该问题已经得到解决,非常感谢cwx714的指导
http://www.iteye.com/problems/70019 将构造方法修改为静态块就OK了 private static DaoHelper daoHelper = null; static { daoHelper = GlobalVariable.getInstance().getDaoHelper(); } |
|
返回顶楼 | |