Попытка протестировать отказоустойчивость микропрофилей в WebSphere Liberty (WebSphere Application Server 18.0.0.3/wlp-1.0.22.cl180320180905-2337) на 64-разрядной серверной виртуальной машине Java HotSpot (TM), версия 1.8.0_161-b12 (en_US), но Я не могу заставить работать логику переборки.
Создан 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;
}
}
И вызывает его из JMeter с 3 потоками. Я ожидал, что первый вызов будет работать нормально, но 2-й и 3-й вызовы завершатся ошибкой, поскольку первый вызов забирает единственный поток, и переборка будет работать.
Вместо этого через 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
Server.xml:
<featureManager>
<feature>microProfile-2.0</feature>
<feature>localConnector-1.0</feature>
</featureManager>
Любые идеи?