franz

package franz

Type members

Classlikes

final case class BatchedStream(topic: Subscription, consumerSettings: ConsumerSettings, batchSize: Int, batchLimit: FiniteDuration, keyDeserializer: Deserializer[Any, DynamicJson], valueDeserializer: Deserializer[Any, DynamicJson], blockOnCommit: Boolean)
Companion:
object

A Kafka stream which will batch up records by the least of either a time-window or max-size, and then use the provided 'persist' function on each batch

A Kafka stream which will batch up records by the least of either a time-window or max-size, and then use the provided 'persist' function on each batch

Companion:
class
object DataGen

Code which knows how to create test json from an avro schema

Code which knows how to create test json from an avro schema

case class DynamicJson(underlyingJson: Json) extends Dynamic

Like circe optics - pimped dynamic type on top of circe json

Like circe optics - pimped dynamic type on top of circe json

Companion:
object
Companion:
class
Companion:
class
final case class DynamicProducer(producerConfig: FranzConfig)
Companion:
object
Companion:
class
final case class FranzConfig(franzConfig: Config)
Companion:
object
object Recipes

Various recipes for operating on Kafka

Various recipes for operating on Kafka

object SchemaGen
final case class Seed(long: Long)
Companion:
object
object Seed
Companion:
class
Companion:
class
final case class SerdeSupport(config: FranzConfig)
Companion:
object
case class State[S, A](run: S => (A, S))
Companion:
object
object State
Companion:
class
sealed trait SupportedType[A]

This is used to be able to create a particular type from a json input.

This is used to be able to create a particular type from a json input.

It's used by the KafkaPublishService in order to shove in ProducerRecord's from user REST input

Companion:
object
Companion:
class
object implicits

Types

type CRecord = CommittableRecord[DynamicJson, DynamicJson]
type KafkaRecord = ConsumerRecord[DynamicJson, DynamicJson]

Extensions

Extensions

extension (admin: AdminClient)
def countByTopic(topics: Iterable[String]): ZIO[Any, Throwable, Map[String, Long]]
def offsetsByTopic(topics: Iterable[String], spec: OffsetSpec): ZIO[Any, Throwable, Map[TopicPartition, ListOffsetsResultInfo]]
extension [A](data: A)
def asAvro(namespace: String)(implicit evidence$1: Encoder[A]): GenericRecord
extension (hocon: String)
def parseAsAvro(namespace: String): GenericRecord
extension [T](x: T | Null)
inline def nn: T