[
https://issues.apache.org/jira/browse/SCB-1385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16888595#comment-16888595
]
Willem Jiang commented on SCB-1385:
-----------------------------------
I don't think it's a good way to expose the OmegaContext to the user, as it
has some thread local variable, it may confuse the user.
My suggestion is we just provide a class which stores the GID and LID as
String, then we can pass them around without worrying about the thread
switching.
> Provide a common way to pass GID and LID
> ----------------------------------------
>
> Key: SCB-1385
> URL: https://issues.apache.org/jira/browse/SCB-1385
> Project: Apache ServiceComb
> Issue Type: Improvement
> Components: Saga
> Reporter: Willem Jiang
> Assignee: Willem Jiang
> Priority: Major
> Fix For: pack-0.5.0
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)