如何修改并获得dubbo服务的端口号
1个回答
2015-12-04
展开全部
package com.github.doctor.dubbo.config;
import java.util.Map;
import java.util.Map.Entry;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import com.alibaba.dubbo.common.utils.NetUtils;
import com.alibaba.dubbo.config.ProtocolConfig;
/**
* 这是一个进程启动多个dubbo服务的DubboPortHandler另一种写法。以前的方案见DubboNamespaceHandlerEx
* 利用spring修改受spring管理bean的属性信息
*
* @author doctor
*
* @time 2014年12月31日 上午9:43:52
*/
@Component
public class DubboPortHandler2 {
@Autowired
private ApplicationContext applicationContext;
private int port = 20080;
@PostConstruct
public void init() {
Map<String, ProtocolConfig> beansOfType = applicationContext.getBeansOfType(ProtocolConfig.class);
for (Entry<String, ProtocolConfig> item : beansOfType.entrySet()) {
port = NetUtils.getAvailablePort();
item.getValue().setPort(port);
}
}
public int getPort() {
return port;
}
}
import java.util.Map;
import java.util.Map.Entry;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import com.alibaba.dubbo.common.utils.NetUtils;
import com.alibaba.dubbo.config.ProtocolConfig;
/**
* 这是一个进程启动多个dubbo服务的DubboPortHandler另一种写法。以前的方案见DubboNamespaceHandlerEx
* 利用spring修改受spring管理bean的属性信息
*
* @author doctor
*
* @time 2014年12月31日 上午9:43:52
*/
@Component
public class DubboPortHandler2 {
@Autowired
private ApplicationContext applicationContext;
private int port = 20080;
@PostConstruct
public void init() {
Map<String, ProtocolConfig> beansOfType = applicationContext.getBeansOfType(ProtocolConfig.class);
for (Entry<String, ProtocolConfig> item : beansOfType.entrySet()) {
port = NetUtils.getAvailablePort();
item.getValue().setPort(port);
}
}
public int getPort() {
return port;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询