Hoy Habr!
Ito ay isang prequel sa akin
Sa pagkakataong ito, sasabihin ko sa iyo ang tungkol sa aking karanasan sa pag-reconcile ng JMeter at IBM MQ para sa masayang pagsubok ng mga application sa IBM WAS. Napaharap ako sa ganoong gawain, hindi ito madali. Gusto kong tumulong na makatipid ng oras para sa lahat ng interesado.
Pagpapakilala
Tungkol sa proyekto: data bus, maraming xml na mensahe, tatlong exchange area (queues, database, file system), mga serbisyo sa web na may sariling logic sa pagpoproseso ng mensahe. Habang umuunlad ang proyekto, lalong naging mahirap ang manu-manong pagsubok. Ang Apache JMeter ay tinawag upang iligtas - malakas at open source, na may malaking komunidad ng mga user at isang friendly na interface. Ang kadalian ng pag-customize ng out-of-the-box na bersyon ay nagbibigay-daan sa iyo upang masakop ang anumang mga kaso, at ang pangako ng nangungunang developer na tumulong kung sakali (ito ay nakatulong) sa wakas ay nakumpirma ang aking pinili.
Paghahanda ng paunang konteksto
Para makipag-ugnayan sa queue manager, kailangan mo ng paunang konteksto. Mayroong ilang mga uri, dito
Upang gawin ito, maginhawang gamitin ang MQ Explorer:
Figure 1: Pagdaragdag ng paunang konteksto
Piliin ang uri ng file ng konteksto at direktoryo ng imbakan .bindings file na maglalaman ng paglalarawan ng mga bagay na JNDI:
Figure 2: Pagpili ng unang uri ng konteksto
Pagkatapos ay maaari mong simulan ang paglikha ng mga bagay na ito. At magsimula sa factory ng koneksyon:
Figure 3: Paglikha ng factory ng koneksyon
Pumili ng magiliw na pangalan...
Figure 4: Pagpili ng pangalan ng factory ng koneksyon
... at i-type Pabrika ng Koneksyon ng Queue:
Figure 5: Pagpili ng uri ng pabrika ng koneksyon
Protocol - MQ Client upang magawang makipag-ugnayan sa MQ nang malayuan:
Larawan 6: Pagpili ng Protokol ng Pabrika ng Koneksyon
Sa susunod na hakbang, maaari kang pumili ng isang umiiral na factory at kumopya ng karagdagang mga setting mula dito. I-click susunod, kung wala:
Figure 7: Pagpili ng mga setting para sa isang umiiral na factory ng koneksyon
Sa window ng pagpili ng parameter, sapat na upang tukuyin ang tatlo. Sa tab koneksyon ipahiwatig ang pangalan ng queue manager at ang IP stand kasama ang lokasyon nito (port 1414 umalis):
Figure 8: Pag-configure ng Mga Parameter ng Pabrika ng Koneksyon
At sa tab Channel - channel para sa koneksyon. I-click Tapusin para makumpleto:
Figure 9: Pagkumpleto ng paggawa ng factory ng koneksyon
Ngayon gumawa tayo ng koneksyon sa pila:
Larawan 10: Paglikha ng Target na Bagay
Pumili tayo ng magiliw na pangalan (mas gusto kong ipahiwatig ang tunay na pangalan ng pila) at i-type pila:
Figure 11: Pagpili ng target na pangalan at uri
Sa pamamagitan ng pagkakatulad sa Larawan 7 Maaari mong kopyahin ang mga setting mula sa isang umiiral na queue. I-click din susunod, kung ito ang una:
Figure 12: Pagpili ng Mga Setting para sa isang Umiiral na Target
Sa window ng mga setting, piliin lamang ang pangalan ng manager at ang nais na pila, i-click Tapusin. Pagkatapos ay ulitin ang kinakailangang bilang ng beses hanggang sa malikha ang lahat ng mga pila na kailangan upang makipag-ugnayan sa JMeter:
Figure 13: Pagkumpleto ng target na paggawa
Inihahanda ang JMeter
Ang paghahanda ng JMeter ay kinabibilangan ng pagdaragdag ng mga aklatan na kailangan upang makipag-ugnayan sa MQ. Matatagpuan ang mga ito sa %wmq_home%/java/lib. Kopyahin ang mga ito sa %jmeter_home%/lib/ext bago simulan ang JMeter.
- com.ibm.mq.commonservices.jar
- com.ibm.mq.headers.jar
- com.ibm.mq.jar
- com.ibm.mq.jmqi.jar
- com.ibm.mq.pcf.jar
- com.ibm.mqjms.jar
- dhbcore.jar
- fscontext.jar
- jms.jar
- jta.jar
- providerutil.jar
Iminungkahi ang alternatibong listahan
Ang isang error na NoClassDEfFoundError ay nangyayari sa jms.jar, ang solusyon na aking nahanap
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- providerutil.jar
Ang parehong mga listahan ng mga aklatan ay matagumpay na gumagana sa JMeter 5.0 at IBM MQ 8.0.0.4.
Pagse-set up ng test plan
Ang kailangan at sapat na hanay ng mga elemento ng JMeter ay ganito ang hitsura:
Larawan 14: Plano ng pagsubok
Mayroong limang variable sa halimbawang plano ng pagsubok. Sa kabila ng kanilang maliit na bilang, inirerekumenda ko ang paglikha ng hiwalay na mga elemento ng pagsasaayos para sa iba't ibang uri ng mga variable. Habang lumalaki ang mga pagsubok, gagawin nitong mas madali ang pag-navigate. Sa kasong ito, nakakakuha kami ng dalawang listahan. Ang una ay naglalaman ng mga parameter para sa pagkonekta sa MQ (tingnan. Figure 2 ΠΈ Figure 4):
Larawan 15: Mga Opsyon sa Koneksyon ng MQ
Ang pangalawa ay ang mga pangalan ng mga target na bagay na tumutukoy sa mga pila:
Larawan 16: Mga pangalan ng naka-parameter na pila
Ang natitira na lang ay i-configure ang JMS Publisher na i-load ang test message sa papalabas na queue:
Larawan 17: Pag-set up ng JMS Publisher
At JMS Subscriber para magbasa ng mensahe mula sa papasok na pila:
Figure 18: Pag-configure ng JMS Subscriber
Kung ang lahat ay tapos na nang tama, ang resulta ng pagpapatupad sa tagapakinig ay mapupuno ng maliwanag at masayang berdeng mga kulay.
Konklusyon
Sinadya kong tinanggal ang mga isyu ng pagruruta at pangangasiwa; ito ay medyo kilalang-kilala at malawak na mga paksa para sa magkakahiwalay na publikasyon.
Bilang karagdagan, mayroong isang makabuluhang bahagi ng mga nuances sa pagtatrabaho sa mga queue, database at mga file, na gusto ko ring pag-usapan nang hiwalay at detalyado.
I-save ang iyong oras. At salamat sa iyong pansin.
Pinagmulan: www.habr.com