我最后的采用的方法如下:
WebAilloPushService是一个接口。
`
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = TilloTestApplication.class)
public class DubboToIpTest {


    @Value("${spring.dubbo.appname}")
    private String appname;

    //服务提供者port
    static final String remoteDubboPort = ":20803";
    // ReferenceConfig缓存
    private static Map<String, ReferenceConfig<WebAilloPushService>> 
referenceCache = new ConcurrentHashMap<>();

    String reip = "127.0.0.1";

    @Value("${spring.dubbo.group}")
    private String group;
    @Value("${spring.dubbo.version}")
    private String version;
    @Value("${spring.dubbo.timeout}")
    private Integer timeout;

    public WebAilloPushService getWebAilloPushService(String ip) {

        ReferenceConfig<WebAilloPushService> webAilloPushServiceReferenceConfig 
= referenceCache.get(ip);
        if (null == webAilloPushServiceReferenceConfig) {

            ReferenceConfig<WebAilloPushService> referenceConfig = new 
ReferenceConfig<>();
            referenceConfig.setApplication(new ApplicationConfig(appname));
            referenceConfig.setInterface(WebAilloPushService.class);
            referenceConfig.setGroup(group);
            referenceConfig.setGeneric(false);
            referenceConfig.setVersion(version);
            referenceConfig.setTimeout(timeout);
            referenceConfig.setAsync(false);
            String url = ip + remoteDubboPort;
            referenceConfig.setUrl(url);
            referenceCache.put(ip, referenceConfig);

            return referenceConfig.get();
        }
        return webAilloPushServiceReferenceConfig.get();

    }


}
`


[ Full content available at: https://github.com/apache/dubbo/issues/6025 ]
This message was relayed via gitbox.apache.org for 
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to