本文整理汇总了Java中com.alibaba.dubbo.registry.NotifyListener.notify方法的典型用法代码示例。如果您正苦于以下问题:Java NotifyListener.notify方法的具体用法?Java NotifyListener.notify怎么用?Java NotifyListener.notify使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.alibaba.dubbo.registry.NotifyListener
的用法示例。
在下文中一共展示了NotifyListener.notify方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: registered
import com.alibaba.dubbo.registry.NotifyListener; //导入方法依赖的package包/类
protected void registered(URL url) {
for (Map.Entry<URL, Set<NotifyListener>> entry : getSubscribed().entrySet()) {
URL key = entry.getKey();
if (UrlUtils.isMatch(key, url)) {
Set<URL> urls = received.get(key);
if (urls == null) {
received.putIfAbsent(key, new ConcurrentHashSet<URL>());
urls = received.get(key);
}
urls.add(url);
List<URL> list = toList(urls);
for (NotifyListener listener : entry.getValue()) {
notify(key, listener, list);
synchronized (listener) {
listener.notify();
}
}
}
}
}
示例2: testNotifyOverride
import com.alibaba.dubbo.registry.NotifyListener; //导入方法依赖的package包/类
@Test
public void testNotifyOverride() throws Exception{
URL newRegistryUrl = registryUrl.addParameter(Constants.EXPORT_KEY, serviceUrl);
Invoker<RegistryProtocolTest> invoker = new MockInvoker<RegistryProtocolTest>(RegistryProtocolTest.class, newRegistryUrl);
Exporter<?> exporter = protocol.export(invoker);
RegistryProtocol rprotocol = RegistryProtocol.getRegistryProtocol();
NotifyListener listener = getListener(rprotocol);
List<URL> urls = new ArrayList<URL>();
urls.add(URL.valueOf("override://0.0.0.0/?timeout=1000"));
urls.add(URL.valueOf("override://0.0.0.0/"+ service + "?timeout=100"));
urls.add(URL.valueOf("override://0.0.0.0/"+ service + "?x=y"));
listener.notify(urls);
assertEquals(true, exporter.getInvoker().isAvailable());
assertEquals("100", exporter.getInvoker().getUrl().getParameter("timeout"));
assertEquals("y", exporter.getInvoker().getUrl().getParameter("x"));
exporter.unexport();
assertEquals(false, exporter.getInvoker().isAvailable());
destroyRegistryProtocol();
}
示例3: testNotifyOverride_notmatch
import com.alibaba.dubbo.registry.NotifyListener; //导入方法依赖的package包/类
/**
* 服务名称不匹配,不能override invoker
* 服务名称匹配,服务版本号不匹配
*/
@Test
public void testNotifyOverride_notmatch() throws Exception{
URL newRegistryUrl = registryUrl.addParameter(Constants.EXPORT_KEY, serviceUrl);
Invoker<RegistryProtocolTest> invoker = new MockInvoker<RegistryProtocolTest>(RegistryProtocolTest.class, newRegistryUrl);
Exporter<?> exporter = protocol.export(invoker);
RegistryProtocol rprotocol = RegistryProtocol.getRegistryProtocol();
NotifyListener listener = getListener(rprotocol);
List<URL> urls = new ArrayList<URL>();
urls.add(URL.valueOf("override://0.0.0.0/com.alibaba.dubbo.registry.protocol.HackService?timeout=100"));
listener.notify(urls);
assertEquals(true, exporter.getInvoker().isAvailable());
assertEquals(null, exporter.getInvoker().getUrl().getParameter("timeout"));
exporter.unexport();
destroyRegistryProtocol();
}
示例4: registered
import com.alibaba.dubbo.registry.NotifyListener; //导入方法依赖的package包/类
protected void registered(URL url) {
for (Map.Entry<URL, Set<NotifyListener>> entry : getSubscribed().entrySet()) {
URL key = entry.getKey();
if (UrlUtils.isMatch(key, url)) {
List<URL> list = lookup(key);
for (NotifyListener listener : entry.getValue()) {
listener.notify(list);
}
}
}
}
示例5: unregistered
import com.alibaba.dubbo.registry.NotifyListener; //导入方法依赖的package包/类
protected void unregistered(URL url) {
for (Map.Entry<URL, Set<NotifyListener>> entry : getSubscribed().entrySet()) {
URL key = entry.getKey();
if (UrlUtils.isMatch(key, url)) {
List<URL> list = lookup(key);
for (NotifyListener listener : entry.getValue()) {
listener.notify(list);
}
}
}
}
示例6: unsubscribe
import com.alibaba.dubbo.registry.NotifyListener; //导入方法依赖的package包/类
@Override
public void unsubscribe(String service, URL url, NotifyListener listener) {
super.unsubscribe(service, url, listener);
String client = RpcContext.getContext().getRemoteAddressString();
Map<String, NotifyListener> listeners = remoteListeners.get(client);
if (listeners != null && listeners.size() > 0) {
listeners.remove(service);
}
List<URL> urls = getRegistered().get(service);
if (urls != null && urls.size() > 0) {
listener.notify(urls);
}
}
示例7: subscribe
import com.alibaba.dubbo.registry.NotifyListener; //导入方法依赖的package包/类
public void subscribe(URL url, NotifyListener listener) {
this.subscribedUrl = url;
List<URL> urls = new ArrayList<URL>();
urls.add(url.setProtocol("mockprotocol")
.removeParameter(Constants.CATEGORY_KEY)
.addParameter(Constants.METHODS_KEY, "sayHello"));
listener.notify(urls);
}
示例8: notify
import com.alibaba.dubbo.registry.NotifyListener; //导入方法依赖的package包/类
protected void notify(String service, List<URL> urls, NotifyListener listener) {
listener.notify(urls);
}