Search in sources :

Example 1 with KafkaBasedNotificationReceiver

use of org.eclipse.hono.client.notification.kafka.KafkaBasedNotificationReceiver in project hono by eclipse.

the class DeviceRegistryNotificationsIT method testReceiveNotificationViaKafka.

/**
 * Verifies that Kafka-based notifications for adding tenant/device/credentials resources are received by a local
 * client.
 *
 * @param ctx The vert.x test context.
 * @throws InterruptedException if test is interrupted while running.
 */
@Test
@AssumeMessagingSystem(type = MessagingType.kafka)
public void testReceiveNotificationViaKafka(final VertxTestContext ctx) throws InterruptedException {
    final var notificationConsumerConfig = new NotificationKafkaConsumerConfigProperties();
    notificationConsumerConfig.setConsumerConfig(IntegrationTestSupport.getKafkaConsumerConfig().getConsumerConfig("notification-receiver"));
    receiver = new KafkaBasedNotificationReceiver(vertx, notificationConsumerConfig);
    testReceiveNotification(ctx);
}
Also used : NotificationKafkaConsumerConfigProperties(org.eclipse.hono.client.notification.kafka.NotificationKafkaConsumerConfigProperties) KafkaBasedNotificationReceiver(org.eclipse.hono.client.notification.kafka.KafkaBasedNotificationReceiver) Test(org.junit.jupiter.api.Test) AssumeMessagingSystem(org.eclipse.hono.tests.AssumeMessagingSystem)

Example 2 with KafkaBasedNotificationReceiver

use of org.eclipse.hono.client.notification.kafka.KafkaBasedNotificationReceiver in project hono by eclipse.

the class AbstractProtocolAdapterApplication method notificationReceiver.

/**
 * Creates the notification receiver.
 *
 * @return The bean instance.
 */
public NotificationReceiver notificationReceiver() {
    final NotificationReceiver notificationReceiver;
    if (kafkaNotificationConfig.isConfigured()) {
        notificationReceiver = new KafkaBasedNotificationReceiver(vertx, kafkaNotificationConfig);
    } else {
        final ClientConfigProperties notificationConfig = new ClientConfigProperties(downstreamSenderConfig);
        notificationConfig.setServerRole("Notification");
        notificationReceiver = new ProtonBasedNotificationReceiver(HonoConnection.newConnection(vertx, notificationConfig, tracer));
    }
    NotificationConstants.DEVICE_REGISTRY_NOTIFICATION_TYPES.forEach(notificationType -> {
        notificationReceiver.registerConsumer(notificationType, notification -> {
            NotificationEventBusSupport.sendNotification(vertx, notification);
        });
    });
    return notificationReceiver;
}
Also used : KafkaBasedNotificationReceiver(org.eclipse.hono.client.notification.kafka.KafkaBasedNotificationReceiver) ProtonBasedNotificationReceiver(org.eclipse.hono.client.notification.amqp.ProtonBasedNotificationReceiver) NotificationReceiver(org.eclipse.hono.notification.NotificationReceiver) KafkaBasedNotificationReceiver(org.eclipse.hono.client.notification.kafka.KafkaBasedNotificationReceiver) ClientConfigProperties(org.eclipse.hono.config.ClientConfigProperties) KafkaAdminClientConfigProperties(org.eclipse.hono.client.kafka.KafkaAdminClientConfigProperties) RequestResponseClientConfigProperties(org.eclipse.hono.client.RequestResponseClientConfigProperties) ProtonBasedNotificationReceiver(org.eclipse.hono.client.notification.amqp.ProtonBasedNotificationReceiver)

Example 3 with KafkaBasedNotificationReceiver

use of org.eclipse.hono.client.notification.kafka.KafkaBasedNotificationReceiver in project hono by eclipse.

the class Application method notificationReceiver.

/**
 * Creates the notification receiver.
 *
 * @return The bean instance.
 */
public NotificationReceiver notificationReceiver() {
    final NotificationReceiver notificationReceiver;
    if (kafkaNotificationConfig.isConfigured()) {
        notificationReceiver = new KafkaBasedNotificationReceiver(vertx, kafkaNotificationConfig);
    } else {
        final ClientConfigProperties notificationConfig = new ClientConfigProperties(commandConsumerConnectionConfig);
        notificationConfig.setServerRole("Notification");
        notificationReceiver = new ProtonBasedNotificationReceiver(HonoConnection.newConnection(vertx, notificationConfig, tracer));
    }
    NotificationConstants.DEVICE_REGISTRY_NOTIFICATION_TYPES.forEach(notificationType -> {
        notificationReceiver.registerConsumer(notificationType, notification -> {
            NotificationEventBusSupport.sendNotification(vertx, notification);
        });
    });
    return notificationReceiver;
}
Also used : KafkaBasedNotificationReceiver(org.eclipse.hono.client.notification.kafka.KafkaBasedNotificationReceiver) ProtonBasedNotificationReceiver(org.eclipse.hono.client.notification.amqp.ProtonBasedNotificationReceiver) NotificationReceiver(org.eclipse.hono.notification.NotificationReceiver) KafkaBasedNotificationReceiver(org.eclipse.hono.client.notification.kafka.KafkaBasedNotificationReceiver) ClientConfigProperties(org.eclipse.hono.config.ClientConfigProperties) KafkaAdminClientConfigProperties(org.eclipse.hono.client.kafka.KafkaAdminClientConfigProperties) RequestResponseClientConfigProperties(org.eclipse.hono.client.RequestResponseClientConfigProperties) ProtonBasedNotificationReceiver(org.eclipse.hono.client.notification.amqp.ProtonBasedNotificationReceiver)

Aggregations

KafkaBasedNotificationReceiver (org.eclipse.hono.client.notification.kafka.KafkaBasedNotificationReceiver)3 RequestResponseClientConfigProperties (org.eclipse.hono.client.RequestResponseClientConfigProperties)2 KafkaAdminClientConfigProperties (org.eclipse.hono.client.kafka.KafkaAdminClientConfigProperties)2 ProtonBasedNotificationReceiver (org.eclipse.hono.client.notification.amqp.ProtonBasedNotificationReceiver)2 ClientConfigProperties (org.eclipse.hono.config.ClientConfigProperties)2 NotificationReceiver (org.eclipse.hono.notification.NotificationReceiver)2 NotificationKafkaConsumerConfigProperties (org.eclipse.hono.client.notification.kafka.NotificationKafkaConsumerConfigProperties)1 AssumeMessagingSystem (org.eclipse.hono.tests.AssumeMessagingSystem)1 Test (org.junit.jupiter.api.Test)1