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


Java ResponseFuture类代码示例

本文整理汇总了Java中com.alibaba.dubbo.remoting.exchange.ResponseFuture的典型用法代码示例。如果您正苦于以下问题:Java ResponseFuture类的具体用法?Java ResponseFuture怎么用?Java ResponseFuture使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


ResponseFuture类属于com.alibaba.dubbo.remoting.exchange包,在下文中一共展示了ResponseFuture类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: test

import com.alibaba.dubbo.remoting.exchange.ResponseFuture; //导入依赖的package包/类
private static void test(int port) throws Exception
{
    ExchangeChannel client = Exchangers.connect(URL.valueOf("dubbo://localhost:" + port));
	MockResult result = (MockResult)client.request(new RpcMessage(DemoService.class.getName(),"plus",new Class<?>[]{int.class, int.class},new Object[]{55,25})).get();
	System.out.println("55+25="+result.getResult());

	for(int i=0;i<100;i++)
		client.request(new RpcMessage(DemoService.class.getName(),"sayHello", new Class<?>[]{String.class},new Object[]{"qianlei"+i}));

	for(int i=0;i<100;i++)
		client.request(new Main.Data());

	System.out.println("=====test invoke=====");
	for(int i=0;i<100;i++){
		ResponseFuture future = client.request(new Main.Data());
		System.out.println("invoke and get");
		System.out.println("invoke result:" + future.get());
	}
	System.out.println("=====the end=====");
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:21,代码来源:Main.java

示例2: request

import com.alibaba.dubbo.remoting.exchange.ResponseFuture; //导入依赖的package包/类
public ResponseFuture request(Object msg, int timeout) throws RemotingException {
    this.invoked = msg;
    return new ResponseFuture() {
        public Object get() throws RemotingException {
            return received;
        }
        public Object get(int timeoutInMillis) throws RemotingException {
            return received;
        }
        public boolean isDone() {
            return true;
        }
        public void setCallback(ResponseCallback callback) {
        }
    };
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:17,代码来源:MockedClient.java

示例3: request

import com.alibaba.dubbo.remoting.exchange.ResponseFuture; //导入依赖的package包/类
public ResponseFuture request(Object msg, int timeout) throws RemotingException {
    this.invoked = msg;
    return new ResponseFuture() {
        public Object get() throws RemotingException {
            return received;
        }

        public Object get(int timeoutInMillis) throws RemotingException {
            return received;
        }

        public boolean isDone() {
            return true;
        }

        public void setCallback(ResponseCallback callback) {
        }
    };
}
 
开发者ID:l1325169021,项目名称:github-test,代码行数:20,代码来源:MockedClient.java

示例4: test

import com.alibaba.dubbo.remoting.exchange.ResponseFuture; //导入依赖的package包/类
private static void test(int port) throws Exception {
    ExchangeChannel client = Exchangers.connect(URL.valueOf("dubbo://localhost:" + port));
    MockResult result = (MockResult) client.request(new RpcMessage(DemoService.class.getName(), "plus", new Class<?>[]{int.class, int.class}, new Object[]{55, 25})).get();
    System.out.println("55+25=" + result.getResult());

    for (int i = 0; i < 100; i++)
        client.request(new RpcMessage(DemoService.class.getName(), "sayHello", new Class<?>[]{String.class}, new Object[]{"qianlei" + i}));

    for (int i = 0; i < 100; i++)
        client.request(new Main.Data());

    System.out.println("=====test invoke=====");
    for (int i = 0; i < 100; i++) {
        ResponseFuture future = client.request(new Main.Data());
        System.out.println("invoke and get");
        System.out.println("invoke result:" + future.get());
    }
    System.out.println("=====the end=====");
}
 
开发者ID:hufeng,项目名称:dubbo2.js,代码行数:20,代码来源:Main.java

示例5: asyncCallback

import com.alibaba.dubbo.remoting.exchange.ResponseFuture; //导入依赖的package包/类
private void asyncCallback(final Invoker<?> invoker, final Invocation invocation) {
    Future<?> f = RpcContext.getContext().getFuture();
    if (f instanceof FutureAdapter) {
        ResponseFuture future = ((FutureAdapter<?>)f).getFuture();
        future.setCallback(new ResponseCallback() {
            public void done(Object rpcResult) {
                if (rpcResult == null){
                    logger.error(new IllegalStateException("invalid result value : null, expected "+Result.class.getName()));
                    return;
                }
                ///must be rpcResult
                if (! (rpcResult instanceof Result)){
                    logger.error(new IllegalStateException("invalid result type :" + rpcResult.getClass() + ", expected "+Result.class.getName()));
                    return;
                }
                Result result = (Result) rpcResult;
                if (result.hasException()) {
                    fireThrowCallback(invoker, invocation, result.getException());
                } else {
                    fireReturnCallback(invoker, invocation, result.getValue());
                }
            }
            public void caught(Throwable exception) {
                fireThrowCallback(invoker, invocation, exception);
            }
        });
    }
}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:29,代码来源:FutureFilter.java


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