Litx
Litx — это облегчённый распределённый фреймворк для транзакций, основанный на компенсации. В настоящее время он поддерживает только Dubbo, но в будущем планируется поддержка других RPC-вызовов, таких как HTTP и другие.
Быстрый старт
Вы также можете обратиться к тестовым примерам litx-test, которые демонстрируют тестирование в среде Dubbo.
Для быстрой настройки вы можете следовать следующему коду:
public interface DemoService {
@Compensable
String test1();
@Compensable
String test2();
void rollbackTest1(String str);
void rollbackTest2(String str);
}
<bean id="litxDubboDefinationScanner" class="com.thebeastshop.litx.spring.LitxDubboDefinationScanner"/>
<bean name="transactionManager" class="com.thebeastshop.litx.transaction.LitTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
Если вы хотите обработать данные об исключениях отката, создайте собственный класс, реализующий интерфейс RollbackInvokeHook, и зарегистрируйте его в контейнере Spring. Litx автоматически обнаружит его при запуске.
Описание тестового примера
Тестовый проект предоставляет dubbo-provider, который необходимо сначала запустить. Используйте основной метод Runner для запуска (необходимо повторно настроить конфигурацию источника данных). Затем запустите dubbo-consumer.
Потребительские тесты демонстрируют пример использования: потребитель сначала вызывает test1 провайдера, а затем вызывает test2. В коде test2 намеренно генерируется ошибка. test1 откатывается, но при этом также возникает ошибка, которая перехватывается пользовательским хуком потребителя.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )