diff --git a/docs/streams/upgrade-guide.html b/docs/streams/upgrade-guide.html index fd5f3f044ed..93f2e3eb115 100644 --- a/docs/streams/upgrade-guide.html +++ b/docs/streams/upgrade-guide.html @@ -45,7 +45,45 @@
+ With 1.0 a major API refactoring was accomplished and the new API is cleaner and easier to use.
+ This change includes the five main classes KafakStreams
,
KStreamBuilder
,
+ KStream
, KTable
, and TopologyBuilder
(and some more others).
+ All changes are fully backward compatible as old API is only deprecated but not removed.
+ We recommend to move to the new API as soon as you can.
+ We will summarize all API changes in the next paragraphs.
+
+ The two main classes to specify a topology via the DSL (KStreamBuilder
)
+ or the Processor API (TopologyBuilder
) were deprecated and replaced by
+ StreamsBuilder
and Topology
(both new classes are located in
+ package
org.apache.kafka.streams
).
+ Note, that StreamsBuilder
does not extend Topology
, i.e.,
+ the class hierarchy is different now.
+ The new classes have basically the same methods as the old ones to build a topology via DSL or Processor API.
+ However, some internal methods that were public in KStreamBuilder
+ and TopologyBuilder
but not part of the actual API are not present
+ in the new classe any longer.
+ Furthermore, some overloads were simplified compared to the original classes.
+ See KIP-120
+ and KIP-182
+ for full details.
+
+ Changing how a topology is specified also affects KafkaStreams
constructors,
+ that now only accept a
Topology
.
+ Using the DSL builder class StreamsBuilder
one can get the constructed
+ Topology
via StreamsBuilder#build()
.
+ Additionally, a new class org.apache.kafka.streams.TopologyDescription
+ (and some more dependent classes) were added.
+ Those can be used to get a detailed description of the specified topology
+ and can be obtained by calling Topology#describe()
.
+ An example using this new API is shown in the quickstart section.
+
The Processor API was extended to allow users to schedule punctuate
functions either based on data-driven stream time or wall-clock time.