powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / как тестить кафку?
38 сообщений из 38, показаны все 2 страниц
как тестить кафку?
    #40059218
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собссно есть компонент. в хибере в энтитилистенере вставлен кафка продьюссер. просто в конструкторе инициализируется.
оттуда и шлет в топик все изменения сущностей.
продьюссер не инжектится в энтитилистенер а прям там через нью создается.

вопрос - как это тестировать. я поднял контекст хибера. прикрутил н2. ну оно и работает - создает реальный продьюссер (я максимум в тестах могу подкрутить конфиг продьюссера) и продьюссер фигачит реально объекты в топик.

как мне замокать в таком конфиге продьюссера (это в идеале) и сдернуть с него объект который в него попадает.

если бы это был простой юнит тест там понятно привинтить каптор и поехали. но здесь то реальный контекст поднимается.

рассматривал вариант с тестконтейнером. но во-первых, контора против тестконтейнеров. во-вторых, мне же придется консамеры еще поднимать и вылавливать объекты. а это прям много кода.

и что тут делать? как внутри энтитилистенера поймать объект который уходит в продьюссер и замокать продьюссер?

мне все же нужен контекст хибера, чтоб проверить как отрабатывает именно взаимодействие с ним.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059230
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче сделал продюсер синглтоном, и просто подсовываю мок-продьюсер в него а потом запускаю контекст.
но только кажется такая штука сломается если продьюсить в несколько потоков начнут.
но с другой стороны, энтитилистенер один на всё приложение поднимается.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059247
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,

какой-то поток сознания, вот что я понял из всего: "мы пишем полную херню, как эту херню тестировать", и насколько я понимаю всю эту историю про тесты, TDD, SOLID и пр., считается, что если непонятно как писать тесты, то значит изначально написана дичь.

что касается твоих "энтитилистенеров": в хибере это не лиснеры, а jpa-колбеки, придуманные специально для java-макак и поэтому имеющие крайне ограниченные возможности - можно взаимодействовать только с самой сущностью, а взаимодействовать с инфраструктурой категорически нельзя, хочешь взаимодействовать с инфраструктурой - реализуй слушателей из org.hibernate.event.spi которые взаимодействуют с org.hibernate.event.spi.AbstractEvent
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059262
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрея как всегда сложно понимать.

Но мне кажется что вопрос стоит в пропускной способности некой конфигурации.

И кажется что не существует теоретического ответа на этот вопрос. Лучше всего начать перформанс
тестирование и мониторить где слабое место уже по факту возникновения этого слабого места.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059273
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

а причем тут производительность вообще? ТС из какого-нить @PreUpdate, который вообще никаких гарантий не дает даже на то, что данные до БД доедут, а не то что закоммитятся, шлет сообщения во внешнюю систему (кафку), специально против такой дичи разработчики хибера (или JPA, кто там первый был не в курсе, свечку не держал), сделали так, чтобы из jpa-колбеков до инфраструктуры было достучаться крайне сложно.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059276
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT,

какой-то поток сознания, вот что я понял из всего: "мы пишем полную херню, как эту херню тестировать", и насколько я понимаю всю эту историю про тесты, TDD, SOLID и пр., считается, что если непонятно как писать тесты, то значит изначально написана дичь.

что касается твоих "энтитилистенеров": в хибере это не лиснеры, а jpa-колбеки, придуманные специально для java-макак и поэтому имеющие крайне ограниченные возможности - можно взаимодействовать только с самой сущностью, а взаимодействовать с инфраструктурой категорически нельзя, хочешь взаимодействовать с инфраструктурой - реализуй слушателей из org.hibernate.event.spi которые взаимодействуют с org.hibernate.event.spi.AbstractEvent

спасибо за наводку про спи и абстрактивент.

на данный момент сделал проще. я сделал продюссер синглтон (как кафка кстати рекомендует) ну и добавил два метода - где создается инстанс с настоящим кафкапродьюсером либо если параметр передается то инстанс создается с мок-кафка-продьюсером.

