apache - 在 Apache CXF 构建的 Webservice 中运行的后台线程

标签 apache web-services tomcat cxf

我是网络服务的新手,我有一些问题,但我希望通过提问得到更清楚的了解。

我使用 Apache CXF 创建了一个简单的 Web 服务,它可以正常工作。 我在启动时构建一些对象,例如数据库连接或...例如一个新线程。

我想要以下场景: - 所有请求都应该只访问 web 服务的已发布方法。 -所有方法都必须访问正在运行的后台启动线程的变量。

因此线程将在后台运行,发布的方法将访问存储在……也许是静态变量中的结果。

目前我使用的是TomcatServer7

它的方法发布的类看起来像这样:

public class OperatorClass {


        public int add(int a, int b){
            return a+b;
        }

        public int OneArgument(int a){
            return a+45;
        }

}

如何实现这个以及在哪里编写启动线程类?也许一个示例代码或一个链接来查看它是如何完成的将非常有用。

感谢

最佳答案

如果您将 Spring 与 CXF 一起使用,您可以创建一个 bean 并实现 InitializingBean界面,然后在afterPropertiesSet()您可以根据需要启动线程的方法。 Spring 的另一种选择是使用:@PostConstruct在依赖注入(inject)后要调用的方法上的注释。

如果你没有使用 Spring 那么你可以设置 ServletContextListener做这项工作。看我的回答here有关如何设置上下文监听器的更多信息。

现在有很多方法可以从您启动的线程中获取数据。您只需提出一个更具体的问题(如果您无法解决问题),我们将很乐意提供帮助。

关于apache - 在 Apache CXF 构建的 Webservice 中运行的后台线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22990710/

相关文章:

tomcat - 如何为 Tomcat 6 中的任何文件扩展名设置默认 mime 类型?

java - 您可以从 tomcat 部署的应用程序中获取源代码吗?

java - 手动编辑tomcat中的文件夹内容?

apache - 重写规则不适用

java - Apache cxf - jaxrs 客户端 spring 配置(注入(inject)代理)

c# - 如何在 Monotouch 中将 iOS 代理设置与 Web 服务 2.0 (System.Net.IWebProxy) 一起使用?

web-services - 通过 https 的 Tibco SOAP 请求 - SSL 证书验证问题

database - spring hibernate 获取整个数据库的锁

apache - 如何修改包含路径和参数的查询字符串?

django - 我在哪里复制我的 Apache docker 镜像中的 VirtualHost 指令?