跟踪 Java 中的网络服务使用情况

Tracking webservice usage in Java

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

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

有没有办法在重启后保持计数器 运行?我看到了一些关于序列化静态变量的建议。这是正确的方法吗?或者每次我提出请求时我应该 read/write 到 file/DB table(听起来很昂贵)。

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

感谢任何意见或建议。

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

如果您有许多用户访问 WS 客户端并且他们都写入简单的文本文件,那么您将无法同时访问该文件。

如果您尝试使用一些内存架构,并且您的应用程序。崩溃你会丢失计数信息。

所以使用数据库。