我在我们的应用程序中使用第三方(地址验证)WebService。 WS的许可仅包括一定数量的呼叫,超过了我们支付更多费用。我试图跟踪我们的应用程序中的使用情况,因此我们可以在用户超出之前发出警告。有点像Web服务的点击计数器。
我目前在(控制器)类中使用静态变量来跟踪它。这可以工作,但只有在服务器重新启动之后,它才会再次重置为0。
有没有办法让计数器在重启时保持运行?我看到了一些关于序列化静态变量的建议。这是正确的方法吗?或者我每次发出请求时都应该读/写一个文件/数据库表(听起来很昂贵)。
我的webservice客户端将在旧的Sybase EAServer(围绕Apache Tomcat构建)中运行。所以,我只能使用Java 1.4。
感谢您的任何意见或建议。
答案 0 :(得分:2)
我会去:每次WS调用,更新数据库上的计数器。
如果您有许多用户访问WS Client并且所有用户都写入简单文本文件,那么您将无法同时访问该文件。
如果您尝试使用一些内存架构和您的应用。崩溃你将丢失计数信息。
所以使用数据库。