[
https://issues.apache.org/jira/browse/SCB-1385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16888610#comment-16888610
]
Daniel Qian commented on SCB-1385:
----------------------------------
I agree with [~njiang].
OmegaContext contains not only tx info data fields, such as globalTxId,
localTxId, but also contains some business logic methods which can modify tx
info data, such as newGlobalTxId, setGlobalTxId, etc.
The essential problem is, OmegaContext is mutable, exposing it to user level
code is dangerous.
PS. I think this issue is a more general issue to SCB-163
> 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)