Java Code Examples for org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService#streamSubscriber()
The following examples show how to use
org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService#streamSubscriber() .
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: RxJava2IntegrationTest.java From wildfly-camel with Apache License 2.0 | 6 votes |
@Test public void testOnCompleteHeaderNotForwarded() throws Exception { CamelContext camelctx = createCamelContext(); camelctx.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("reactive-streams:numbers") .to("mock:endpoint"); } }); CamelReactiveStreamsService crs = CamelReactiveStreams.get(camelctx); Subscriber<Integer> numbers = crs.streamSubscriber("numbers", Integer.class); camelctx.start(); try { Flowable.<Integer>empty().subscribe(numbers); MockEndpoint endpoint = camelctx.getEndpoint("mock:endpoint", MockEndpoint.class); endpoint.expectedMessageCount(0); endpoint.assertIsSatisfied(200); } finally { camelctx.close(); } }
Example 2
Source File: RxJava2IntegrationTest.java From wildfly-camel with Apache License 2.0 | 5 votes |
@Test public void testOnCompleteHeaderForwarded() throws Exception { CamelContext camelctx = createCamelContext(); camelctx.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("reactive-streams:numbers?forwardOnComplete=true") .to("mock:endpoint"); } }); CamelReactiveStreamsService crs = CamelReactiveStreams.get(camelctx); Subscriber<Integer> numbers = crs.streamSubscriber("numbers", Integer.class); camelctx.start(); try { Flowable.<Integer>empty().subscribe(numbers); MockEndpoint endpoint = camelctx.getEndpoint("mock:endpoint", MockEndpoint.class); endpoint.expectedMessageCount(1); endpoint.expectedHeaderReceived(ReactiveStreamsConstants.REACTIVE_STREAMS_EVENT_TYPE, "onComplete"); endpoint.expectedBodiesReceived(new Object[]{null}); endpoint.assertIsSatisfied(); } finally { camelctx.close(); } }
Example 3
Source File: RxJava2IntegrationTest.java From wildfly-camel with Apache License 2.0 | 5 votes |
@Test public void testOnNextHeaderForwarded() throws Exception { CamelContext camelctx = createCamelContext(); camelctx.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("reactive-streams:numbers") .to("mock:endpoint"); } }); CamelReactiveStreamsService crs = CamelReactiveStreams.get(camelctx); Subscriber<Integer> numbers = crs.streamSubscriber("numbers", Integer.class); camelctx.start(); try { Flowable.just(1).subscribe(numbers); MockEndpoint endpoint = camelctx.getEndpoint("mock:endpoint", MockEndpoint.class); endpoint.expectedHeaderReceived(ReactiveStreamsConstants.REACTIVE_STREAMS_EVENT_TYPE, "onNext"); endpoint.expectedMessageCount(1); endpoint.assertIsSatisfied(); Exchange ex = endpoint.getExchanges().get(0); Assert.assertEquals(1, ex.getIn().getBody()); } finally { camelctx.close(); } }
Example 4
Source File: RxJava2IntegrationTest.java From wildfly-camel with Apache License 2.0 | 5 votes |
@Test public void testOnErrorHeaderForwarded() throws Exception { CamelContext camelctx = createCamelContext(); camelctx.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("reactive-streams:numbers?forwardOnError=true") .to("mock:endpoint"); } }); CamelReactiveStreamsService crs = CamelReactiveStreams.get(camelctx); Subscriber<Integer> numbers = crs.streamSubscriber("numbers", Integer.class); camelctx.start(); try { RuntimeException ex = new RuntimeException("1"); Flowable.just(1) .map(n -> { if (n == 1) { throw ex; } return n; }) .subscribe(numbers); MockEndpoint endpoint = camelctx.getEndpoint("mock:endpoint", MockEndpoint.class); endpoint.expectedMessageCount(1); endpoint.expectedHeaderReceived(ReactiveStreamsConstants.REACTIVE_STREAMS_EVENT_TYPE, "onError"); endpoint.assertIsSatisfied(); Exchange exchange = endpoint.getExchanges().get(0); Assert.assertEquals(ex, exchange.getIn().getBody()); } finally { camelctx.close(); } }
Example 5
Source File: RxJava2IntegrationTest.java From wildfly-camel with Apache License 2.0 | 5 votes |
@Test public void testOnErrorHeaderNotForwarded() throws Exception { CamelContext camelctx = createCamelContext(); camelctx.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("reactive-streams:numbers") .to("mock:endpoint"); } }); CamelReactiveStreamsService crs = CamelReactiveStreams.get(camelctx); Subscriber<Integer> numbers = crs.streamSubscriber("numbers", Integer.class); camelctx.start(); try { RuntimeException ex = new RuntimeException("1"); Flowable.just(1) .map(n -> { if (n == 1) { throw ex; } return n; }) .subscribe(numbers); MockEndpoint endpoint = camelctx.getEndpoint("mock:endpoint", MockEndpoint.class); endpoint.expectedMessageCount(0); endpoint.assertIsSatisfied(200); } finally { camelctx.close(); } }
Example 6
Source File: RxJava2IntegrationTest.java From wildfly-camel with Apache License 2.0 | 4 votes |
@Test public void testSubscriber() throws Exception { CamelContext camelctx = createCamelContext(); camelctx.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("reactive-streams:sub1") .to("mock:sub1"); from("reactive-streams:sub2") .to("mock:sub2"); from("timer:tick?period=50") .setBody() .simple("${random(500)}") .to("mock:sub3") .to("reactive-streams:pub"); } }); CamelReactiveStreamsService crs = CamelReactiveStreams.get(camelctx); Subscriber<Integer> sub1 = crs.streamSubscriber("sub1", Integer.class); Subscriber<Integer> sub2 = crs.streamSubscriber("sub2", Integer.class); Publisher<Integer> pub = crs.fromStream("pub", Integer.class); pub.subscribe(sub1); pub.subscribe(sub2); camelctx.start(); try { int count = 2; MockEndpoint e1 = camelctx.getEndpoint("mock:sub1", MockEndpoint.class); e1.expectedMinimumMessageCount(count); e1.assertIsSatisfied(); MockEndpoint e2 = camelctx.getEndpoint("mock:sub2", MockEndpoint.class); e2.expectedMinimumMessageCount(count); e2.assertIsSatisfied(); MockEndpoint e3 = camelctx.getEndpoint("mock:sub3", MockEndpoint.class); e3.expectedMinimumMessageCount(count); e3.assertIsSatisfied(); for (int i = 0; i < count; i++) { Exchange ex1 = e1.getExchanges().get(i); Exchange ex2 = e2.getExchanges().get(i); Exchange ex3 = e3.getExchanges().get(i); Assert.assertEquals(ex1.getIn().getBody(), ex2.getIn().getBody()); Assert.assertEquals(ex1.getIn().getBody(), ex3.getIn().getBody()); } } finally { camelctx.close(); } }