java库中的静态字段

java库中的静态字段,java,http,static,Java,Http,Static,我正在使用一个支付系统的JavaSDK库 在该库中,您必须在静态字段中设置他们之前提供给您的API密钥: public static volatile String apiKey; 此库发出的每个HTTP请求都在头中包含此apiKey 我的任务是制作支付系统用户的聚合器。每个用户都有自己的API密钥 当用户数为2时,我做了一件坏事: public synchronized void pay() { Library.apiKey = securityService.currentUse

我正在使用一个支付系统的JavaSDK库

在该库中,您必须在静态字段中设置他们之前提供给您的API密钥:

public static volatile String apiKey;
此库发出的每个HTTP请求都在头中包含此apiKey

我的任务是制作支付系统用户的聚合器。每个用户都有自己的API密钥

当用户数为2时,我做了一件坏事:

public synchronized void pay() {
     Library.apiKey = securityService.currentUser().key();
     Library.pay(...)
     ...
}
这是可行的,但每个人都知道这是一种不好的做法。现在我必须支持100多个用户。我的决定会慢100倍,更不用说其他问题了

我想继续使用这个库。但是以多线程的方式。当然,如果我自己提出要求,我会这样做:

public void pay() {
     HttpHeader headers;
     headers.put("api_key", securityService.user().key());
     httpClient.post(headers...)
}
我知道这个库不适合我的任务。但我需要那个图书馆,它在里面做很多工作

如果不可能的话,我就得用叉子叉起来,换衣服来满足我的需求

我将链接附加到库的源代码。

您是否阅读了您提供的github回购的文档(自述文件)?它明确提到了处理多个关键场景的另一种方法@Udith Gunaratna谢谢,我错过了,我在网站上阅读了文档,但没有在Github存储库中阅读。您是否阅读了您提供的Github回购的文档(自述文件)?它明确提到了处理多个关键场景的另一种方法@Udith Gunaratna谢谢,我错过了,我在网站上阅读文档,但在Github存储库中没有。