dubbo-spring-boot-starter using dubbo with spring boot style 。this is based on dubbo 2.5.3 and spring boot 1.4.1.RELEASE document:spring boot with dubbo
you can deploy dubbo properties in spring boot configuration file —— application.properties/ym e.g
dubbo:
application:
name: lizo
registry:
address: multicast://224.5.6.7:1234
protocol:
name: dubbo
port: 20887
when bootstrap application, using @EnableDubbo annotation with the @Configurantion bean, lick this:
@SpringBootApplication
@EnableDubbo(basePackages = "com.alibaba.dubbo")
public class Provider {
public static void main(String[] args) throws InterruptedException {
ApplicationContext ctx = new SpringApplicationBuilder()
.sources(Provider.class)
.web(false)
.run(args);
new CountDownLatch(1).await();
}
}
then you can using com.alibaba.dubbo.config.annotation.Service and com.alibaba.dubbo.config.annotation.Reference on provider bean and consumer bean respectively.
public interface AddService {
int add(int a, int b);
}
@Service
public class AddServiceImpl implements AddService {
@Override
public int add(int a, int b) {
return a + b;
}
}
@Component
public class ConsumerAction {
@Reference
private AddService addService;
public void add(int a,int b){
System.out.println("ret = " + addService.add(a,b));
}
}
more details see demo project dubbo document see:http://dubbo.io/
you can define a dubbo filter as a Spring bean which extend AbstractDubboProviderFilterSupport or AbstractDubboConsumerFilterSupport
@Bean
ProviderFilter consumerFilter(){
return new ProviderFilter();
}
static class ProviderFilter extends AbstractDubboProviderFilterSupport {
public Result invoke(Invoker<?> invoker, Invocation invocation) {
System.out.println("ProviderFilter");
return invoker.invoke(invocation);
}
}
if you want more custom , you can using origin dubbo filter annotaion @activate with a spring bean extend AbstractDubboFilterSupport
@Bean
CustomFilter customFilter(){
return new CustomFilter();
}
@Activate(group = Constants.PROVIDER)
static class CustomFilter extends AbstractDubboFilterSupport {
public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
System.out.println("CustomFilter");
return invoker.invoke(invocation);
}
public Filter getDefaultExtension() {
return this;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.