собссно я так и сделал перед стартом теста загоняю туда мок кафка продьюсер, потом стартуется тест и уже шлет в мок. а я из мока спокойно через хистори это всё вытряхиваю. спасибо кафке за приятный апи.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059277
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
mayton,

а причем тут производительность вообще? ТС из какого-нить @PreUpdate, который вообще никаких гарантий не дает даже на то, что данные до БД доедут, а не то что закоммитятся, шлет сообщения во внешнюю систему (кафку), специально против такой дичи разработчики хибера (или JPA, кто там первый был не в курсе, свечку не держал), сделали так, чтобы из jpa-колбеков до инфраструктуры было достучаться крайне сложно.

меня постапдейт интересует. или посткриейт.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059280
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
меня постапдейт интересует. или посткриейт.

единственное что тебя в хибере должно интересовать - это org.hibernate.engine.spi.ActionQueue#registerProcess, то место, где есть хоть какие-то гарантии (довольно шаткие), что данные попадут в БД
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059298
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT
меня постапдейт интересует. или посткриейт.

единственное что тебя в хибере должно интересовать - это org.hibernate.engine.spi.ActionQueue#registerProcess, то место, где есть хоть какие-то гарантии (довольно шаткие), что данные попадут в БД

полазал ща по сорцам хибера. тебя не смущает что это оно и есть просто в фантике?
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059300
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
andreykaT,

какой-то поток сознания, вот что я понял из всего: "мы пишем полную херню, как эту херню тестировать", и насколько я понимаю всю эту историю про тесты, TDD, SOLID и пр., считается, что если непонятно как писать тесты, то значит изначально написана дичь.

что касается твоих "энтитилистенеров": в хибере это не лиснеры, а jpa-колбеки, придуманные специально для java-макак и поэтому имеющие крайне ограниченные возможности - можно взаимодействовать только с самой сущностью, а взаимодействовать с инфраструктурой категорически нельзя, хочешь взаимодействовать с инфраструктурой - реализуй слушателей из org.hibernate.event.spi которые взаимодействуют с org.hibernate.event.spi.AbstractEvent

можно делать инжекты через CDI апи. в кварке точно, думаю в его прародителе аналогично. в спринге опять же.

я пока смотрю ивент.спи но пока не понимаю как мне это поможет. мне его точно так же надо будет промокивать где то как то.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059301
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
в фантике?
ШИТО?
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059302
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT

можно делать инжекты через CDI апи. в кварке точно, думаю в его прародителе аналогично. в спринге опять же.

я пока смотрю ивент.спи но пока не понимаю как мне это поможет. мне его точно так же надо будет промокивать где то как то.


по-моему ты бредишь, твоему работодателю было бы гораздо выгоднее взять спеца на хиберу
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059303
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне нравится этот форум. задаешь один вопрос тебе отвечают на совсем другой который ты и не задавал. еще и хамят.

спросил как тестируют кафку мне отвечают про сессии в хибере. спасибо тебе мой хамоватый друг.

в спринге вообще инжект делается через стандартную аннотацию компонент над листенером. ну это так для справки и к теме вопроса не относится.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059307
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
в спринге вообще инжект делается через стандартную аннотацию компонент над листенером. ну это так для справки и к теме вопроса не относится.


Особо одаренный чтоли? нельзя из jpa-колбеков обращаться к инфраструктуре, как ты эти колбеки в хибер внедряешь не имеет значения - нельзя и все.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059310
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов

ТС из какого-нить @PreUpdate, который вообще никаких гарантий не дает даже на то, что данные до БД доедут, а не то что закоммитятся, шлет сообщения во внешнюю систему (кафку)

В Oracle похожие проблемы (дата муташин или как-то так) решаются простым образом:

в before / after row триггере события пишутся в массив внутри программы/пакета
в on commit триггере обрабатываются накопленные события из массива

AFAIK
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059315
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

В Oracle похожие проблемы (дата муташин или как-то так) решаются простым образом:

в before / after row триггере события пишутся в массив внутри программы/пакета
в on commit триггере обрабатываются накопленные события из массива

AFAIK
да так у всех, кто с головой дружит.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059320
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
сорян. в этом сообщении я послал тебя найух но потом передумал и отредактировал. иди с миром.


