Selaa lähdekoodia

由于dubbo取消了通过jvm参数方式设置dubbo服务接口,新增程序入参设置dubbo服务接口:-dubbo.protocal.port=8080

weihf 7 vuotta sitten
vanhempi
commit
5b3d43a486

+ 9 - 3
ipu-service-demo/readme.md

@ -1,7 +1,13 @@
1 1
1。dubbo服务注册支持zookeeper、redis、multicast、single和jvm,本地开发调试可以推荐使用single,服务器部署推荐使用zookeeper。具体说明见doc/注册配置.md
2 2
2。对于大量重复查询,建议使用服务缓存。具体说明见doc/服务缓存.md
3
3。不要复用用于暴露服务的接口
3
3。尽量不要复用用于暴露服务的接口.一个接口有不同实现时,建议分组:
4
provider/服务端:
5
<dubbo:service group="feedback" interface="com.xxx.IndexService" />
6
<dubbo:service group="member" interface="com.xxx.IndexService" />
7
consumer/客户端:
8
<dubbo:reference id="feedbackIndexService" group="feedback" interface="com.xxx.IndexService" />
9
<dubbo:reference id="memberIndexService" group="member" interface="com.xxx.IndexService" />
4 10
4。本地做代码调试时,请在consumer/客户端的配置文件里配置合适的超时时间。配置方法:
5 11
<dubbo:consumer retries="0" timeout="20000"/>
6
5。建议通过jvm参数方式设置dubbo服务接口:
7
-Ddubbo.protocal.port=20880
12
5。由于dubbo取消了通过jvm参数方式设置dubbo服务接口,新增程序入参设置dubbo服务接口
13
-dubbo.protocal.port=8080

+ 25 - 0
ipu-service-demo/src/main/java/com/ai/ipu/service/DubboServiceStart.java

@ -1,7 +1,12 @@
1 1
package com.ai.ipu.service;
2 2

3
import java.util.Map;
4
import java.util.Map.Entry;
5

3 6
import org.springframework.context.support.ClassPathXmlApplicationContext;
4 7

8
import com.alibaba.dubbo.config.ProtocolConfig;
9

5 10
public class DubboServiceStart {
6 11
    public final static String MODE = "simple";
7 12
    public final static String DUBBO_PROVIDER_CONFIG = "dubbo-provider-" + MODE + ".xml";
@ -11,7 +16,27 @@ public class DubboServiceStart {
11 16
    public static void main(String[] args) throws Exception {
12 17
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
13 18
                new String[] {DUBBO_PROVIDER_CONFIG});
19
        for (String arg:args)
20
        {
21
        	if (arg.contains("-dubbo.protocal.port"))
22
        	{
23
        		String partPort = arg.trim().substring(arg.indexOf("-dubbo.protocal.port")+20);
24
        		int port = Integer.parseInt(partPort.substring(partPort.indexOf("=")+1).trim());
25
        		context = modifyBubboPort(context, port);
26
        	}
27
        }
14 28
        context.start();
15 29
        System.in.read(); // press any key to exit
16 30
    }
31
    
32
    private static ClassPathXmlApplicationContext modifyBubboPort(ClassPathXmlApplicationContext context, int newPort)
33
    {
34
    	Map<String, ProtocolConfig> beansOfType = context.getBeansOfType(ProtocolConfig.class);  
35
        for (Entry<String, ProtocolConfig> item : beansOfType.entrySet()) {  
36
        	System.out.println("##################properties file###########################"+item.getValue().getPort());  
37
            System.out.println("##################use sure###########################"+newPort);
38
            item.getValue().setPort(newPort);
39
        }
40
        return context;
41
    }
17 42
}