0

我在我们的应用程序中使用了第 3 方(地址验证)WebService。WS 的许可只包括一定数量的通话,超过我们支付的费用更多。我正在尝试跟踪我们应用程序中的使用情况,以便我们可以在用户超出之前警告用户。有点像 Web 服务的计数器。

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

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

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

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

4

1 回答 1

2

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

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

如果您尝试使用一些内存架构,以及您的应用程序。崩溃您将丢失计数信息。

所以使用数据库。

于 2015-11-18T01:48:28.117 回答