1 Star 0 Fork 0

java_long / hystrixTest

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
HystrixHelloWorld.java 2.72 KB
一键复制 编辑 原始数据 按行查看 历史
package com.java.llan;
import com.netflix.hystrix.HystrixCommand;
import com.netflix.hystrix.HystrixCommandGroupKey;
import org.junit.Test;
import rx.Observable;
import rx.Observer;
import rx.functions.Action1;
import java.util.concurrent.Future;
import static org.junit.Assert.*;
/**
* Created by llan on 2018/5/1218:22.
*/
public class HystrixHelloWorld extends HystrixCommand<String> {
private final String name;
public HystrixHelloWorld(String name) {
super(HystrixCommandGroupKey.Factory.asKey("ExampleGroup"));
this.name = name;
}
@Override
protected String run() {
return "Hello " + name + "!";
}
public static class UnitTest {
@Test
public void testSynchronous() { //测试同步
assertEquals("Hello World!", new HystrixHelloWorld("World").execute());
assertEquals("Hello Bob!", new HystrixHelloWorld("Bob").execute());
}
@Test
public void testAsynchronous1() throws Exception { //测试异步
assertEquals("Hello World!", new HystrixHelloWorld("World").queue().get());
assertEquals("Hello Bob!", new HystrixHelloWorld("Bob").queue().get());
}
@Test
public void testAsynchronous2() throws Exception { //测试异步
Future<String> fWorld = new HystrixHelloWorld("World").queue();
Future<String> fBob = new HystrixHelloWorld("Bob").queue();
assertEquals("Hello World!", fWorld.get());
assertEquals("Hello Bob!", fBob.get());
}
@Test
public void testObservable() throws Exception {
Observable<String> fWorld = new HystrixHelloWorld("World").observe();
Observable<String> fBob = new HystrixHelloWorld("Bob").observe();
// blocking
assertEquals("Hello World!", fWorld.toBlocking().single());
assertEquals("Hello Bob!", fBob.toBlocking().single());
fWorld.subscribe(new Observer<String>() {
@Override
public void onCompleted() {
// 这里可以什么都不做
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
}
@Override
public void onNext(String v) {
System.out.println("onNext: " + v);
}
});
fBob.subscribe(new Action1<String>() {
@Override
public void call(String v) {
System.out.println("onNext: " + v);
}
});
}
}
}
Java
1
https://gitee.com/java_long/hystrixTest.git
git@gitee.com:java_long/hystrixTest.git
java_long
hystrixTest
hystrixTest
master

搜索帮助