com.alibaba.dubbo.rpc.protocol.dubbo.support.ProtocolUtils Java Examples

The following examples show how to use com.alibaba.dubbo.rpc.protocol.dubbo.support.ProtocolUtils. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ListTelnetHandlerTest.java    From dubbox-hystrix with Apache License 2.0 6 votes vote down vote up
@BeforeClass
public static void setUp() {
    StringBuilder buf = new StringBuilder();
    StringBuilder buf2 = new StringBuilder();
    Method[] methods = DemoService.class.getMethods();
    for (Method method : methods) {
        if (buf.length() > 0) {
            buf.append("\r\n");
        }
        if (buf2.length() > 0) {
            buf2.append("\r\n");
        }
        buf2.append(method.getName());
        buf.append(ReflectUtils.getName(method));
    }
    detailMethods = buf.toString();
    methodsName = buf2.toString();
    
    ProtocolUtils.closeAll();
}
 
Example #2
Source File: ListTelnetHandlerTest.java    From dubbox with Apache License 2.0 6 votes vote down vote up
@BeforeClass
public static void setUp() {
    StringBuilder buf = new StringBuilder();
    StringBuilder buf2 = new StringBuilder();
    Method[] methods = DemoService.class.getMethods();
    for (Method method : methods) {
        if (buf.length() > 0) {
            buf.append("\r\n");
        }
        if (buf2.length() > 0) {
            buf2.append("\r\n");
        }
        buf2.append(method.getName());
        buf.append(ReflectUtils.getName(method));
    }
    detailMethods = buf.toString();
    methodsName = buf2.toString();
    
    ProtocolUtils.closeAll();
}
 
Example #3
Source File: DubboInvokerAvilableTest.java    From dubbo3 with Apache License 2.0 6 votes vote down vote up
@Test
public void test_Lazy_ChannelReadOnly() throws Exception{
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?lazy=true&connections=1");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());
    
    try{
        getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
        fail();
    }catch (IllegalStateException e) {
        
    }
    //invoke method --> init client
    
    IDemoService service = (IDemoService)proxy.getProxy(invoker);
    Assert.assertEquals("ok", service.get());
    
    Assert.assertEquals(true, invoker.isAvailable());
    getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
    Assert.assertEquals(false, invoker.isAvailable());
}
 
Example #4
Source File: DubboInvokerAvilableTest.java    From dubbox with Apache License 2.0 6 votes vote down vote up
@Test
public void test_Lazy_ChannelReadOnly() throws Exception{
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?lazy=true&connections=1");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());
    
    try{
        getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
        fail();
    }catch (IllegalStateException e) {
        
    }
    //invoke method --> init client
    
    IDemoService service = (IDemoService)proxy.getProxy(invoker);
    Assert.assertEquals("ok", service.get());
    
    Assert.assertEquals(true, invoker.isAvailable());
    getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
    Assert.assertEquals(false, invoker.isAvailable());
}
 
Example #5
Source File: ListTelnetHandlerTest.java    From dubbo-2.6.5 with Apache License 2.0 6 votes vote down vote up
@BeforeClass
public static void setUp() {
    StringBuilder buf = new StringBuilder();
    StringBuilder buf2 = new StringBuilder();
    Method[] methods = DemoService.class.getMethods();
    for (Method method : methods) {
        if (buf.length() > 0) {
            buf.append("\r\n");
        }
        if (buf2.length() > 0) {
            buf2.append("\r\n");
        }
        buf2.append(method.getName());
        buf.append(ReflectUtils.getName(method));
    }
    detailMethods = buf.toString();
    methodsName = buf2.toString();

    ProtocolUtils.closeAll();
}
 
Example #6
Source File: ListTelnetHandlerTest.java    From dubbo3 with Apache License 2.0 6 votes vote down vote up
@BeforeClass
public static void setUp() {
    StringBuilder buf = new StringBuilder();
    StringBuilder buf2 = new StringBuilder();
    Method[] methods = DemoService.class.getMethods();
    for (Method method : methods) {
        if (buf.length() > 0) {
            buf.append("\r\n");
        }
        if (buf2.length() > 0) {
            buf2.append("\r\n");
        }
        buf2.append(method.getName());
        buf.append(ReflectUtils.getName(method));
    }
    detailMethods = buf.toString();
    methodsName = buf2.toString();
    
    ProtocolUtils.closeAll();
}
 
