java - 跟踪 Java 中的 Web 服务使用情况

标签 java webservices-client hitcounter

我在我们的应用程序中使用第三方(地址验证)WebService。 WS 的许可证仅包含一定数量的调用,超过该数量我们将支付更多费用。我试图跟踪我们的应用程序中的使用情况,以便我们可以在用户超出范围之前发出警告。有点像 Web 服务的点击计数器。

我目前正在( Controller )类中使用静态变量来跟踪它。这有效,但仅在服务器重新启动之前有效,此时它再次重置为 0。

有没有办法让计数器在重新启动时保持运行?我看到了一些关于序列化静态变量的建议。这是正确的方法吗?或者我应该在每次发出请求时读取/写入文件/数据库表(听起来成本很高)。

我的 Web 服务客户端将在旧的 Sybase EAServer(围绕 Apache Tomcat 构建)中运行。所以,我只能使用Java 1.4。

感谢您的任何意见或建议。

最佳答案

我会去:每次 WS 调用,更新数据库上的计数器。

如果您有许多用户访问 WS 客户端,并且所有用户都写入简单的文本文件,那么您将在并发访问该文件时遇到麻烦。

如果您尝试使用某些内存架构和您的应用程序。崩溃你将丢失计数信息。

所以使用数据库。

关于java - 跟踪 Java 中的 Web 服务使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33770066/

相关文章:

java - java 10 的 Apache Ant 版本

java - Spring Data JPA查询方法 'Desc'无法识别

java - destroy() 何时被声明?

java - 将对象传递给 JAX WS

php - 从 BlackBerry 应用程序访问 MySQL 表

php - 如何构建动态访客计数器

java - Docker compose for mysql 和 spring 应用程序拒绝访问

c++ - 收听推送消息?

php - 使用 mysql 和 php 的 Viewcount