неужели ты думаешь, что от тебя это бы было хоть чуточку обидно? на форуме даже махровые джуны код показывают в надежде получить подсказку, а ты пытаешься пересказать, причем не потому что там что-то секретное (ага ноу-хау, в конструкторе продьюсер кафки создавать), а потому что там дерьмо.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059360
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Андрей Панфилов

ТС из какого-нить @PreUpdate, который вообще никаких гарантий не дает даже на то, что данные до БД доедут, а не то что закоммитятся, шлет сообщения во внешнюю систему (кафку)

В Oracle похожие проблемы (дата муташин или как-то так) решаются простым образом:

в before / after row триггере события пишутся в массив внутри программы/пакета
в on commit триггере обрабатываются накопленные события из массива

AFAIK


тему с триггерами в оракле и логингом обновлений я тут предлагал с полгода назад - обосрали точно так же. но ща вроде ок ))

чот тут все какие то агрессоры сплошные. ну я там Стаса еще понимаю а этот то канадец че такой агрессивный. может укусил кто. я тут вроде со всем максимально уважительно общаюсь. по крайней мере стараюсь да. вроде был форум-форумом а ща какое то собрание истеричных тёлок и говноплевателей.

я посмотрел пару вариантов вдовесок как инжектить - через ивентлистенеррегистри просто туда складывать заинжекченные бины, и уже отлавливать непосредственно ивенты хибера, а не конкретной сущности, либо то что агрессивный товарищ сказал - но его вариант мне как то не очень. слишком много кода выходит и что то у меня смутные подозрения.

а вообще спринг без проблем дает называть компонентом энтитилистенер. может это и неправильно и "для мартышек".

касательно потерь - у кого теряет тот пусть и думает почему. интернеты про это знают мало что а значит это чьи то личные проблемы кривых косых рук ног когда сделали говно а потом не знают почему говно. или какие то совсем граничные кейсы.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059361
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то типа того:

автор
EventListenerRegistry registry = ((SessionFactoryImpl) sessionFactory).getServiceRegistry().getService(EventListenerRegistry.class);
registry.appendListeners(EventType.PERSIST, new PersistEventListener() {
@Override
public void onPersist(PersistEvent persistEvent) throws HibernateException { //NOPMD
вытряхиваем сущности из ивента.
}

@Override
public void onPersist(PersistEvent persistEvent, Map map) throws HibernateException { //NOPMD

}
});
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059365
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и второе

Код: java
1.
2.
3.
        ((SessionImpl)session).getActionQueue().registerProcess((isOk, sessionImplementor) -> {
            //бла бла делаем что хотим затаскиваем бин какой хотим хз как вытряхнуть сущность из имплементора
        });
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059371
Псевдомизантроп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

В Oracle ...
в on commit триггере


А такое существует?
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059380
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Псевдомизантроп,

Наверное нет ))), в случае мутации данных на статемент левел. Но если очень хочется на коммит повесится, то гугле подсказывает work arround

