当前位置: 首页>>代码示例>>Java>>正文


Java NotifyListener.notify方法代码示例

本文整理汇总了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();
                }
            }
        }
    }
}
 
开发者ID:flychao88,项目名称:dubbocloud,代码行数:21,代码来源:MulticastRegistry.java

示例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();
    
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:23,代码来源:RegistryProtocolTest.java

示例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();
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:20,代码来源:RegistryProtocolTest.java

示例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);
            }
        }
    }
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:12,代码来源:SimpleRegistryService.java

示例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);
            }
        }
    }
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:12,代码来源:SimpleRegistryService.java

示例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);
    }
}
 
开发者ID:flychao88,项目名称:dubbocloud,代码行数:14,代码来源:SimpleRegistryService.java

示例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);
}
 
开发者ID:zhuxiaolei,项目名称:dubbo2,代码行数:11,代码来源:MockRegistry.java

示例8: notify

import com.alibaba.dubbo.registry.NotifyListener; //导入方法依赖的package包/类
protected void notify(String service, List<URL> urls, NotifyListener listener) {
    listener.notify(urls);
}
 
开发者ID:yunhaibin,项目名称:dubbox-hystrix,代码行数:4,代码来源:AbstractRegistryService.java


注:本文中的com.alibaba.dubbo.registry.NotifyListener.notify方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。