Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
When using SNS https://spring.io/projects/spring-cloud-aws to pass the invocation across the services, it's quite important for Omega to pass the Global Transaction ID and Local Transaction ID across the services.
I just spend some time to check about the message API of spring-cloud-aws, it has message converters (https://cloud.spring.io/spring-cloud-static/spring-cloud-aws/2.2.0.M1/#_using_message_converters) which could be used to pass the GID and LID through the business object.
After talking with ZhangLei about this issue, he suggested that we could introduce a wrapper class for the user to pass the GID and LID across thread or VM. As Omega can intercept the method call, we can restore the GID and LID back to thread local variable before calling the intercepted method.