There is no ON COMMIT trigger mechanism in Oracle. There are workarounds however: You could use a materialized view with ON COMMIT REFRESH and add triggers to this MV. This would allow you to trigger the logic when a base table has been modified at the time of commit.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059391
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде в Oracle как раз через очереди (родные Oracle'вые) и делают.
https://www.sql.ru/forum/822214/trigger-posle-commit

Не специалист по Hibernate, но вроде в Hibernate commit/rollback вполне отследить можно
https://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Interceptor.html

afterTransactionCompletion(Transaction tx)
Called after a transaction is committed or rolled back.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059451
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Вроде в Oracle как раз через очереди (родные Oracle'вые) и делают.
https://www.sql.ru/forum/822214/trigger-posle-commit

Не специалист по Hibernate, но вроде в Hibernate commit/rollback вполне отследить можно
https://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/Interceptor.html

afterTransactionCompletion(Transaction tx)
Called after a transaction is committed or rolled back.

ивент пост-что-угодно это не то что будет после того как транзакция закрыта? я хз как там на других континентах, но у меня этот ивент не отрабатывает в случае ролбэка.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059502
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
>чот тут все какие то агрессоры сплошные.
= тех кто не показывает код или то что просят мемберы тут по пальцам пересчитать.
Вот и делай выводы... почему к тебе именно агрессивны.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059508
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
>чот тут все какие то агрессоры сплошные.
= тех кто не показывает код или то что просят мемберы тут по пальцам пересчитать.
Вот и делай выводы... почему к тебе именно агрессивны.

чуть выше я код показал. кроме того чел сказал типа не дойдет. я задал вполне разумно вопрос в постперсисте тоже не дойдет? чел меня просто отчленососил на ровном месте вообще без агрессии с моей стороны. что то там про мартышек рассказал про то что это вне инфры и тп (хотя это не так). это норм? мне кажется это типичный пример русского форума с агрессивными форумчанами класса "му**к".

я так потихоньку начинаю понимать бесполезность этого форума.

ответы на мои вопросы были просты до безобразия - юзай готовый прекрасный кафкамок продьюсер из коробки и юзай спай чтоб его заинжектить. всё.
всякие советы как в хибере перехватывать события - это советы хоть и полезные (хотя смотря как их подать) но не совсем по тематике.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059509
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Кто тебе давал право обобщать?
авторрусского форума
Хочешь чтобы тебя забанили?
Меня поражает толерантность чела, когда жрет со своим соседом из одной кастрюли и поносит соседа.
НЕ ОБОБЩАЙ.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059517
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Кто тебе давал право обобщать?
авторрусского форума

Хочешь чтобы тебя забанили?
Меня поражает толерантность чела, когда жрет со своим соседом из одной кастрюли и поносит соседа.
НЕ ОБОБЩАЙ.
смтри: тебя не возмущает что некий агрессивный гражданин тут помоями брызгается причем совершенно немотивированно, но ты возбудился на то что я назвал вещи своими именами. мне совершенно параллельно забанят меня тут или нет. с недавних пор технической ценности этот форум больше не представляет. благодаря таким вот гражданам. тут обсуждать нечего.

все обсуждения скатываются во взаимные оскорбления.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059518
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
PetroNotC Sharp
andreykaT,
>чот тут все какие то агрессоры сплошные.
= тех кто не показывает код или то что просят мемберы тут по пальцам пересчитать.
Вот и делай выводы... почему к тебе именно агрессивны.

чуть выше я код показал. кроме того чел сказал типа не дойдет. я задал вполне разумно вопрос в постперсисте тоже не дойдет? чел меня просто отчленососил на ровном месте вообще без агрессии с моей стороны. что то там про мартышек рассказал про то что это вне инфры и тп (хотя это не так). это норм? мне кажется это типичный пример русского форума с агрессивными форумчанами класса "му**к".

я так потихоньку начинаю понимать бесполезность этого форума.

ответы на мои вопросы были просты до безобразия - юзай готовый прекрасный кафкамок продьюсер из коробки и юзай спай чтоб его заинжектить. всё.
всякие советы как в хибере перехватывать события - это советы хоть и полезные (хотя смотря как их подать) но не совсем по тематике.

У меня есть точка зрения что кафку не нужно тестировать (на correctness) вообще. Это - инфраструктурный объект.
Как LAN, NAS, S3 buckets, Google Drives, файрволы и проч. Кафка РАБОТАЕТ по определению. Работает всегда корректно.
Нужно тестировать свою бизнес-логику на модульном уровне.

Если говорить об удобстве инжекции для интеграционных тестов - то здесь тоже можно обсуждать но это опять-же
вопрос вообще к кафке не имеет отношения а имеет к Спрингу. Ну создай себе бин. Мокай его. Шпионь за ним.
При чем тут несчастная кафка?

Кафку можно еще отдельно посмотреть под нагрузкой. Но нагрузочные тесты - это отдельная тема. Их делают пару
раз в жизни. Один раз для POC и второй раз когда уже совсем все плохо и "пропало всё" (c).

Можно еще отдельно рассмотреть ошибки архитектуры конфигурации Кафка приложения. Кажется андрей уже
один такой архитектурный вопрос поднимал. Но - тема потребует больше контекста. Возможно даже опубликовать
конфиги и архетип приложения.

P.S. Кстате дайте архетипы maven для типичного Kafka приложения.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059519
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну что тестировать. я ж не про кафку говорил. а про свой код.
банально - как он себя поведет если кафка недоступна? скипнет мессадж и дальше поедет или упадет?
или как у тебя формируется сам документ что ты шлешь - все ли поля на месте? или поиграться с разными ошибками что может продьюссер возвращать? это ближе к первой части.

я про эти тесты.

или банально сработал ли у тебя в хибере ивент слушающий изменения сущности АДРЕС, когда ты обновил сущность ЮЗЕР присвоив ей вместо АДРЕС1 АДРЕС2. будет ли ивент на обновление? ведь ты юзера же обновляешь с точки зрения кода? а под капотом меняется ФК у АДРЕСа.

насчет спринга - так я его не юзаю уже года 3 :) с чего весь спич и начался что в энтитилистенере нельзя заинжектить бины.
зато при определенном конфиге (где ты уже ивентлистенеры в регистри сам подкладываешь) можно вполне законно это делать без всяких ухищрений.

в любом случае, задачку я сделал, тесты написал. всё работает и не кашляет.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059524
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
тему с триггерами в оракле и логингом обновлений я тут предлагал с полгода назад - обосрали точно так же. но ща вроде ок ))
если мне не изменяет память, то в прошлый раз ты вместо того чтобы решать реальную проблему, пытался заткнуть ее кафкой, здесь же вопрос про то, что данные, которые даже засунулись в БД еще не факт что зафиксируются, и Леонид общий посыл понял, а ты нет, что какбы намекает на твой уровень.

