top 30 jms interview questions
De mest populære JMS-intervjuspørsmålene og svarene for ferskere og erfarne fagfolk:
JMS eller Java Messaging Service har for tiden blitt en av de mest dominerende modellene for sikker, pålitelig og skalerbar levering av meldinger over hele verden.
Denne modellen er veldig godt strukturert og støtter en rekke former for meldingsteknikker og protokoller.
La oss dykke inn og gå gjennom noen spørsmål og svar som ofte blir stilt om dette emnet i hele bransjen.
De mest populære spørsmålene om JMS-intervju
Nedenfor er en liste over de ofte stilte spørsmålene om Java Message Service-intervju sammen med detaljerte svar.
Q # 1) Hva er JMS?
Svar: Java Messaging Service er et Java API, som gjør det mulig for systemene å opprette, lese, sende og motta meldinger.
Den viktigste delen av algoritmen er veldig godt strukturert og lar en applikasjon sende en melding til en annen applikasjon, og muliggjør også kringkastingsfunksjoner til abonnentene.
Spørsmål nr. 2) Hvilke typer kommunikasjon gir JMS? Forklar i detalj.
Svar: Denne API-en gir to typer kommunikasjon:
- Asynkron: Meldingen blir levert til klienten, det er ikke nødvendig for klienten å sende forespørsler for å motta den. Klientsøknaden vil motta den når avsenderapplikasjonen sender.
- Pålitelig: Her blir meldingen sendt til klientapplikasjonen når API-protokollen sikrer tilgjengeligheten av mottakerprogrammet.
Spørsmål 3) Hvor mange meldingsmodeller er tilgjengelige på JMS?
Svar: Spesielt er det to typer modeller levert av JMS:
Punkt til punkt: Som navnet antyder er det en en-til-meldingsmekanisme, der avsenderen sender en melding til en enkelt mottaker. Meldingen er tilgjengelig for mottakerprogrammet når den er klar, og inntil da lagres meldingen i køen.
Den viktigste delen av det er at det er null avhengigheter med hensyn til tid mellom både avsender og mottakerapplikasjon.
Publiser og abonner: Denne meldingsmekanismen er veldig unikt designet av JMS.
For eksempel , abonnerer en leser på en blogg der personen er interessert. Nå kan det være flere som er interessert i en bestemt blogg.
Og de abonnerer / registrerer seg på den bloggen. Nå når et nytt innlegg eller emne er publisert på bloggen, vil alle de registrerte leserne få en oppdatering. Denne meldingsmodellen heter Publiser og abonner.
Q # 4) Hva er en kø?
Svar: I punkt-til-punkt-mekanismen til JMS sender kildeapplikasjonen en melding til destinasjonsapplikasjonen, meldingen forbrukes av destinasjonsapplikasjonen når den er tilgjengelig, til den tiden kalles lagringsenheten for en tid en kø.
Q # 5) Hva er et emne?
Svar: I Publish / Subscribe-modellen genererer klient- / publisher-applikasjonen en melding, og den meldingen er tilgjengelig for alle abonnenter eller destinasjonsapplikasjoner. Denne meldingen kalles et emne.
Q # 6) Hva er hovedforskjellen mellom arbeidsmekanismen til JMS og RPC?
Svar: Den identifiserbare forskjellen mellom de to modellene ligger mellom måten meldingen blir levert på.
I tilfelle JMS sender avsenderapplikasjonen meldingen til destinasjonsapplikasjonen, og deretter venter den / eller behandler en annen melding i henhold til programmeringskriteriene.
Mens det gjelder RPC, er tråden fullført når meldingen når målet og kontrollen kommer tilbake til metoden som er ansvarlig for meldingstransport.
Q # 7) Hva er Message Oriented Middleware?
Svar: Message Oriented Middleware er en programvare som fungerer mellom avsenderapplikasjonen og destinasjonsapplikasjonen i JMS-arbeidsmodellen.
Q # 8) Hvordan er Message Oriented Middleware ansvarlig for ingen tidsavhengighet mellom avsender og mottakerkomponent med hensyn til punkt til punkt-modell på JMS?
Svar: Siden MOM-mellomvaren opererer mellom avsender- og mottakerkomponenten, tar den seg av meldingen og transporterer meldingen ved å stille i kø. Så til destinasjons- / mottakerprogrammet blir tilgjengelig for å motta / lese meldingen, lagres meldingen i en kø.
Den viktigste delen er at metoden som er ansvarlig for sending av meldingen ikke er opptatt før mottakerprogrammet mottar meldingen. Dermed fungerer både avsender- og mottakerapplikasjonen uavhengig uten tidsavhengighet.
Q # 9) Nevn meldingstypene som støttes av JMS.
Svar: Type meldinger som støttes av JMS er:
- Tekstmeldinger
- Strømmeldinger
- Kartmeldinger
- Bytes-meldinger
- Objektmeldinger
Q # 10) Hva er en byte-melding?
Svar: Bytes Message-objektet er faktisk ansvarlig for å sende meldingen som inneholder en strøm med uavbrutt byte, og den arver fra meldingsgrensesnittet og legger til en byte-meldingsdel. Meldingsmottakeren er ansvarlig for tolkningen av meldingen.
JMS API tillater transport av denne typen meldinger, men i henhold til oracle docs brukes de vanligvis ikke da inkludering av egenskaper kan påvirke meldingsformatet.
Spørsmål nr. 11) Hva er en StreamMessage?
Svar: Et StreamMessage-objekt brukes til å sende strømmen av primitive datatyper i Java-programmeringsspråket. Dataene fylles og leses sekvensielt. Den arver fra meldingsgrensesnittet og legger til en strømmeldingsdel.
java.io.DataInputStream og java.io.DataOutputStream er API-er som støtter denne typen meldinger.
Q # 12) Hva er en tekstmelding?
Svar: En tekstmelding er den som blir tatt hånd om av java.lang.String, og den arver fra meldingsgrensesnittet og legger til en tekstmeldingsdel. Dette brukes til å transportere meldingene som inneholder en tekst.
Q # 13) Hva er en objektmelding?
Svar: En objektmelding inneholder vanligvis et Java-objekt som kan serialiseres i meldingsdelen. Generelt mottar mottakerprogrammet Object-meldingen i en skrivebeskyttet modus.
Sp # 14) Hva er en kartmelding?
Svar: Meldingsteksten til kartmeldingsobjektet inneholder et sett med navn-verdipar, der navnene er strengobjekter, og verdiene er Java-primitiver. Oppføringene kan nås sekvensielt eller tilfeldig etter navn. Kartmelding arver faktisk fra meldingsgrensesnittet og legger til en meldingstekst som inneholder et kart.
Sp # 15) Hva er JNDI? Hvordan er det relatert til JMS?
Svar: JNDI er Java Naming and Directory Interface. Hvis et program er koblet til en database, lar det applikasjonsutvikleren gi et navn til databasen i stedet for å bekymre seg for legitimasjonen til databasetilkoblingen.
JNDI API får tilgang til navnekatalogen og finner kartleggingen mellom navnet og databaseobjektet og kobler deretter. Vi kan bruke denne mekanismen mens vi kobler til en hvilken som helst connectionFactory (kø eller emne) for sending av meldinger.
Spørsmål nr. 16) Hvordan sender / sender en avsenderapplikasjon en melding via JMS?
Svar: Nedenfor er noen måter som en melding sendes gjennom JMS:
- Implementere JNDI for å slå opp legitimasjonen til tilkoblingsfabrikken.
- Opprett en connectionFactory-gjenstand for implementering.
- Identifiser målobjektene (ett eller flere).
- Bruk connectionFactory-objektet for å opprette JMS-forbindelsen.
- Lag en eller flere økter.
- Bruk en økt og destinasjonene til å opprette MessageProducers og MessageConsumers som trengs.
- Kommuniser ved hjelp av kanalen.
Q # 17) Nevn komponentene i JMS.
Svar: Komponentene i JMS inkluderer:
- JMS-leverandør
- JMS-klient
- Meldinger
- Administrerte objekter
- Innfødte klienter
Sp # 18) Hva er administrerte objekter i JMS?
Svar: JMS administrert objekt er faktisk de legitimasjonene som er konfigurert av administratoren for å få kontakt med JMS-klienten og er definert under JNDI. Disse objektene konfigureres før de kobles til JMS-klienten på serveren.
Spørsmål nr. 19) Hva er funksjonene til en JMS-leverandør?
Svar: JMS Provider tar i utgangspunktet vare på sikkerhet og data.
Det er ansvarlig for å sikre at meldingen blir levert på en sikker måte, den tar seg også av datakryptering og standarder for datakoding og er ansvarlig for å påkalle meldingen for ikke-JMS-klienten.
Spørsmål nr. 20) Hva er en JMS-økt?
Svar: En JMS-økt er en tilstand som styrer den totale flyten fra sending til mottak av JMS-meldingene.
Spørsmål nr. 21) Kan vi bruke JMS til å sende automatiserte e-poster?
selen automatiseringstest intervju spørsmål og svar for erfarne
Svar: JMS har ingen standard APIer som støtter funksjonen, men vi kan bruke JavaMail til å sende automatiserte e-poster.
Q # 22) Hva er funksjonaliteten til en meldingslytter i sammenheng med JMS?
Svar: Message Listener brukes vanligvis med meldingsforbruker i tilfelle asynkron levering. For asynkron levering kan man registrere et objekt av MessageListener med messageConsumer.
Spørsmål nr. 23) Hva er JMS-klienten?
Svar: JMS-klienten er i utgangspunktet en komponent skrevet på Java-programmeringsspråket som er ansvarlig for å påkalle og konsumere meldingsorganer.
Sp # 24) Hva er en melding?
Svar: En melding er en kropp, snarere en komponent som kommuniserer mellom JMS-klientene.
Spørsmål nr. 25) Hva er funksjonaliteten til en produsent av JMS-meldinger?
Svar: En meldingsprodusent er i utgangspunktet en komponent som er opprettet av en JMS-økt for å sende en melding til mottakerprogrammet.
Man kan opprette en økt og implementere MessageProducer-grensesnittet for å definere et destinasjonsobjekt, køobjekt eller emneobjekt. Man kan erklære en produsent som uspesifisert ved å tildele null i argumentet i stedet for et objekt. Senere kan vi bruke overbelastning av Java-metoden på sendemetoden for å spesifisere en destinasjon, melding som argumenter eller parametere.
Spørsmål nr. 26) Hva er funksjonaliteten til forbrukerne av JMS-meldinger?
Svar: En meldingsforbruker er i utgangspunktet en komponent som er opprettet av en JMS-økt for å motta en melding fra mottakerprogrammet. Man kan opprette en økt og implementere et MessageConsumer-grensesnitt for å definere målobjekt, køobjekt eller emneobjekt.
Man kan bruke createDurableSubscriber med øktobjektet til å lage en holdbar emneabonnent, men man kan bruke den til å lage et emne for Publish / Subscribe-modellen og ikke for å opprette køer.
Forbrukeren blir aktiv når forbrukerobjektet er opprettet. Vi kan bruke objektet til å motta og sende meldinger. For å deaktivere dette, kan man bruke en nærmetode for en MessageConsumer.
Spørsmål nr. 27) Hva er funksjonaliteten til en JMS-køleser?
Svar: Som vi tidligere har diskutert begrepet kø, hvor meldingen lagres til mottakeren mottar den. Funksjonaliteten til å bla gjennom meldingene i køen og vise topptekstverdiene støttes av QueueBrowser-objektet.
Man kan opprette et QueueBrowser-objekt via. JMS-økt.
Spørsmål nr. 28) Hva er funksjonaliteten til en JMS Message Selector?
Svar: JMS Message Selector er i utgangspunktet et API som er ansvarlig for å filtrere meldingene den mottar for et bestemt program. Message Selectors tildeler faktisk jobben til JMS Provider, som faktisk er ansvarlig for filtrering av meldinger.
En meldingsvelger tar faktisk strengtypeverdier som inndata.
WatchType = ’Titan’ ELLER WatchType = ’Rolex’
Metodene createConsumer og createDurableSubscriber tillater en å spesifisere en meldingsvelger som argument når man oppretter en meldingsforbruker.
Spørsmål nr. 29) Hvordan håndterer jeg unntaket forårsaket av JMS?
Svar: Hovedklassen som er ansvarlig for å kaste JMS-relaterte unntak fra JMS API er JMSException.
Fange JMSException gir en generell måte å håndtere alle unntakene knyttet til JMS API.
JMS Exception-klassen inkluderer følgende underklasser, som er beskrevet i API-dokumentasjonen:
- IllegalStateException
- Ugyldig klientIDEeksepsjon
- InvalidDestinationException
- InvalidSelectorException
- JMSSecurityException
- MeldingEOFEeksepsjon
- MessageFormatException
- MessageNotReadableException
- MessageNotWriteableException
- ResourceAllocationException
- TransactionInProgressException
- TransactionRolledBackException
Spørsmål nr. 30) Hvordan håndtere økter som ikke er behandlet med hensyn til JMS?
Svar: I tilfelle ikke-transaksjonsøkter bekreftes meldinger på grunnlag av argumentet som ble sendt mens du opprettet et sesjonsobjekt med QueueSession eller TopicSession-metoden.
Alternativene nedenfor brukes vanligvis i henhold til forretningskravene:
- Økt. AUTO_ACKNOWLEDGE: Hvis man overfører dette argumentet mens man lager et øktobjekt, hvis JMSException oppstår, venter en pålitelig forbruker i noen sekunder og kaller deretter metoden MessageConsumer.receive for å motta meldingene igjen. På grunn av failover, hvis noen melding ikke blir levert, vil den bli levert på nytt.
- Økt. CLIENT_ACKNOWLEDGE: Hvis man passerer dette argumentet mens man oppretter et øktobjekt, så, hvis JMSException oppstår, kaller forbrukeren Session.recover før han ringer Message.aknowledge eller MessageConsumer.receive, fordi Session.recover er ansvarlig for å gjenopprette og levere tilbake ikke-godkjente meldinger.
- Økt. DUPS_OK_ACKNOWLEDGE: Hvis man overfører dette argumentet mens man lager et øktobjekt, hvis JMSException oppstår, venter en pålitelig forbruker i noen sekunder og kaller deretter metoden MessageConsumer.receive for å motta meldingene igjen. Men her kan man motta dupliserte meldinger eller samme meldinger levert på nytt som i denne modusen før failover, bekreftede meldinger kan leveres på nytt.
Merk : Her i eksempelkoden har jeg brukt QueueSession, men man kan bruke TopicSession til å overføre disse argumentene.
Spørsmål nr. 31) Hva er funksjonaliteten til Oracle Glassfish-serveren? Hvilken ekstra fordel har den på toppen av Apache Tomcat-serveren?
Svar: Glassfish-serveren er faktisk en applikasjonsserver og kan også brukes som webservere, noe som betyr at den kan håndtere HTTP-forespørsler fra nettleserne.
Som applikasjonsserver er den utviklet for å håndtere alle typer Java Enterprise-applikasjoner når det gjelder servlets / JSP og også EJB-komponenter.
Tomcat-serveren er faktisk en servletbeholder som vanligvis brukes til å håndtere servlet- eller JSP-komponenter.
Spørsmål nr. 32) Hvordan lage en EJB-økt for å starte en JMS-forbindelse?
Svar: Vi kan lage en EJB-økt for JMS som vi har skrevet i koden nedenfor.
Q # 33) Beskriv begrepet Message Driven Bean Clustering.
Svar: Hvis et EJB-komponentbasert program er distribuert på en hvilken som helst applikasjonsserverklynge, kan den konfigureres til å kjøre på en hvilken som helst server inne i klyngen for å gi tilgjengelighet og skalerbarhet for applikasjonen.
Hvis en EJB er i form av Message Driven Bean (MDB), kan den kjøre på hvilken som helst server inne i klyngen og kan startes parallelt med et antall applikasjonsservere i klyngen.
Konklusjon
Jeg håper at denne listen over de beste spørsmålene om JMS-intervjuer virkelig hadde vært informativ, og jeg er sikker på at du kan knekke ethvert intervju med suksess med grundig kunnskap om denne listen.
Forhåpentligvis hadde dette hjulpet deg mye !! Happy Learning !!
Anbefalt lesing
- Intervju spørsmål og svar
- Noen interessante intervjusspørsmål om programvaretesting
- ETL Testing Intervju Spørsmål og svar
- Topp 12 spørsmål om Mockito-intervju (Mocking Framework Interview)
- Top Oracle Forms and Reports Interview Questions
- Programvarehåndbok Testing av intervjuspørsmål for erfarne fagpersoner
- Java-distribusjon: Opprettelse og utføring av Java JAR-fil
- Topp Oracle Apps tekniske spørsmål og Oracle SOA intervju spørsmål