pc.jupiter-example.1.2.23.source-code.spring-consumer.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright (c) 2015 The Jupiter Project ~ ~ Licensed under the Apache License, version 2.0 (the "License"); ~ you may not use this file except in compliance with the License. ~ You may obtain a copy of the License at: ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, software ~ distributed under the License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~ See the License for the specific language governing permissions and ~ limitations under the License. --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jupiter="http://www.jupiter-rpc.org/jupiter" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.jupiter-rpc.org/jupiter http://www.jupiter-rpc.org/jupiter/jupiter.xsd"> <bean id="globalInterceptor1" class="org.jupiter.example.spring.interceptor.consumer.MyGlobalConsumerInterceptor1" /> <bean id="globalInterceptor2" class="org.jupiter.example.spring.interceptor.consumer.MyGlobalConsumerInterceptor2" /> <jupiter:client id="jupiterClient" registryType="default"> <jupiter:property registryServerAddresses="127.0.0.1:20001" /> <jupiter:property globalConsumerInterceptors="globalInterceptor1,globalInterceptor2" /> <!-- 可选配置 --> <!-- String registryServerAddresses // 注册中心地址 [host1:port1,host2:port2....] String providerServerAddresses // IP直连到providers [host1:port1,host2:port2....] ConsumerInterceptor[] globalConsumerInterceptors; // 全局拦截器 --> <!-- 网络层配置选项 --> <jupiter:netOptions> <jupiter:childOption SO_RCVBUF="8192" /> <jupiter:childOption SO_SNDBUF="8192" /> <jupiter:childOption ALLOW_HALF_CLOSURE="false" /> </jupiter:netOptions> </jupiter:client> <bean id="interceptor1" class="org.jupiter.example.spring.interceptor.consumer.MyConsumerInterceptor1" /> <bean id="interceptor2" class="org.jupiter.example.spring.interceptor.consumer.MyConsumerInterceptor2" /> <!-- consumer --> <jupiter:consumer id="serviceTest" client="jupiterClient" interfaceClass="org.jupiter.example.ServiceTest"> <!-- 以下都选项可不填 --> <!-- 服务版本号, 通常在接口不兼容时版本号才需要升级 --> <jupiter:property version="1.0.0.daily" /> <!-- 序列化/反序列化类型: (proto_stuff, hessian, kryo, java)可选, 默认proto_stuff --> <jupiter:property serializerType="proto_stuff" /> <!-- 软负载均衡类型[random, round_robin] --> <jupiter:property loadBalancerType="round_robin" /> <!-- 派发方式: (round, broadcast)可选, 默认round(单播) --> <jupiter:property dispatchType="round" /> <!-- 调用方式: (sync, async)可选, 默认sync(同步调用) --> <jupiter:property invokeType="sync" /> <!-- 集群容错策略: (fail_fast, fail_over, fail_safe)可选, 默认fail_fast(快速失败) --> <jupiter:property clusterStrategy="fail_over" /> <!-- 在fail_over策略下的失败重试次数 --> <jupiter:property failoverRetries="2" /> <!-- 超时时间设置 --> <jupiter:property timeoutMillis="3000" /> <jupiter:methodSpecials> <!-- 方法的单独配置 --> <jupiter:methodSpecial methodName="sayHello" timeoutMillis="5000" clusterStrategy="fail_fast" /> </jupiter:methodSpecials> <jupiter:property consumerInterceptors="interceptor1,interceptor2" /> <!-- 可选配置 --> <!-- SerializerType serializerType // 序列化/反序列化方式 LoadBalancerType loadBalancerType // 软负载均衡类型[random, round_robin] long waitForAvailableTimeoutMillis = -1 // 如果大于0, 表示阻塞等待直到连接可用并且该值为等待时间 InvokeType invokeType // 调用方式 [同步, 异步] DispatchType dispatchType // 派发方式 [单播, 广播] long timeoutMillis // 调用超时时间设置 List<MethodSpecialConfig> methodSpecialConfigs; // 指定方法的单独配置, 方法参数类型不做区别对待 ConsumerInterceptor[] consumerInterceptors // 消费者端拦截器 String providerAddresses // provider地址列表, 逗号分隔(IP直连) ClusterInvoker.Strategy clusterStrategy; // 集群容错策略 int failoverRetries // fail_over的重试次数 --> </jupiter:consumer> </beans>
© 2015 - 2024 Weber Informatics LLC | Privacy Policy