Использование шторма IEventLogger для регистрации событий в БД

Не могли бы вы спросить меня, кто использовал шторм IEventLogger для регистрации значений событий? Я не могу понять, как это использовать в некоторых пользовательских Java-приложениях. Это будет использовать какой-то поток или с потоком приложения? Как нам нужно получить / установить шторм-конфигурацию и TopologyContext ... и т. Д. http://storm.apache.org/releases/1.0.3/Eventlogging.html (расширение журнала событий)

1 ответ

Вы можете зарегистрировать его в своей конфигурации при настройке топологии. https://github.com/apache/storm/blob/80cc88112bf4fab34571ebff03782b759d112288/storm-core/src/jvm/org/apache/storm/Config.java#L2412

Изменить: Чтобы предоставить немного больше деталей, ваш журнал событий будет работать как часть EventLoggerBolt ( https://github.com/apache/storm/blob/1.x-branch/storm-core/src/jvm/org/apache/storm/metric/EventLoggerBolt.java), который Storm автоматически добавляет к вашей топологии, если вы установили для topology.eventlogger.executors значение, отличное от 0. Как вы можете видеть, болт будет вызывать метод prepare для вашего регистратора событий, поэтому у вас будет возможность получить оттуда конфигурацию и контекст топологии.

Редактировать 2: я заметил, что вы используете Storm 1.0.3. Вам нужно будет перейти на более позднюю версию Storm, методы, на которые я ссылался, не существуют в этой версии.

Другие вопросы по тегам