尝试在 Java HotSpot(TM) 64 位服务器 VM 版本 1.8.0_161-b12 (en_US) 上测试 WebSphere Liberty (WebSphere Application Server 18.0.0.3/wlp-1.0.22.cl180320180905-2337) 中的 Microprofile 容错,但是我无法启动舱壁逻辑。
创建了一个 REST 资源:
import org.eclipse.microprofile.faulttolerance.Bulkhead;
@Path("bulk")
public class BulkheadResource {
@GET
@Bulkhead(1)
public String getBulk() {
return getMessage();
}
private String getMessage() {
String vMessage = "Start: " + System.currentTimeMillis();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return vMessage;
}
}
并使用 3 个线程从 JMeter 调用它。我的期望是第一次调用会正常工作,但第二次和第三次调用会失败,因为调用一次占用了唯一的线程并且隔板会起作用。
相反,在 5 秒后,所有三个线程都返回了 200 响应:
timeStamp elapsed label responseCode threadName grpThreads
1539095137936 5057 GET Bulk 200 Micro Profile 1-1 3
1539095138272 5041 GET Bulk 200 Micro Profile 1-2 2
1539095138608 5029 GET Bulk 200 Micro Profile 1-3 1
服务器.xml:
<featureManager>
<feature>microProfile-2.0</feature>
<feature>localConnector-1.0</feature>
</featureManager>
有任何想法吗?