我有一个使用 dstu2 异步调用 25 hl7 hapi fhir 的 jsp。正如最佳实践中所建议的那样,我使用静态加载创建 fhir 上下文并在每次服务调用中重用它。但是,服务调用间歇性失败,并出现以下堆栈跟踪:(我为每个服务调用初始化了 fhir 上下文,这个问题得到了解决。但是,这减慢了调用速度。有人可以帮助我使用任何替代方法或告诉我我的我做错了)
引起:org.apache.http.conn.ConnectionPoolTimeoutException:等待池连接超时
公共类 MyFHIRContext{
public static FhirContext ctx;
static{
ctx = FhirContext.forDstu2();
ctx.getRestfulClientFactory().setSocketTimeout(60 * 1000);
ctx.getRestfulClientFactory().setConnectTimeout(60 * 1000);
ctx.getRestfulClientFactory().setServerValidationMode(ServerValidationModeEnum.NEVER);
}
}
调用代码:IGenericClient client = MyFHIRContext.ctx.newRestfulGenericClient("server url");