Example #7
Source File: DubboInvokerAvilableTest.java    From dubbo-2.6.5 with Apache License 2.0 6 votes vote down vote up
@Test
public void test_normal_channel_close_wait_gracefully() throws Exception {

    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?scope=true&lazy=false");
    Exporter<IDemoService> exporter = ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    Exporter<IDemoService> exporter0 = ProtocolUtils.export(new DemoServiceImpl0(), IDemoService.class, url);

    DubboInvoker<?> invoker = (DubboInvoker<?>) protocol.refer(IDemoService.class, url);

    long start = System.currentTimeMillis();

    try{
        System.setProperty(Constants.SHUTDOWN_WAIT_KEY, "2000");
        protocol.destroy();
    }finally {
        System.getProperties().remove(Constants.SHUTDOWN_WAIT_KEY);
    }

    long waitTime = System.currentTimeMillis() - start;

    Assert.assertTrue(waitTime >= 2000);
    Assert.assertEquals(false, invoker.isAvailable());
}
 
Example #8
Source File: DubboInvokerAvilableTest.java    From dubbo-2.6.5 with Apache License 2.0 6 votes vote down vote up
@Test
public void test_Lazy_ChannelReadOnly() throws Exception {
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?lazy=true&connections=1");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);

    DubboInvoker<?> invoker = (DubboInvoker<?>) protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());

    try {
        getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
        fail();
    } catch (IllegalStateException e) {

    }
    //invoke method --> init client

    IDemoService service = (IDemoService) proxy.getProxy(invoker);
    Assert.assertEquals("ok", service.get());

    Assert.assertEquals(true, invoker.isAvailable());
    getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
    Assert.assertEquals(false, invoker.isAvailable());
}
 
Example #9
Source File: ListTelnetHandlerTest.java    From dubbox with Apache License 2.0 6 votes vote down vote up
@BeforeClass
public static void setUp() {
    StringBuilder buf = new StringBuilder();
    StringBuilder buf2 = new StringBuilder();
    Method[] methods = DemoService.class.getMethods();
    for (Method method : methods) {
        if (buf.length() > 0) {
            buf.append("\r\n");
        }
        if (buf2.length() > 0) {
            buf2.append("\r\n");
        }
        buf2.append(method.getName());
        buf.append(ReflectUtils.getName(method));
    }
    detailMethods = buf.toString();
    methodsName = buf2.toString();
    
    ProtocolUtils.closeAll();
}
 
Example #10
Source File: DubboInvokerAvilableTest.java    From dubbox with Apache License 2.0 6 votes vote down vote up
@Test
public void test_Lazy_ChannelReadOnly() throws Exception{
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?lazy=true&connections=1");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());
    
    try{
        getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
        fail();
    }catch (IllegalStateException e) {
        
    }
    //invoke method --> init client
    
    IDemoService service = (IDemoService)proxy.getProxy(invoker);
    Assert.assertEquals("ok", service.get());
    
    Assert.assertEquals(true, invoker.isAvailable());
    getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
    Assert.assertEquals(false, invoker.isAvailable());
}
 
Example #11
Source File: DubboInvokerAvilableTest.java    From dubbox-hystrix with Apache License 2.0 6 votes vote down vote up
@Test
public void test_Lazy_ChannelReadOnly() throws Exception{
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?lazy=true&connections=1");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());
    
    try{
        getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
        fail();
    }catch (IllegalStateException e) {
        
    }
    //invoke method --> init client
    
    IDemoService service = (IDemoService)proxy.getProxy(invoker);
    Assert.assertEquals("ok", service.get());
    
    Assert.assertEquals(true, invoker.isAvailable());
    getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);
    Assert.assertEquals(false, invoker.isAvailable());
}
 
