Редови и ЈМетер: дељење са издавачем и претплатником
Здраво, Хабр! Ово је мој наставак претходна публикација, у којем ћу говорити о опцијама за постављање порука у редове помоћу ЈМетер-а.
Правимо магистралу података за велику савезну компанију. Различити формати захтева, трансформације, замршено рутирање. За тестирање, потребно је да пошаљете много порука у ред чекања. Ручно је бол са којом не може сваки киропрактичар да се носи.
Увод
Иако сам у почетку морао да трпим овај бол. Све је почело са РФХУтил-ом. Моћно, али незгодно и застрашујуће: Па, знаш Руса.
Неопходан у неким случајевима, али у сталном опадању у случају активне употребе.
Погодно тестирање је немогуће са њим.
Са ЈМетер-ом све је постало лакше. Након прве фазе савладавања и навикавања, почела је да сијева нада у срећно тестирање.
Активно користим узорке ЈМС Публисхер и ЈМС Субсцрибер. За разлику од ЈМС Поинт-то-Поинт, овај пар се чинио погоднијим за употребу. На пример, са Субсцрибер-ом у ЈМС Селецтор-у можете навести променљиву, али са Поинт-то-Поинт не можете (или овај метод није баш очигледан).
Припрема узорака
ЈМС Публисхер
Подешавање – сваки узорак. Апацхе препоручује користите ову опцију ако су редови/теме специфицирани преко променљивих.
Истек (мс) = 120000. У случају неуспеха, захтеви за тестирање ће нестати из реда након 2 минута.
Желите ли да користите нетрајни начин испоруке? - истина. ИБМ одобраватај трајни режим обезбеђује поуздано очување пренетих порука у случају изненадног квара. И бржа размена у нетрајном режиму. За потребе тестирања, брзина је важнија.
У сваком издавачу постављам јмс својство које ће претплатник користити у ЈМС селектору. За сваку подношење, насумична вредност се генерише у елементу плана тестирања корисничких параметара:
На овај начин можете бити сигурни да је тачна порука прочитана.
Коначно „празно“ унапред конфигурисаног ЈМС Публисхер-а:
ЈМС Субсцрибер
Подешавање – сваки узорак. Па, разумеш.
Временско ограничење (мс) = 100000. Ако захтев не стигне у ред након 100 секунди чекања, онда је нешто пошло наопако.
Како поступати са ћириличним писмом у преношеним порукама. У ЈМетер-у се подразумевано, после коректуре, приказује криво. Да бисте то избегли и уживали у великом и моћном увек и свуда, потребно је:
Додајте ЈВМ аргумент у ЈМетер „покретач“:
-Dfile.encoding=UTF-8
Додајте ЈСР223 постпроцесор претплатнику са гроови линијом:
prev.setDataEncoding("UTF-8")
Пошаљи текст
Најлења опција. Погодно за отклањање грешака у свеже написаним тестовима. Или за случајеве када треба да пошаљете бар нешто мало. Изаберите опцију Извор поруке - Тектареа и ставите тело поруке у блок текста:
Пренос датотеке
Најчешћа опција. Погодно за већину сценарија. Изаберите опцију Извор поруке - Из датотеке и назначите путању до поруке у пољу Датотека – Име датотеке:
Пребацивање датотеке у текстуално поље
Најсвестранија опција. Погодно за већину сценарија + може се користити у ЈМС Поинт-то-Поинт где не постоји друга опција слања:
Преношење низа бајтова
Најтежа опција. Погодно за проверу непогрешиво тачног преноса захтева до бајта, без изобличења, СМС-а и пертурбација. Нећете моћи то да урадите у подразумеваном ЈМетер-у. овде Дефинитивно ми је речено за ово.
Тако да сам морао да преузмем извори и модификовати код ЈМС Субсцрибер.
Замењен у методи extractContent(..) линија:
buffer.append(bytesMessage.getBodyLength() + " bytes received in BytesMessage");
Описао сам четири начина слања порука у редове, које свакодневно користим у пракси. Надам се да ће вам ове информације олакшати живот. У наставку, планирам да говорим о свом искуству тестирања размене где постоји ред на једном крају и база података или систем датотека на другом.