feature: unify Jackson/fastjson serialization.
Check Ahead
-
[x] I have searched the issues of this repository and believe that this is not a duplicate.
-
[ ] I am willing to try to implement this feature myself.
Why you need it?
Currently, saga, tcc, at, and seata-server use Jackson/fastjson for serialization. We need to unify it. https://github.com/apache/incubator-seata/issues/6937
How it could be?
No response
Other related information
No response
@xjlgod why do you need this issue when https://github.com/apache/incubator-seata/issues/6937 already exists?
@xjlgod why do you need this issue when #6937 already exists?
Because this issue has been around for too long, it's easy to recreate one for everyone to find and claim it
Hi maintainers, I noticed this issue was created a few months ago. I'd like to check if it is still relevant and if anyone is currently working on it. If not, I'm very interested in taking this on and would love to contribute to the Seata community. Could you please assign it to me? Thank you!
Hi maintainers, I noticed this issue was created a few months ago. I'd like to check if it is still relevant and if anyone is currently working on it. If not, I'm very interested in taking this on and would love to contribute to the Seata community. Could you please assign it to me? Thank you!
Awesome, thanks! Assigned.
After digging into this issue, I've realized that the complexity is beyond my current technical capabilities. To avoid delaying the resolution, I'd like to request to be unassigned.
My apologies for any inconvenience this may cause. I'm still very keen on contributing to Seata and will look for other issues that are a better fit for my current skill set.
Thank you for your understanding!
After digging into this issue, I've realized that the complexity is beyond my current technical capabilities. To avoid delaying the resolution, I'd like to request to be unassigned.
My apologies for any inconvenience this may cause. I'm still very keen on contributing to Seata and will look for other issues that are a better fit for my current skill set.
Thank you for your understanding!
Ok,thanks for your work.
@xjlgod I would like to try addressing this issue. First, let me briefly outline my approach:
- Define a JSON interface that can cover all the JSON-using scenarios currently present in Seata's Saga, TCC, and AT modules
- Provide implementation classes for FastJSON and Jackson respectively
- Introduce the SPI mechanism to enable users to customize the serializer
- Provide a unified JSON utility class, whose underlying implementation can be dynamically loaded through configuration files or SPI, facilitating users to switch as needed As a new member of the community, there may be aspects that I have not fully considered, such as the need for compatibility with historical versions, performance implications, thread safety, and other issues. I would appreciate your guidance I look forward to contributing to this improvement :)