Alle Blogbeiträge zum Thema: java

This is the second part of our exploration into co- and contravariance. In part one, we covered the basic concepts and intuitions behind variance in type systems. Hopefully it already helped you to gain better understanding in the various co- and contravariance concepts. If you still struggle and change minusses to plusses or vice versa (or super to extend clauses) then this second part is for you.

A major reason for the popularity of JVM languages is the ability to interoperate with Java. This enables you to use the vast ecosystem of Java libraries and frameworks in the language of your choice, such as Kotlin. However, one of the challenges of using Kotlin in a Java environment is dealing with nullability. In contrast to Java, Kotlin has a strong type system that distinguishes between nullable and non-nullable types. This is a huge boon for Kotlin developers, as it helps to already prevent null pointer exceptions at compile time.

Murphy’s Law sagt: “Anything that can go wrong will go wrong” - wenn auf etwas Verlass ist, dann auf den Fehlerteufel. Deshalb schauen wir uns an, wie wir in den Kafka-Consumern die Event-Verarbeitung mit Retries robuster bauen können. Wir benutzen im Projekt Kafka mit Kotlin und spring-kafka, die grundlegenden Konzepte lassen sich aber auch auf andere Systeme übertragen.

As this has been asked on the play mailinglist this post shall guide you through the setup of MyBatis with Play2. For the integration of MyBatis and Play we’re using the MyBatis-Guice subproject, so we can inject MyBatis mappers into managed play controllers (currently only documented in Play 2.1 Highlights) - or mappers into repositories into services into controllers if you like ;-)