• Like
Mq listener
Upcoming SlideShare
Loading in...5
×
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
229
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. МИНИСТАРСТВО ФИНАНСИЈАУПРАВА ЦАРИНАСЕКТОР ЗА ИНФОРМАЦИОНЕ ТЕХНОЛОГИЈЕ MQListener Autor: Ivana Martać
  • 2. MQListenerUvod Asinhroni listener Dolazi uz DB2 Kombinuje messaging sa operacijama nad bazama podataka Izvodi se kao single multi-threaded process na z/OS UNIX System Services (USS) Daemon process
  • 3. MQListenerTask MQListener Task je kombinacija WSMQ queue i DB2 Stored Procedure Informacije o MQListener Task-ovima se čuvaju u konfiguracionoj DB2 tabeli MQListener Task-ovi su grupisani zajedno u imenovane konfiguracije
  • 4. MQListenerStored ProcedureSchema.ProcName (IN procIn Type1, OUT procOut Type2) Poziv Stored Procedure strogo definisan: 1 IN i 1 OUT parametar IN i OUT parametri mogu biti različitog tipa: VARCHAR, BLOB ili CLOB bilo koje dužine Stored Procedure interface za MQListener uzima dolazni message kao input i vraća odgovor (REPLY), koji može biti NULL, kao output Ako je dolazni message Request i postoji specificiran Reply-To queue, message u OUT parametru će biti poslat u specificiran queue.* moramo koristiti isti Queue Manager za input message (Request) i Reply queue
  • 5. MQListener KONFIGURACIJAPoslovi1. Poslovi pod DB22. Definisanje environment varijabli pod USS3. Poslovi pod WSMQ4. MQListener Task - definisanje* za poslove pod DB2 imamo isporučen JCL u hlq.SDSNSAMP :DSNTIJML, DSNTEJSP i DSNTEJML* za poslove pod WSMQ primer JCL za kreiranje local queue postoji uknjizi DB2 for z/OS: Application Pogramming and Sql Guide.
  • 6. MQListenerDB2 (1) KONFIGURACIJAJOB DSNTIJMLPseudocode =COPYHFS Step1 Copy DSNTEJSP file as untar.cmd file on HFSUNTARLN Step2 Untar mqlsn.tar file on HFSCREATBL Step3 Create SYSMQL.LISTENERS tableBINDBRM Step4 Bind the dbrms u PLAN DB2MQLSN* u step1 i step2 koristi se PATH gde je instaliran MQListener
  • 7. MQListenerDB2 (2) KONFIGURACIJACREATBL Step3 -- Kreiranje tabele SYSMQL.LISTENERS Za definisanje MQListener Task-ova Svaki definisani Task je slog u tabeli SYSMQL.LISTENERS Svakom definisanom Task-u možemo dodeliti naziv Svaki definisani Task povezuje odredjeni WSMQ queue sa odredjenom, prethodno kreiranom DB2 Stored Procedure
  • 8. MQListenerDB2 (3) KONFIGURACIJABINDBRM Step4 -- BIND za 2 package i 1 PLAN na DB2Postoji podrška i za 1-fazni i za 2-fazni commit: db2mqln1 -- verzija za 1-fazni commit –interakcija sa DB2 i interakcija sa WSMQ su NEZAVISNE db2mqln2 -- verzija za 2-fazni commit –interakcije sa DB2 i interakcija sa WSMQ su kombinovane ujedan unit of work
  • 9. MQListenerUSS KONFIGURACIJADefinisanje environment varijabli MQLNHOME PATH LIBPATH STEPLIB MQLSNLOG * MQLSNTRC i TMPDIR *** posle JOB-a DSNTIJML, copy i untar DSNTEJSP (step1 i step2), dobijamoREADME file u kome je dato uputstvo za definisanje environment variabli
  • 10. MQListener KONFIGURACIJAWSMQ Odrediti QM koji ćemo koristiti – možemo koristiti neki postojeći ili kreirati novi Kreirati nekoliko local queue Input i Output -- queue za aplikaciju Dead-letter (DLQ) i Backout queue Administration queue* testna Aplikacija koristi 5 local queue
  • 11. MQListenerKomande(1) KONFIGURACIJA Koristimo MQListener komande. Komande izvodimo:  Direktno – sa komandne linije pod USS u bilo kojem diektorijumu.  Pozivom script file – sa komandne linije pod USS – iz JCL-a pozivom BPXBATCH utility help: db2mqln2 help db2mqln2 help <command>* primeri za script file imamo pod USS-om u direktorijumu /MQListener-install-path/mqlsn/listener/script* primer JCL za poziv BPXBATCH utility imamo u DSNTEJML
  • 12. MQListenerKomande(2) KONFIGURACIJA Definisanje MQListener Taska -- add:db2mqln2 add -ssID DST -config TEST -queueManager CSQ1-inputQueue LQ.IN -procName SPTEST -procSchema IVANA-numInstances 3 Prikaz definisanog MQListener Taska -- show:db2mqln2 show -ssID DST -config TEST Brisanje definisanog MQListener Taska -- remove:db2mqln2 remove -ssID DST -config TEST –queueManager CSQ1-inputQueue LQ.IN
  • 13. MQListenerKomande(3) KONFIGURACIJA Start MQListener-a -- run:db2mqln2 run -ssID DST -config TEST -adminQueue LQ.ADMIN-adminQMgr CSQ1 Stop MQListener-a (shutdown ii restart) -- admin:db2mqln2 admin -adminQueue LQ.ADMIN -adminQMgr CSQ1-adminCommand shutdown / restart* shutdown i restart su control messages
  • 14. MQListenerObrada greškeAko dodje do greške pri obradi message i message treba dase pošalje u DLQ: MQListener dodaje na message MQ dead-letter header (MQDLH) strukturu MQListener setuje reason field u MQDLH strukturi na odgovarajući reason code MQListener šalje message u DLQ
  • 15. MQListenerTestna Aplikacija (1) Potrebno je kreirati Stored ProcedureCREATE PROCEDURE IVANA.SPTEST (IN PIN VARCHAR(25), OUT POUT VARCHAR(2))LANGUAGE SQL COLLID IVANAWLM ENVIRONMENT WLMTESTP1:BEGININSERT INTO IVANA.TEST VALUES(PIN);SET POUT=’OK’;END P1
  • 16. MQListenerTestna Aplikacija (2) Kreirana tabela IVANA.TEST za potrebe testaCREATE TABLE IVANA.TEST (MSG VARCHAR(25) CHECK (MSG NOT LIKE ’FAIL%’));* nad kolonom MSG podignut je CHECK constrain da bi se pritestiranju videlo kako se MQListener ponaša kad StoredProcedure ne uspe da obradi message
  • 17. H v a l a na pažnji !
  • 18. МИНИСТАРСТВО ФИНАНСИЈАУПРАВА ЦАРИНАСЕКТОР ЗА ИНФОРМАЦИОНЕ ТЕХНОЛОГИЈЕ MQListener Autor: Ivana Martać