WLPs Microprofile Fault Tolerance переборка не запускается

Попытка протестировать отказоустойчивость микропрофилей в 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>

Любые идеи?


person user2299548    schedule 09.10.2018    source источник
comment
Я добавил @ApplicationScoped, как заявила Эмили Цзян, и теперь он работает, как ожидалось. Потоки 1-2 и 1-3 мгновенно получают от сервера ответ 500, а через 5 секунд поток 1-1 завершает ответ 200.   -  person user2299548    schedule 10.10.2018


Ответы (1)


Цепной выключатель связан с экземпляром. В вашем примере ваш bean-компонент имеет зависимую область видимости и имеет собственный автоматический выключатель для каждого запроса. Если вы перейдете на ApplicationScoped, вы должны увидеть то, что ожидали.

person Emily Jiang    schedule 09.10.2018