├── .gitignore ├── LICENSE ├── README.md ├── consumer.properties ├── pom.xml ├── src ├── main │ ├── avro │ │ ├── binary.avsc │ │ ├── change.avsc │ │ ├── counter.avsc │ │ ├── customer-id.avsc │ │ ├── customer-with-region.avsc │ │ ├── customer.avsc │ │ ├── hexstring.avsc │ │ ├── largecounter.avsc │ │ ├── order.avsc │ │ ├── orderItem.avsc │ │ ├── pricepoint.avsc │ │ ├── product.avsc │ │ ├── region.avsc │ │ ├── revision.avsc │ │ ├── sensor.avsc │ │ ├── suit.avsc │ │ └── user.avdl │ ├── java │ │ ├── admin │ │ │ └── Admin.java │ │ ├── common │ │ │ ├── AbstractBase.java │ │ │ ├── RegionCode.java │ │ │ ├── SerdeGenerator.java │ │ │ └── TimestampProvider.java │ │ ├── consumer │ │ │ ├── AbstractBaseConsumer.java │ │ │ ├── ConsumeAndProduceTwo.java │ │ │ ├── ConsumeSensorData.java │ │ │ ├── CounterConsumer.java │ │ │ ├── CustomerConsumer.java │ │ │ ├── NumberConsumer.java │ │ │ └── ProductConsumer.java │ │ ├── processor │ │ │ └── CustomerDeduplicator.java │ │ ├── producer │ │ │ ├── AbstractBaseProducer.java │ │ │ ├── AbstractProducer.java │ │ │ ├── BinaryProducer.java │ │ │ ├── CounterProducer.java │ │ │ ├── CustomerProducer.java │ │ │ ├── CustomerWithKeyProducer.java │ │ │ ├── GenericOrderProducer.java │ │ │ ├── NumberProducer.java │ │ │ ├── OrderItemProducer.java │ │ │ ├── PricePointProducer.java │ │ │ ├── ProductProducer.java │ │ │ ├── RegionProducer.java │ │ │ ├── SensorDataProducer.java │ │ │ ├── SuitProducer.java │ │ │ └── TransactionalProducer.java │ │ ├── streams │ │ │ ├── AbstractStream.java │ │ │ ├── BinaryConversionStream.java │ │ │ ├── BootcampHelloWorld.java │ │ │ ├── CustomerDeduplicateJoin.java │ │ │ ├── CustomerJoinGlobalRegionStream.java │ │ │ ├── CustomerJoinRegionNoRepartitionStream.java │ │ │ ├── CustomerJoinRegionStream.java │ │ │ ├── CustomerStream.java │ │ │ ├── PricePointGlobalTable.java │ │ │ ├── PricePointStream.java │ │ │ └── PricePointTable.java │ │ └── testcontainers │ │ │ └── SchemaRegistryContainer.java │ └── resources │ │ └── log4j.properties └── test │ └── java │ ├── admin │ └── AdminTest.java │ ├── producer │ └── CustomerProducerTest.java │ └── streams │ └── CustomerDeduplicationStreamTest.java └── tuning.properties /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/README.md -------------------------------------------------------------------------------- /consumer.properties: -------------------------------------------------------------------------------- 1 | max.poll.records=1000 2 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/avro/binary.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/binary.avsc -------------------------------------------------------------------------------- /src/main/avro/change.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/change.avsc -------------------------------------------------------------------------------- /src/main/avro/counter.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/counter.avsc -------------------------------------------------------------------------------- /src/main/avro/customer-id.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/customer-id.avsc -------------------------------------------------------------------------------- /src/main/avro/customer-with-region.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/customer-with-region.avsc -------------------------------------------------------------------------------- /src/main/avro/customer.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/customer.avsc -------------------------------------------------------------------------------- /src/main/avro/hexstring.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/hexstring.avsc -------------------------------------------------------------------------------- /src/main/avro/largecounter.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/largecounter.avsc -------------------------------------------------------------------------------- /src/main/avro/order.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/order.avsc -------------------------------------------------------------------------------- /src/main/avro/orderItem.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/orderItem.avsc -------------------------------------------------------------------------------- /src/main/avro/pricepoint.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/pricepoint.avsc -------------------------------------------------------------------------------- /src/main/avro/product.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/product.avsc -------------------------------------------------------------------------------- /src/main/avro/region.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/region.avsc -------------------------------------------------------------------------------- /src/main/avro/revision.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/revision.avsc -------------------------------------------------------------------------------- /src/main/avro/sensor.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/sensor.avsc -------------------------------------------------------------------------------- /src/main/avro/suit.avsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/suit.avsc -------------------------------------------------------------------------------- /src/main/avro/user.avdl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/avro/user.avdl -------------------------------------------------------------------------------- /src/main/java/admin/Admin.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/admin/Admin.java -------------------------------------------------------------------------------- /src/main/java/common/AbstractBase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/common/AbstractBase.java -------------------------------------------------------------------------------- /src/main/java/common/RegionCode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/common/RegionCode.java -------------------------------------------------------------------------------- /src/main/java/common/SerdeGenerator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/common/SerdeGenerator.java -------------------------------------------------------------------------------- /src/main/java/common/TimestampProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/common/TimestampProvider.java -------------------------------------------------------------------------------- /src/main/java/consumer/AbstractBaseConsumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/consumer/AbstractBaseConsumer.java -------------------------------------------------------------------------------- /src/main/java/consumer/ConsumeAndProduceTwo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/consumer/ConsumeAndProduceTwo.java -------------------------------------------------------------------------------- /src/main/java/consumer/ConsumeSensorData.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/consumer/ConsumeSensorData.java -------------------------------------------------------------------------------- /src/main/java/consumer/CounterConsumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/consumer/CounterConsumer.java -------------------------------------------------------------------------------- /src/main/java/consumer/CustomerConsumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/consumer/CustomerConsumer.java -------------------------------------------------------------------------------- /src/main/java/consumer/NumberConsumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/consumer/NumberConsumer.java -------------------------------------------------------------------------------- /src/main/java/consumer/ProductConsumer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/consumer/ProductConsumer.java -------------------------------------------------------------------------------- /src/main/java/processor/CustomerDeduplicator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/processor/CustomerDeduplicator.java -------------------------------------------------------------------------------- /src/main/java/producer/AbstractBaseProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/AbstractBaseProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/AbstractProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/AbstractProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/BinaryProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/BinaryProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/CounterProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/CounterProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/CustomerProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/CustomerProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/CustomerWithKeyProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/CustomerWithKeyProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/GenericOrderProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/GenericOrderProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/NumberProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/NumberProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/OrderItemProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/OrderItemProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/PricePointProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/PricePointProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/ProductProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/ProductProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/RegionProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/RegionProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/SensorDataProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/SensorDataProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/SuitProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/SuitProducer.java -------------------------------------------------------------------------------- /src/main/java/producer/TransactionalProducer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/producer/TransactionalProducer.java -------------------------------------------------------------------------------- /src/main/java/streams/AbstractStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/AbstractStream.java -------------------------------------------------------------------------------- /src/main/java/streams/BinaryConversionStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/BinaryConversionStream.java -------------------------------------------------------------------------------- /src/main/java/streams/BootcampHelloWorld.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/BootcampHelloWorld.java -------------------------------------------------------------------------------- /src/main/java/streams/CustomerDeduplicateJoin.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/CustomerDeduplicateJoin.java -------------------------------------------------------------------------------- /src/main/java/streams/CustomerJoinGlobalRegionStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/CustomerJoinGlobalRegionStream.java -------------------------------------------------------------------------------- /src/main/java/streams/CustomerJoinRegionNoRepartitionStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/CustomerJoinRegionNoRepartitionStream.java -------------------------------------------------------------------------------- /src/main/java/streams/CustomerJoinRegionStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/CustomerJoinRegionStream.java -------------------------------------------------------------------------------- /src/main/java/streams/CustomerStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/CustomerStream.java -------------------------------------------------------------------------------- /src/main/java/streams/PricePointGlobalTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/PricePointGlobalTable.java -------------------------------------------------------------------------------- /src/main/java/streams/PricePointStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/PricePointStream.java -------------------------------------------------------------------------------- /src/main/java/streams/PricePointTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/streams/PricePointTable.java -------------------------------------------------------------------------------- /src/main/java/testcontainers/SchemaRegistryContainer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/java/testcontainers/SchemaRegistryContainer.java -------------------------------------------------------------------------------- /src/main/resources/log4j.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/main/resources/log4j.properties -------------------------------------------------------------------------------- /src/test/java/admin/AdminTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/test/java/admin/AdminTest.java -------------------------------------------------------------------------------- /src/test/java/producer/CustomerProducerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/test/java/producer/CustomerProducerTest.java -------------------------------------------------------------------------------- /src/test/java/streams/CustomerDeduplicationStreamTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sknop/kafka_transactions/HEAD/src/test/java/streams/CustomerDeduplicationStreamTest.java -------------------------------------------------------------------------------- /tuning.properties: -------------------------------------------------------------------------------- 1 | batch.size=65536 2 | linger.ms=10 3 | 4 | --------------------------------------------------------------------------------