andreykaT
его вариант мне как то не очень. слишком много кода выходит и что то у меня смутные подозрения.
Очень профессиональный подход как мне кажется: если для правильной реализации нужно, о боже! писать код, то это автоматически признается тупиковым решением. Я хотел бы знать в какой конторе трудятся такие говнокодеры как ты, чтобы не дай бог не связаться с ней.

andreykaT
ну и второе

Код: java
1.
2.
3.
        ((SessionImpl)session).getActionQueue().registerProcess((isOk, sessionImplementor) -> {
            //бла бла делаем что хотим затаскиваем бин какой хотим хз как вытряхнуть сущность из имплементора
        });



Опять же, похоже что твой уровень не позволяет связать вместе два куска кода, прямо рокет-сайнс какой-то, не иначе:

Код: java
1.
2.
3.
4.
5.
6.
7.
@Override
public void onPostInsert(PostInsertEvent event) {
    SessionImplementor session = event.getSession().unwrap(SessionImplementor.class);
    session.getActionQueue().registerProcess((success, sess) -> {
        sendMessage(event.getEntity());
    });
}



andreykaT
всякие советы как в хибере перехватывать события - это советы хоть и полезные (хотя смотря как их подать) но не совсем по тематике.


andreykaT
зато при определенном конфиге (где ты уже ивентлистенеры в регистри сам подкладываешь) можно вполне законно это делать без всяких ухищрений


Я считаю прекрасным, что этот топик позволил выявить такого чмо как ты: все это время ноешь, что то что тебе говорят - это чушь собачья, а сам втихую выполнил рекомендации, и все же продолжаешь ныть.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059528
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT,
Ты дорасти ТРУДОМ до его уровня и потом будешь так поучать.
Меня возмущает когда 11 страниц форума занимают мемберы которые могли бы решить проблему на второй странице.
не совсем джава но вдруг. кафка.
Ещё раз неписанное правило форума - "ТС должен работать больше отвечающих".
На твое обучение форум тратит больше и без всякой отдачи от тебя.
Удачи!
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059532
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
andreykaT,
Ты дорасти ТРУДОМ до его уровня и потом будешь так поучать.
Меня возмущает когда 11 страниц форума занимают мемберы которые могли бы решить проблему на второй странице.
не совсем джава но вдруг. кафка.
Ещё раз неписанное правило форума - "ТС должен работать больше отвечающих".
На твое обучение форум тратит больше и без всякой отдачи от тебя.
Удачи!

