projects
/
demos
/
microservices
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
streams - Übungen - Microservices - Schritt 02
[demos/microservices]
/
details
/
src
/
main
/
java
/
de
/
trion
/
microservices
/
details
/
DetailsService.java
diff --git
a/details/src/main/java/de/trion/microservices/details/DetailsService.java
b/details/src/main/java/de/trion/microservices/details/DetailsService.java
index
a1f8dbd
..
a6f918f
100644
(file)
--- a/
details/src/main/java/de/trion/microservices/details/DetailsService.java
+++ b/
details/src/main/java/de/trion/microservices/details/DetailsService.java
@@
-36,6
+36,8
@@
public class DetailsService
private final int port;
private final KafkaStreams streams;
private final int port;
private final KafkaStreams streams;
+ private ReadOnlyKeyValueStore<String, Order> orders;
+
public DetailsService(ApplicationProperties config)
{
public DetailsService(ApplicationProperties config)
{
@@
-70,6
+72,11
@@
public class DetailsService
LOG.error("Could not close KafkaStreams!", ex);
}
});
LOG.error("Could not close KafkaStreams!", ex);
}
});
+ streams.setStateListener((newState, oldState) ->
+ {
+ if (newState == KafkaStreams.State.RUNNING)
+ orders = streams.store(topic, QueryableStoreTypes.keyValueStore());
+ });
}
}
@@
-92,8
+99,6
@@
public class DetailsService
.build();
}
.build();
}
- ReadOnlyKeyValueStore<String, Order> orders;
- orders = streams.store(topic, QueryableStoreTypes.keyValueStore());
Order order = orders.get(id);
return order == null
? ResponseEntity.notFound().build()
Order order = orders.get(id);
return order == null
? ResponseEntity.notFound().build()