一个传统dubbo的xml配置如下:
配置优先级
- 方法级优先,接口级次之,全局配置再次之。
- 如果级别一样,则消费方优先,提供方次之。
例如以设置timeout为例子:
服务提供方配置,通过URL经由注册中心传递给消费方。
dubbo的配置方法:
优先级为:
1. 以jvm 参数的形式传递
2.xml配置形式
3.properties配置形式
个人建议使用xml的形式,而xml的值可以使用配置文件中的属性,以后需要注册到多个注册中心也方便配置。
注解配置
服务提供方配置:
<!-- 公共信息,也可以用dubbo.properties配置 -->
<dubbo:application name="annotation-provider" />
<dubbo:registry address="127.0.0.1:4548" />
<!-- 扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类 -->
<dubbo:annotation package="com.foo.bar.service" />
服务提供方注解:
import com.alibaba.dubbo.config.annotation.Service;
@Service(version="1.0.0")
public class FooServiceImpl implements FooService {
// ......
}
服务消费方配置:
<!-- 公共信息,也可以用dubbo.properties配置 -->
<dubbo:application name="annotation-consumer" />
<dubbo:registry address="127.0.0.1:4548" />
<!-- 扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类 -->
<dubbo:annotation package="com.foo.bar.action" />
服务消费方注解:
import com.alibaba.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Component;
@Component
public class BarAction {
@Reference(version="1.0.0")
private FooService fooService;
}