我在我们的应用程序中使用第三方(地址验证)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/