Start 5.2 version; upgrade dependencies; fixes
This commit is contained in:
@@ -37,8 +37,6 @@ import org.springframework.integration.samples.cafe.OrderItem;
|
||||
import org.springframework.integration.scheduling.PollerMetadata;
|
||||
import org.springframework.integration.stream.CharacterStreamWritingMessageHandler;
|
||||
|
||||
import com.google.common.util.concurrent.Uninterruptibles;
|
||||
|
||||
/**
|
||||
* @author Artem Bilan
|
||||
* @since 3.0
|
||||
@@ -88,22 +86,24 @@ public class Application {
|
||||
.subFlowMapping(true, sf -> sf
|
||||
.channel(c -> c.queue(10))
|
||||
.publishSubscribeChannel(c -> c
|
||||
.subscribe(s -> s.handle(m -> Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS)))
|
||||
.subscribe(s -> s.handle(m -> sleepUninterruptibly(1, TimeUnit.SECONDS)))
|
||||
.subscribe(sub -> sub
|
||||
.<OrderItem, String>transform(p ->
|
||||
Thread.currentThread().getName()
|
||||
+ " prepared cold drink #" + this.coldDrinkCounter.incrementAndGet()
|
||||
+ " for order #" + p.getOrderNumber() + ": " + p)
|
||||
Thread.currentThread().getName() +
|
||||
" prepared cold drink #" +
|
||||
this.coldDrinkCounter.incrementAndGet() +
|
||||
" for order #" + p.getOrderNumber() + ": " + p)
|
||||
.handle(m -> System.out.println(m.getPayload())))))
|
||||
.subFlowMapping(false, sf -> sf
|
||||
.channel(c -> c.queue(10))
|
||||
.publishSubscribeChannel(c -> c
|
||||
.subscribe(s -> s.handle(m -> Uninterruptibles.sleepUninterruptibly(5, TimeUnit.SECONDS)))
|
||||
.subscribe(s -> s.handle(m -> sleepUninterruptibly(5, TimeUnit.SECONDS)))
|
||||
.subscribe(sub -> sub
|
||||
.<OrderItem, String>transform(p ->
|
||||
Thread.currentThread().getName()
|
||||
+ " prepared hot drink #" + this.hotDrinkCounter.incrementAndGet()
|
||||
+ " for order #" + p.getOrderNumber() + ": " + p)
|
||||
Thread.currentThread().getName() +
|
||||
" prepared hot drink #" +
|
||||
this.hotDrinkCounter.incrementAndGet() +
|
||||
" for order #" + p.getOrderNumber() + ": " + p)
|
||||
.handle(m -> System.out.println(m.getPayload())))))
|
||||
.defaultOutputToParentFlow())
|
||||
.<OrderItem, Drink>transform(orderItem ->
|
||||
@@ -121,4 +121,19 @@ public class Application {
|
||||
.handle(CharacterStreamWritingMessageHandler.stdout());
|
||||
}
|
||||
|
||||
private static void sleepUninterruptibly(long sleepFor, TimeUnit unit) {
|
||||
boolean interrupted = false;
|
||||
try {
|
||||
unit.sleep(sleepFor);
|
||||
}
|
||||
catch (InterruptedException e) {
|
||||
interrupted = true;
|
||||
}
|
||||
finally {
|
||||
if (interrupted) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user