sofastack / sofa-rpc-boot-projects

SOFABoot projects for SOFARPC, include starter and samples.
https://github.com/sofastack/sofa-rpc
Apache License 2.0
292 stars 117 forks source link

有没有注解式的申明方式? #15

Closed leasontou closed 6 years ago

leizhiyuan commented 6 years ago

注解方式会在之后的版本支持.如果有兴趣,也欢迎贡献.

leizhiyuan commented 6 years ago

注解方式的实现,考虑在SofaBootRpcAutoConfiguration中注册一下BeanPostProcessor,来对使用了 SofaService/SofaReference 的 bean 做发布和引用. @ujjboy @NeGnail

QilongZhang commented 6 years ago

SOFAArk 也会对SofaService/SofaReference处理下,这一块能不能一起确定最后注解的形式;目前SOFAArk 定的策略是:

沿用 sofa:service/sofa:reference/@SofaService/@SofaReference 标签和注解;

sofa:service 标签提供:binding.ark
SofaService 注解提供 binding = {JVM | ARK },如果为空,默认发布成 JVM

sofa:reference 标签提供:binding.ark 以及 route 属性
SofaReference 注解提供 binding = {JVM | ARK} ,提供 route= {JVM | ARK},如果为空,默认JVM,ARK, RPC路由策略

各自注册postprocessor处理,最后注解的样子,可以一起商定下。

@leizhiyuan

khotyn commented 6 years ago

为什么有 JVM 又有 Ark 的 binding?

QilongZhang commented 6 years ago

@khotyn 晚上讨论 Jarslink2.0 计划的时候,可以聊下这个事情哈

renshihan commented 6 years ago

建议测试用例将sever端和client端分为两个项目,这样比较直观体现rpc

ujjboy commented 6 years ago

好的,我们后面改一下。

leizhiyuan commented 6 years ago

https://github.com/leizhiyuan/sofa-rpc-boot-projects/tree/support-anotation 这个分支上我先写了一个支持注解发布和订阅的,已经测试基本 ok,部分转换还未做.需要 @SofaService 和@ SofaReference的注解支持一些参数.有空了看下.

@ujjboy @NeGnail