Example #12
Source File: DubboInvokerAvilableTest.java    From dubbo-2.6.5 with Apache License 2.0 5 votes vote down vote up
@Test
public void test_NoInvokers() throws Exception {
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?connections=1");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);

    DubboInvoker<?> invoker = (DubboInvoker<?>) protocol.refer(IDemoService.class, url);

    ExchangeClient[] clients = getClients(invoker);
    clients[0].close();
    Assert.assertEquals(false, invoker.isAvailable());

}
 
Example #13
Source File: DubboInvokerAvilableTest.java    From dubbo-2.6.5 with Apache License 2.0 5 votes vote down vote up
@Test
public void test_Normal_ChannelReadOnly() throws Exception {
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);

    DubboInvoker<?> invoker = (DubboInvoker<?>) protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());

    getClients(invoker)[0].setAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY, Boolean.TRUE);

    Assert.assertEquals(false, invoker.isAvailable());

    // reset status since connection is shared among invokers
    getClients(invoker)[0].removeAttribute(Constants.CHANNEL_ATTRIBUTE_READONLY_KEY);
}
 
Example #14
Source File: DubboInvokerAvilableTest.java    From dubbox-hystrix with Apache License 2.0 5 votes vote down vote up
@Test
public void test_Normal_available(){
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());
    invoker.destroy();
    Assert.assertEquals(false, invoker.isAvailable());
}
 
Example #15
Source File: DubboInvokerAvilableTest.java    From dubbo-2.6.5 with Apache License 2.0 5 votes vote down vote up
@Test
public void test_Normal_available() {
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);

    DubboInvoker<?> invoker = (DubboInvoker<?>) protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());
    invoker.destroy();
    Assert.assertEquals(false, invoker.isAvailable());
}
 
Example #16
Source File: DubboLazyConnectTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testSticky4() {
    int port = NetUtils.getAvailablePort();
    URL url = URL.valueOf("dubbo://127.0.0.1:"+port+"/hi?"+Constants.LAZY_CONNECT_KEY+"=true");
    
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    IDemoService service = (IDemoService)ProtocolUtils.refer(IDemoService.class, url);
    Assert.assertEquals("ok", service.get());
}
 
Example #17
Source File: DubboInvokerAvilableTest.java    From dubbox-hystrix with Apache License 2.0 5 votes vote down vote up
@Test
public void test_NoInvokers() throws Exception{
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?connections=1");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    
    ExchangeClient[] clients = getClients(invoker);
    clients[0].close();
    Assert.assertEquals(false, invoker.isAvailable());
    
}
 
Example #18
Source File: DubboInvokerAvilableTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void test_NoInvokers() throws Exception{
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?connections=1");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    
    ExchangeClient[] clients = getClients(invoker);
    clients[0].close();
    Assert.assertEquals(false, invoker.isAvailable());
    
}
 
Example #19
Source File: ExplicitCallbackTest.java    From dubbox-hystrix with Apache License 2.0 5 votes vote down vote up
public void exportService(){
  //先export一个service,测试共享连接的问题
    serviceURL=serviceURL.addParameter("connections", 1);
    URL hellourl = serviceURL.setPath(IHelloService.class.getName());
    hello_exporter = ProtocolUtils.export(new HelloServiceImpl(), IHelloService.class, hellourl);
    exporter = ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, serviceURL);
}
 
Example #20
Source File: DubboInvokerAvilableTest.java    From dubbo3 with Apache License 2.0 5 votes vote down vote up
@Test
public void test_NoInvokers() throws Exception{
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?connections=1");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    
    ExchangeClient[] clients = getClients(invoker);
    clients[0].close();
    Assert.assertEquals(false, invoker.isAvailable());
    
}
 
Example #21
Source File: DubboLazyConnectTest.java    From dubbox-hystrix with Apache License 2.0 5 votes vote down vote up
@Test
public void testSticky4() {
    int port = NetUtils.getAvailablePort();
    URL url = URL.valueOf("dubbo://127.0.0.1:"+port+"/hi?"+Constants.LAZY_CONNECT_KEY+"=true");
    
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    IDemoService service = (IDemoService)ProtocolUtils.refer(IDemoService.class, url);
    Assert.assertEquals("ok", service.get());
}
 
