sofa-rpc-boot-projects icon indicating copy to clipboard operation
sofa-rpc-boot-projects copied to clipboard

SOFABoot projects for SOFARPC, include starter and samples.

Results 10 sofa-rpc-boot-projects issues
Sort by recently updated
recently updated
newest added

现在注解是在ReferenceAnnotationBeanPostProcessor阶段处理,扫描注解创建RPC代理对象,并通过反射的方式放到了注入点。 想法: 1. 能否直接提供一个静态类工厂类(SofaRpcFactory)和一个通用配置文件(SofaProperties)。在这个工厂内提供create方法,内部做各种RPC初始化操作,并返回RPC动态代理接口对象。 `TestFacade SofaRpcFactory.create(TestFacade.class, props)`。 这样做可以直接将Client初始化完全黑盒在RPC组件内,将Facade的生命周期绑定到spring容器中去,初始化阶段不再依赖注解,显式的用`@Bean`将RPC和Spring连接起来。 这个想法来源于Retrofit2的客户端构造过程: `retrofit2.Retrofit#create` 2. 提供EnableSofaRPC注解,通过import的方式激活Registrar,用Registrar配合Scanner进行扫描注册Bean。这里可以定一个规范,本地要有一个Facade接口继承其他服务的Facade包并带上`@SofaRpcClient`注解,或者开发者需要给出一个调用Facade 的Class列表供框架扫描。 这个想法来源于 Spring Cloud FeignClient的做法

AbstractInterfaceConfig抽象类中存在validation(jsr303验证)属性,但在 xml配置文件中貌似找不到把validation设置为true的方式 /** * 是否开启参数验证(jsr303) */ protected boolean validation;

help wanted
good first issue

sofaboot采用dubbo协议发布服务端口号占用启动时不报错(sofa xml配置方式),采用dubbo原生配置文件方式可以很好的提示端口占用错误提示(xml配置)。sofaboot 2.6.3版本,jdk1.8,tomcat7,注册中心zk,linux操作系统,希望在后续的版本中能解决下这个问题

发布一个facade,定义interface,然后自己新建了一个Auth的annotation,但是发现不生效 @GET @Path("user/{id}") @Auth Result getUser(@PathParam("id") String id); annotation的定义在这 @NameBinding @Retention(RUNTIME) @Target({METHOD, TYPE}) public @interface Auth { } @Provider @Auth @Priority(Priorities.AUTHENTICATION) public class JWTAuthFilter1 implements ContainerRequestFilter { private Logger logger...

在sofaboot项目中发布dubbo协议,实现dubbo的filter接口不生效,而且dubbo与bolt使用不同的过滤器,对于开发人员来说要维护多份代码,很不方便。目前也不支持参数校验,有些麻烦。 1、可不可以实现一个统一的过滤器,对于多种协议同时有效 2、希望在后期版本能支持参数校验。 =================================================== sofaboot:3.1.3 =================================================== 以下是使用dubbo未生效的代码 import com.alibaba.dubbo.rpc.Filter; import com.alibaba.dubbo.rpc.Invocation; import com.alibaba.dubbo.rpc.Invoker; import com.alibaba.dubbo.rpc.Result; import com.alibaba.dubbo.rpc.RpcException; public class DubboValidationFilter implements Filter{ @Override public Result invoke(Invoker arg0, Invocation arg1) throws...

### Your question 我使用`@SofaReference`来引用服务, 默认超时时间是 3000, 有办法全局统一设置吗? ### Your scenes describe your use scenes (why need this feature) ### Your advice describe the advice or solution you'd like ### Environment...

com.alipay.sofa sofaboot-dependencies 2.6.3 com.alipay.sofa sofa-rpc-all 5.5.2 com.alipay.sofa rpc-sofa-boot-starter 5.5.2 无法注册服务: 2019-05-20 19:15:20,167 ERROR sofa-module-start-com.yh.dsretailindex.dsretailindex-biz-service-impl - Failed to create the component service:com.yh.dsretailindex.common.service.facade.LoginCheckFacade com.alipay.sofa.runtime.api.ServiceRuntimeException:

### Your question 是否可以支持多注册中心配置,并实现注册中心之间的平滑切换? ### Your scenes 我的理解是 sofa-rpc 是支持多注册中心的, 但 sofa-rpc-boot-projects 在配置的时候能配置一个注册中心. ### Your advice 1. 需要改动`ProviderConfigHelper` 和 `RegistryConfigContainer` 来实现同时注册多注册中心. 2. 提供对外接口,动态增加/删除注册中心. 这样就可以通过监听配置变化来切换注册中心了 ### Environment - Starter version: 5.4.8...

Exception in thread "main" com.alipay.sofa.rpc.core.exception.SofaRouteException: RPC-02306: 没有获得服务[com.alipay.sofa.rpc.samples.direct.DirectService:1.0]的调用地址,请检查服务是否已经推送 at com.alipay.sofa.rpc.client.AbstractCluster.noAvailableProviderException(AbstractCluster.java:423) at com.alipay.sofa.rpc.client.AbstractCluster.select(AbstractCluster.java:358) at com.alipay.sofa.rpc.client.FailoverCluster.doInvoke(FailoverCluster.java:64) at com.alipay.sofa.rpc.client.AbstractCluster.invoke(AbstractCluster.java:285) at com.alipay.sofa.rpc.client.ClientProxyInvoker.invoke(ClientProxyInvoker.java:83) at com.alipay.sofa.rpc.samples.direct.DirectService_proxy_0.sayDirect(DirectService_proxy_0.java) at com.alipay.sofa.rpc.samples.direct.DirectClientApplication.main(DirectClientApplication.java:42)

bug

### Your question 在DynamicFeature接口实现类加上@Provider注解 ,但启动时未调用DynamicFeature接口的configure方法。 @Provider @ConstrainedTo(RuntimeType.SERVER) public class ApiMetricsFeature implements DynamicFeature 在DynamicFeature实现类初始化之后, 实现InitializingBean接口,在afterPropertiesSet调用JAXRSProviderManager.registerCustomProviderInstance(this)也未触发调用configure 单步跟DynamicFeature实现类初始化在registerProvider之后才调用到,系统已经初始化完Provider,此时再registerCustomProviderInstance实际并没有效果,求解 ### Environment - Starter version:2.5.0 - JVM version (e.g. `java -version`):1.8