top 30 jms interview questions
Najpopularnija pitanja i odgovori za JMS intervjue za svježe i iskusne profesionalce:
JMS ili Java Messaging Service postali su jedan od najdominantnijih modela za sigurnu, pouzdanu i skalabilnu dostavu poruka širom svijeta.
Ovaj je model vrlo dobro strukturiran i podržava brojne oblike tehnika i protokola za razmjenu poruka.
Zaronimo i prođite kroz neka pitanja i odgovore koji se često postavljaju na ovu temu u cijeloj industriji.
Najpopularnija pitanja o JMS intervjuima
Dolje je dan popis najčešće postavljanih pitanja za razgovore s uslugom Java Message Service zajedno s detaljnim odgovorima.
P # 1) Što je JMS?
Odgovor: Java Messaging Service je Java API, koji omogućuje sustavima stvaranje, čitanje, slanje i primanje poruka.
Najvažniji dio algoritma vrlo je dobro strukturiran i omogućuje da jedna aplikacija pošalje poruku drugoj aplikaciji, a također omogućuje pretplatnicima značajke emitiranja.
P # 2) Koje vrste komunikacije pruža JMS? Objasnite detaljno.
Odgovor: Ovaj API pruža dvije vrste komunikacije:
- Asinkroni: Poruka će biti dostavljena klijentu, nije potrebno da klijent šalje zahtjeve da bi je primio. Klijentska aplikacija primit će je nakon slanja aplikacije pošiljatelja.
- Pouzdan: Ovdje se poruka šalje klijentskoj aplikaciji nakon što API protokol osigura dostupnost prijamne aplikacije.
P # 3) Koji je broj modela poruka dostupnih na JMS-u?
Odgovor: Konkretno, postoje dvije vrste modela koje pruža JMS:
Od točke do točke: Kao što samo ime sugerira, to je jedan do jedan mehanizam za razmjenu poruka, gdje pošiljatelj šalje poruku jednom primatelju. Poruka je dostupna aplikaciji prijemnika kad je spremna, a do tada se poruka sprema u red čekanja.
Najvažniji je dio toga što između pošiljatelja i primatelja nema ovisnosti o vremenu s obzirom na vrijeme.
Objavi i pretplati se: Ovaj mehanizam za razmjenu poruka vrlo je jedinstveno dizajnirao JMS.
Na primjer , jedan čitatelj pretplaćuje se na jedan blog na kojem je osoba zainteresirana. Sada može biti nekoliko ljudi zainteresiranih za određeni blog.
I pretplaćuju se / registriraju na taj blog. Sad kad se novi post ili tema objavi na blogu, svi registrirani čitatelji dobit će ažuriranje. Ovaj model razmjene poruka naziva se Objavi i pretplati se.
P # 4) Što je red?
Odgovor: U mehanizmu od točke do točke JMS-a izvorna aplikacija šalje poruku odredišnoj aplikaciji, a poruka je konzumira odredišna aplikacija nakon što je dostupna, sve do tada se jedinica za pohranu toga vremena naziva redom.
P # 5) Što je tema?
Odgovor: U modelu Objavi / pretplati, aplikacija klijent / izdavač generira jednu poruku i ta je poruka dostupna svim pretplatnicima ili odredišnim aplikacijama. Ova se poruka naziva Tema.
P # 6) Koja je glavna razlika između radnog mehanizma JMS-a i RPC-a?
Odgovor: Razlika između dva modela može se utvrditi između načina na koji se poruka dostavlja.
U slučaju JMS-a, aplikacija pošiljatelja šalje poruku odredišnoj aplikaciji, a zatim opet čeka / ili obrađuje drugu poruku prema programskim kriterijima.
Dok je u slučaju RPC-a nit dovršena kad poruka stigne na odredište i kontrola se vrati na način odgovoran za transport poruke.
P # 7) Što je Middleware orijentirani na poruke?
Odgovor: Message Oriented Middleware je softver koji radi između aplikacije pošiljatelja i odredišne aplikacije u JMS radnom modelu.
P # 8) Kako je Middleware orijentirani na poruke odgovoran za vremensku ovisnost između pošiljatelja i primatelja u odnosu na Point to Point model na JMS-u?
Odgovor: Budući da posrednički softver MOM djeluje između komponente pošiljatelja i primatelja, on se brine o poruci i prenosi je putem mehanizma čekanja. Dakle, sve dok aplikacija za odredište / primatelj ne postane dostupna za primanje / čitanje poruke, poruka se sprema u red čekanja.
Najvažnije je da metoda odgovorna za slanje poruke nije zauzeta dok aplikacija primatelja ne primi poruku. Dakle, aplikacija pošiljatelja i primatelja radi neovisno bez ikakve vremenske ovisnosti.
P # 9) Navedite vrste poruka koje podržava JMS.
Odgovor: Vrsta poruka koje podržava JMS su:
- Tekstualne poruke
- Strujne poruke
- Poruke karte
- Bytes poruke
- Poruke objekata
P # 10) Što je bajtna poruka?
Odgovor: Objekt Poruke bajtova zapravo je odgovoran za slanje poruke koja sadrži tok neprekinutih bajtova i nasljeđuje od sučelja poruke i dodaje tijelo poruke bajtova. Primatelj poruke odgovoran je za interpretaciju poruke.
JMS API omogućuje transport ove vrste poruka, ali prema oracle dokumentima, one se obično ne koriste jer uključivanje svojstava može utjecati na format poruke.
P # 11) Što je StreamMessage?
Odgovor: Objekt StreamMessage koristi se za slanje struje primitivnih vrsta podataka u programskom jeziku Java. Podaci se uzastopno popunjavaju i čitaju. Nasljeđuje od sučelja za poruke i dodaje tijelo poruke struje.
java.io.DataInputStream i java.io.DataOutputStream su API-ji koji podržavaju ove vrste poruka.
P # 12) Što je tekstualna poruka?
Odgovor: Tekstualna poruka je ona o kojoj se brine java.lang.String i ona nasljeđuje od sučelja poruke i dodaje tijelo tekstualne poruke. To se koristi za transport poruka koje sadrže tekst.
P # 13) Što je objektna poruka?
Odgovor: Poruka objekta u svom tijelu poruke obično sadrži Java objekt koji se može serirati. Općenito, prijamna aplikacija prima Object poruku u načinu samo za čitanje.
P # 14) Što je poruka s karte?
Odgovor: Tijelo poruke objekta Map Message sadrži skup parova imena i vrijednosti, gdje su imena String objekti, a vrijednosti Java primitivi. Unosima se može pristupiti sekvencijalno ili nasumično po imenu. Map Message zapravo nasljeđuje od sučelja Message i dodaje tijelo poruke koje sadrži Map.
P # 15) Što je JNDI? Kako je povezano sa JMS-om?
Odgovor: JNDI je Java sučelja za imenovanje i imenike. Ako je aplikacija povezana s bazom podataka, to omogućuje programeru aplikacije da joj da ime, umjesto da brine o vjerodajnicama veze baze podataka.
JNDI API pristupit će direktoriju imenovanja i pronaći će mapiranje između imena i objekta baze podataka i povezati se u skladu s tim. Ovaj mehanizam možemo koristiti dok se povezujemo s bilo kojom vezomFactory (red ili tema) za slanje poruka.
P # 16) Kako aplikacija pošiljatelja prevozi / šalje poruku putem JMS-a?
Odgovor: Slijedi nekoliko načina slanja poruke putem JMS-a:
- Primijenite JNDI za traženje vjerodajnica connectionFactory.
- Stvorite objekt connectionFactory za implementaciju.
- Prepoznajte odredišne objekte (jedan ili više).
- Upotrijebite objekt connectionFactory za uspostavljanje JMS veze.
- Stvorite jednu ili više sesija.
- Upotrijebite Sesiju i odredišta da biste stvorili potrebne MessageProducers i MessageConsumers.
- Komunicirajte pomoću kanala.
P # 17) Navedite komponente JMS-a.
Odgovor: Komponente JMS-a uključuju:
- JMS davatelj
- JMS klijent
- Poruke
- Upravljani objekti
- Izvorni klijenti
P # 18) Što su administrirani objekti u JMS-u?
Odgovor: JMS administrirani objekt zapravo su one vjerodajnice koje je administrator konfigurirao kako bi se povezao s JMS klijentom i definirane su pod JNDI. Ti se objekti konfiguriraju prije povezivanja s JMS klijentom unutar poslužitelja.
P # 19) Koje su funkcionalnosti JMS dobavljača?
Odgovor: Davatelj usluga JMS u osnovi brine o sigurnosti i podacima.
Odgovorna je za osiguranje da se poruka isporučuje na siguran način, ona također brine o standardima šifriranja podataka i kodiranja podataka i odgovorna je za pozivanje poruke za klijenta koji nije JMS.
P # 20) Što je JMS sesija?
Odgovor: JMS sesija je stanje koje kontrolira ukupni tok od slanja do primanja JMS poruka.
P # 21) Možemo li koristiti JMS za slanje automatizirane e-pošte?
kako izgleda modem
Odgovor: JMS nema standardne API-je koji podržavaju tu značajku, ali možemo koristiti JavaMail za slanje automatiziranih e-poruka.
P # 22) Koja je funkcionalnost slušatelja poruka u kontekstu JMS-a?
Odgovor: Slušač poruka obično se koristi s potrošačem poruke u slučaju asinkrone isporuke. Za asinkronu isporuku možete registrirati objekt MessageListenera s messageConsumer.
P # 23) Što je JMS klijent?
Odgovor: JMS klijent je u osnovi komponenta napisana u programskom jeziku Java koja je odgovorna za pozivanje i trošenje tijela poruka.
P # 24) Što je poruka?
Odgovor: Poruka je tijelo, a ne komponenta koja komunicira između JMS klijenata.
P # 25) Koja je funkcionalnost proizvođača JMS poruka?
Odgovor: Proizvođač poruka je u osnovi komponenta koja se kreira JMS sesijom za slanje poruke aplikaciji primatelja.
Može se stvoriti sesija i implementirati sučelje MessageProducer kako bi se definirao odredišni objekt, objekt u redu ili objekt teme. Proizvođača se može proglasiti nespecificiranim dodavanjem nule u njegov argument umjesto objekta. Kasnije možemo koristiti preopterećenje Java metode na metodi slanja kako bismo odredili odredište, poruku kao argumente ili parametre.
26. pitanje: Koja je funkcionalnost potrošača JMS poruka?
Odgovor: Potrošač poruka u osnovi je komponenta koja se kreira JMS sesijom za primanje poruke od strane aplikacije primatelja. Može se stvoriti sesija i implementirati sučelje MessageConsumer kako bi se definirao odredišni objekt, objekt u redu ili objekt teme.
Možete koristiti createDurableSubscriber s objektom sesije za stvaranje trajnog pretplatnika teme, ali možete ga koristiti za stvaranje teme za model Objava / pretplata, a ne za stvaranje redova.
Potrošač postaje aktivan kad se stvori potrošački objekt. Objekt možemo koristiti za primanje i slanje poruka. Da bi se ovo deaktiviralo, možete upotrijebiti blisku metodu za MessageConsumer.
P # 27) Koja je funkcionalnost preglednika JMS Queue?
Odgovor: Kao što smo prethodno razgovarali o konceptu reda, gdje se poruka pohranjuje dok je primatelj ne primi. Funkcionalnost pregledavanja poruka u redu i prikazivanja vrijednosti zaglavlja podržava objekt QueueBrowser.
Objekt QueueBrowser može se stvoriti putem. JMS sesija.
P # 28) Koja je funkcionalnost JMS birača poruka?
Odgovor: Izbornik JMS poruka u osnovi je API koji je odgovoran za filtriranje poruka koje prima za bilo koju određenu aplikaciju. Birači poruka zapravo dodjeljuju posao dobavljaču JMS-a, koji je zapravo odgovoran za filtriranje poruka.
Birač poruka zapravo uzima vrijednosti tipa stringa kao ulaz.
WatchType = 'Titan' ILI WatchType = 'Rolex'
Načini createConsumer i createDurableSubscriber omogućuju određivanje birača poruka kao argumenta kada se kreira potrošač poruke.
P # 29) Kako postupati s iznimkom koju uzrokuje JMS?
Odgovor: Glavna klasa odgovorna za bacanje izuzetaka povezanih s JMS-om pomoću JMS API-a je JMSException.
Hvatanje JMSException pruža generički način rukovanja svim iznimkama povezanim s JMS API-jem.
Klasa JMS iznimke uključuje sljedeće potklase koje su opisane u API dokumentaciji:
- IllegalStateException
- InvalidClientIDException
- InvalidDestinationException
- InvalidSelectorException
- JMSSecurityException
- MessageEOFException
- MessageFormatException
- MessageNotReadableException
- MessageNotWriteableException
- ResourceAllocationException
- TransactionInProgressException
- TransactionRolledBackException
P # 30) Kako postupati sa sekcijama bez transakcija s obzirom na JMS?
Odgovor: U slučaju sekcija bez transakcija, poruke se priznaju na temelju argumenta prosljeđenog tijekom stvaranja objekta sesije QueueSession ili TopicSession metode.
Sljedeće se opcije obično koriste u skladu s poslovnim zahtjevima:
- Sjednica. AUTO_ACKNOWLEDGE: Ako netko proslijedi ovaj argument tijekom stvaranja objekta sesije, ako se dogodi JMSException, tada pouzdani potrošač čeka nekoliko sekundi, a zatim poziva metodu MessageConsumer.receive da ponovno primi poruke. Zbog preusmjeravanja, ako nijedna poruka nije isporučena, bit će ponovno isporučena.
- Sjednica. CLIENT_ACKNOWLEDGE: Ako netko proslijedi ovaj argument tijekom stvaranja objekta sesije, tada, ako se dogodi JMSException, potrošač poziva Session.recover prije nego što pozove Message.aknowledge ili MessageConsumer.receive, jer je Session.recover odgovoran za oporavak i ponovnu isporuku neprihvaćenih poruka.
- Sjednica. DUPS_OK_ACKNOWLEDGE: Ako netko proslijedi ovaj argument tijekom stvaranja objekta sesije, ako se dogodi JMSException, tada pouzdani potrošač čeka nekoliko sekundi, a zatim poziva metodu MessageConsumer.receive da ponovno primi poruke. Ali ovdje se mogu primiti dvostruke poruke ili iste poruke ponovno isporučene kao u ovom načinu prije failover-a, potvrđene poruke mogu se ponovno isporučiti.
Bilješka : Ovdje u primjeru koda koristio sam QueueSession, ali za prosljeđivanje ovih argumenata može se koristiti TopicSession.
P # 31) Koja je funkcionalnost Oracle Glassfish poslužitelja? Koju dodatnu prednost ima povrh Apache Tomcat poslužitelja?
Odgovor: Glassfish poslužitelj je zapravo aplikacijski poslužitelj i može se koristiti i kao web poslužitelj što znači da može obrađivati HTTP zahtjeve iz web preglednika.
Kao aplikacijski poslužitelj razvijen je za rukovanje svim vrstama Java Enterprise aplikacija u smislu servleta / JSP i također EJB komponenata.
Dok je Tomcat poslužitelj zapravo spremnik servleta koji se obično koristi za rukovanje servlet ili JSP komponentama.
P # 32) Kako stvoriti EJB sesiju kako bi se započela JMS veza?
Odgovor: Možemo stvoriti EJB sesiju za JMS, kao što smo napisali u donjem kodu.
P # 33) Opišite koncept klastera graha vođenih porukama.
Odgovor: Ako je aplikacija zasnovana na komponentama EJB raspoređena na bilo kojem klasteru poslužitelja aplikacija, tada se može konfigurirati za izvođenje na bilo kojem poslužitelju unutar klastera kako bi se osigurala dostupnost i skalabilnost aplikacije.
Ako je EJB u obliku Message Driven Bean (MDB), tada se može izvoditi na bilo kojem poslužitelju unutar klastera i može se pokrenuti paralelno s brojem aplikacijskih poslužitelja u klasteru.
Zaključak
Nadam se da bi ovaj popis glavnih pitanja o JMS intervjuu zaista bio informativan i siguran sam da svaki intervju možete uspješno razbiti uz temeljito poznavanje ovog popisa.
Nadam se da bi vam ovo puno pomoglo !! Sretno učenje !!
Preporučena literatura
- Intervjuirajte pitanja i odgovore
- Neka zanimljiva pitanja za ispitivanje softverskog testiranja
- Pitanja i odgovori za ispitivanje ETL-a
- 12 najpopularnijih pitanja o Mockito intervjuu (Podrugljivi okvirni intervju)
- Najčešća pitanja za intervjue za Oracle obrasce i izvješća
- Softversko ručno testiranje Intervju pitanja za iskusne profesionalce
- Implementacija Jave: Izrada i izvršavanje Java JAR datoteke
- Najpopularnija tehnička pitanja za Oracle Apps i Oracle SOA Intervju