я всё жду когда же ты мне писать то перестанешь ) там проблема где была там и осталась. мессаджи терялись при ребалансе. ты вообще там утверждал что офсеты прыгать не могут. а они могут и это вообще поведение на 143% конвенционное это к слову о технических компетенциях. если вкратце, там я задачу решил просто количеством консамеров равным количеству партиций. что там в ее глубинах происходит - ушло задачами к тем кто заявляет что специалист по кафкам. ) а это как ты понимаешь не я. и, к сожалению, не ты. а следуя вашим советам я потратил неделю выпиливая вертикс чтоб проверить ваши убеждения что после этого точно "терять не будет".
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059552
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
я всё жду когда же ты мне писать то перестанешь )

:) я тут живу и работаю. А ты гость вроде )))))))
По поводу твоего топика в 11 страниц, то там причина была в конфиге с галочкой.
А конфиг В КОМПЛЕКТЕ с демкой ты 11 страниц отказывался выложить.
Если бы выложил то топик был бы всего две страницы.
Меньше пиши - лучше ссылку сюда кинь если я не прав.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059616
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreykaT
собссно есть компонент. в хибере в энтитилистенере вставлен кафка продьюссер. просто в конструкторе инициализируется.
оттуда и шлет в топик все изменения сущностей.
продьюссер не инжектится в энтитилистенер а прям там через нью создается.

вопрос - как это тестировать. я поднял контекст хибера. прикрутил н2. ну оно и работает - создает реальный продьюссер (я максимум в тестах могу подкрутить конфиг продьюссера) и продьюссер фигачит реально объекты в топик.

как мне замокать в таком конфиге продьюссера (это в идеале) и сдернуть с него объект который в него попадает.

если бы это был простой юнит тест там понятно привинтить каптор и поехали. но здесь то реальный контекст поднимается.

рассматривал вариант с тестконтейнером. но во-первых, контора против тестконтейнеров. во-вторых, мне же придется консамеры еще поднимать и вылавливать объекты. а это прям много кода.

и что тут делать? как внутри энтитилистенера поймать объект который уходит в продьюссер и замокать продьюссер?

мне все же нужен контекст хибера, чтоб проверить как отрабатывает именно взаимодействие с ним.


Kafka embedded

Stackoverflow

Тестируйте, не обляпайтесь!
<:o)
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059764
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
andreykaT
собссно есть компонент. в хибере в энтитилистенере вставлен кафка продьюссер. просто в конструкторе инициализируется.
оттуда и шлет в топик все изменения сущностей.
продьюссер не инжектится в энтитилистенер а прям там через нью создается.

вопрос - как это тестировать. я поднял контекст хибера. прикрутил н2. ну оно и работает - создает реальный продьюссер (я максимум в тестах могу подкрутить конфиг продьюссера) и продьюссер фигачит реально объекты в топик.

как мне замокать в таком конфиге продьюссера (это в идеале) и сдернуть с него объект который в него попадает.

если бы это был простой юнит тест там понятно привинтить каптор и поехали. но здесь то реальный контекст поднимается.

рассматривал вариант с тестконтейнером. но во-первых, контора против тестконтейнеров. во-вторых, мне же придется консамеры еще поднимать и вылавливать объекты. а это прям много кода.

и что тут делать? как внутри энтитилистенера поймать объект который уходит в продьюссер и замокать продьюссер?

мне все же нужен контекст хибера, чтоб проверить как отрабатывает именно взаимодействие с ним.


Kafka embedded

Stackoverflow

Тестируйте, не обляпайтесь!
<:o)

спасибо. мне пока понравилась тема с кафка-мок консамирами и продюссерами. прям то что надо. там есть и методы для симуляции ошибок и методы для вытаскивания очереди сообщений и т.п.
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059776
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понмаю что тему можно уже закрыть?
...
Рейтинг: 0 / 0
как тестить кафку?
    #40059793
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я так понмаю что тему можно уже закрыть?

да. пообсуждать тему как там хибер что сохраняет и как правильно это делать - можно отдельно.
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / как тестить кафку?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]