Example #22
Source File: ExplicitCallbackTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
public void exportService(){
  //先export一个service,测试共享连接的问题
    serviceURL=serviceURL.addParameter("connections", 1);
    URL hellourl = serviceURL.setPath(IHelloService.class.getName());
    hello_exporter = ProtocolUtils.export(new HelloServiceImpl(), IHelloService.class, hellourl);
    exporter = ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, serviceURL);
}
 
Example #23
Source File: ExplicitCallbackTest.java    From dubbo-2.6.5 with Apache License 2.0 5 votes vote down vote up
public void exportService() {
    // export one service first, to test connection sharing
    serviceURL = serviceURL.addParameter("connections", 1);
    URL hellourl = serviceURL.setPath(IHelloService.class.getName());
    hello_exporter = ProtocolUtils.export(new HelloServiceImpl(), IHelloService.class, hellourl);
    exporter = ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, serviceURL);
}
 
Example #24
Source File: ExplicitCallbackTest.java    From dubbo3 with Apache License 2.0 5 votes vote down vote up
public void exportService(){
  //先export一个service,测试共享连接的问题
    serviceURL=serviceURL.addParameter("connections", 1);
    URL hellourl = serviceURL.setPath(IHelloService.class.getName());
    hello_exporter = ProtocolUtils.export(new HelloServiceImpl(), IHelloService.class, hellourl);
    exporter = ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, serviceURL);
}
 
Example #25
Source File: DubboLazyConnectTest.java    From dubbo3 with Apache License 2.0 5 votes vote down vote up
@Test
public void testSticky4() {
    int port = NetUtils.getAvailablePort();
    URL url = URL.valueOf("dubbo://127.0.0.1:"+port+"/hi?"+Constants.LAZY_CONNECT_KEY+"=true");
    
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    IDemoService service = (IDemoService)ProtocolUtils.refer(IDemoService.class, url);
    Assert.assertEquals("ok", service.get());
}
 
Example #26
Source File: DubboInvokerAvilableTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void test_Normal_available(){
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());
    invoker.destroy();
    Assert.assertEquals(false, invoker.isAvailable());
}
 
Example #27
Source File: DubboInvokerAvilableTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void test_Normal_available(){
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());
    invoker.destroy();
    Assert.assertEquals(false, invoker.isAvailable());
}
 
Example #28
Source File: DubboInvokerAvilableTest.java    From dubbox with Apache License 2.0 5 votes vote down vote up
@Test
public void test_NoInvokers() throws Exception{
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi?connections=1");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    
    ExchangeClient[] clients = getClients(invoker);
    clients[0].close();
    Assert.assertEquals(false, invoker.isAvailable());
    
}
 
Example #29
Source File: DubboLazyConnectTest.java    From dubbo-2.6.5 with Apache License 2.0 5 votes vote down vote up
@Test
public void testSticky4() {
    int port = NetUtils.getAvailablePort();
    URL url = URL.valueOf("dubbo://127.0.0.1:" + port + "/hi?" + Constants.LAZY_CONNECT_KEY + "=true");

    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);

    IDemoService service = (IDemoService) ProtocolUtils.refer(IDemoService.class, url);
    Assert.assertEquals("ok", service.get());
}
 
Example #30
Source File: DubboInvokerAvilableTest.java    From dubbo3 with Apache License 2.0 5 votes vote down vote up
@Test
public void test_Normal_available(){
    URL url = URL.valueOf("dubbo://127.0.0.1:20883/hi");
    ProtocolUtils.export(new DemoServiceImpl(), IDemoService.class, url);
    
    DubboInvoker<?> invoker = (DubboInvoker<?>)protocol.refer(IDemoService.class, url);
    Assert.assertEquals(true, invoker.isAvailable());
    invoker.destroy();
    Assert.assertEquals(false, invoker.isAvailable());
}