Back to Demos

Kafka Event Stream

Multi-topic consumer with auto-blocking based on KafkaController

Publish Events

Topic Statistics

Event Stream

No events yet. Click buttons above to generate events.

Production Code (Java)

// From auto-operation - KafkaController.java
@KafkaListener(topics = "${kafka.consumer.paygate.topic}", concurrency = "1")
public void handlePaygateLog(List<PuElement> records) {
    for (PuElement record : records) {
        InsertUserActivityMessage message = new InsertUserActivityMessage();
        message.readPuArray(array);
        if (message.getActivityType() == 2200) {  // Spam activity
            SpamUserPaygate spamUser = new SpamUserPaygate();
            spamUser.setUserName(message.getUsername());
            service.blockSpammer(spamUser, "user spam paygate");
        }
    }
}

@KafkaListener(topics = "${kafka.consumer.poker-scan.topic}", concurrency = "1")
public void handlePokerScan(String message) {
    Map<String, Object> payload = mapper.readValue(message, Map.class);
    String username = (String) payload.get("username");
    String error_type = (String) payload.get("error_type");

    SpamUserPaygate spamUser = new SpamUserPaygate();
    spamUser.setUserName(username);
    service.blockSpammerWithoutCheck(spamUser, "user spam poker");
}