我最后的采用的方法如下:
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]