top 30 jms interview questions
Mest populære JMS-interviewspørgsmål og svar til friskere og erfarne fagfolk:
JMS eller Java Messaging Service er i øjeblikket blevet en af de mest dominerende modeller til sikker, pålidelig og skalerbar levering af meddelelser over hele verden.
Denne model er meget godt struktureret og understøtter en række former for meddelelsesteknikker og protokoller.
Lad os dykke ind og gennemgå nogle spørgsmål og svar, der ofte stilles om dette emne i hele branchen.
Mest populære JMS-interviewspørgsmål
Nedenfor er en liste over hyppigst stillede spørgsmål til Java Message Service-interview samt detaljerede svar.
Q # 1) Hvad er JMS?
Svar: Java Messaging Service er en Java API, der gør det muligt for systemerne at oprette, læse, sende og modtage meddelelser.
Den vigtigste del af algoritmen er meget velstruktureret og giver en applikation mulighed for at sende en besked til en anden applikation og muliggør også udsendelsesfunktioner til abonnenterne.
Q # 2) Hvilke typer kommunikation leveres af JMS? Forklar detaljeret.
Svar: Denne API giver to typer kommunikation:
- Asynkron: Meddelelsen leveres til klienten, det er ikke nødvendigt for klienten at sende anmodninger for at modtage den. Klientapplikationen modtager den, når afsenderprogrammet sender.
- Pålidelig: Her sendes beskeden til klientapplikationen, når API-protokollen sikrer tilgængeligheden af modtagerapplikationen.
Spørgsmål nr. 3) Hvad er antallet af tilgængelige beskedmodeller på JMS?
Svar: Specifikt er der to typer modeller leveret af JMS:
Punkt til punkt: Som navnet selv antyder, er det en en til en meddelelsesmekanisme, hvor afsenderen sender en besked til en enkelt modtager. Meddelelsen er tilgængelig for modtagerapplikationen, når den er klar, og indtil da er meddelelsen gemt i køen.
Den vigtigste del af det er, at der er nul afhængigheder med hensyn til tid mellem både afsenderen og modtagerprogrammet.
Udgiv og abonner: Denne meddelelsesmekanisme er meget unikt designet af JMS.
For eksempel , en læser abonnerer på en blog, hvor personen er interesseret. Nu kan der være flere mennesker interesserede i en bestemt blog.
Og de abonnerer / tilmelder sig den blog. Når først et nyt indlæg eller emne er offentliggjort på bloggen, får alle de registrerede læsere en opdatering. Denne meddelelsesmodel hedder Publish and Subscribe.
Spørgsmål nr. 4) Hvad er en kø?
Svar: I punkt til punkt-mekanismen i JMS sender kildeapplikationen en besked til destinationsapplikationen, meddelelsen forbruges af destinationsapplikationen, når den er tilgængelig, indtil det tidspunkt kaldes lagringsenheden for en kø.
Spørgsmål nr. 5) Hvad er et emne?
Svar: I modellen Publish / Subscribe genererer klienten / publisher-applikationen en besked, og den besked er tilgængelig for alle abonnenter eller destinationsapplikationer. Denne meddelelse kaldes et emne.
Q # 6) Hvad er den principielle forskel mellem arbejdsmekanismen for JMS og RPC?
Svar: Den identificerbare forskel mellem de to modeller ligger mellem måden, hvorpå meddelelsen leveres.
I tilfælde af JMS sender afsenderapplikationen beskeden til destinationsapplikationen, og derefter venter den igen / eller behandler en anden meddelelse i henhold til programmeringskriterierne.
Mens der er tale om RPC, udføres tråden, når meddelelsen når destinationen, og kontrollen vender tilbage til metoden, der er ansvarlig for meddelelsestransport.
Q # 7) Hvad er Message Oriented Middleware?
Svar: Message Oriented Middleware er en software, der fungerer mellem afsenderprogrammet og destinationsapplikationen i JMS-arbejdsmodellen.
Spørgsmål nr. 8) Hvordan er Message Oriented Middleware ansvarlig for ingen tidsafhængighed mellem afsender og modtagerkomponent med hensyn til punkt til punkt-model på JMS?
Svar: Da MOM-middlewaren fungerer mellem afsender- og modtagerkomponenten, tager den sig af meddelelsen og transporterer meddelelsen ved kømekanisme. Så indtil destinations- / modtagerapplikationen bliver tilgængelig til at modtage / læse beskeden, gemmes beskeden i en kø.
Den vigtigste del er, at metoden, der er ansvarlig for afsendelse af meddelelsen, ikke er optaget, før modtagerapplikationen modtager beskeden. Således fungerer både afsender- og modtagerapplikationen uafhængigt uden nogen tidsafhængighed.
Q # 9) Navngiv de meddelelsestyper, der understøttes af JMS.
Svar: Den type beskeder, der understøttes af JMS, er:
- Tekstbeskeder
- Stream meddelelser
- Kortbeskeder
- Bytes-meddelelser
- Objektbeskeder
Q # 10) Hvad er en Bytes-meddelelse?
Svar: Bytes Message-objektet er faktisk ansvarlig for at sende meddelelsen, der indeholder en strøm af uafbrudte bytes, og den arver fra meddelelsesgrænsefladen og tilføjer en bytes-meddelelsesdel. Meddelelsesmodtageren er ansvarlig for fortolkningen af meddelelsen.
JMS API tillader transport af denne type meddelelser, men ifølge oracle-dokumenter bruges de typisk ikke, da inkludering af egenskaber kan påvirke meddelelsesformatet.
Spørgsmål nr. 11) Hvad er en StreamMessage?
Svar: Et StreamMessage-objekt bruges til at sende strømmen af primitive datatyper i Java-programmeringssproget. Dataene udfyldes sekventielt og læses. Den arver fra beskedgrænsefladen og tilføjer en stream-meddelelsesdel.
java.io.DataInputStream og java.io.DataOutputStream er API'er, der understøtter disse typer meddelelser.
Spørgsmål nr. 12) Hvad er en tekstbesked?
Svar: En tekstbesked er den, der er taget hånd om af java.lang.String, og den arver fra meddelelsesgrænsefladen og tilføjer en tekstbeskedtekst. Dette bruges til at transportere beskeder, der indeholder en tekst.
Spørgsmål nr. 13) Hvad er en objektbesked?
Svar: En objektmeddelelse indeholder generelt et Java-objekt, der kan serialiseres, i dets meddelelsestekst. Generelt modtager modtagerapplikationen objektbeskeden i en skrivebeskyttet tilstand.
Spørgsmål nr. 14) Hvad er en kortmeddelelse?
Svar: Meddelelsesteksten for kortmeddelelsesobjektet indeholder et sæt navn-værdipar, hvor navnene er strengobjekter, og værdier er Java-primitiver. Posterne kan tilgås sekventielt eller tilfældigt ved navn. Kortmeddelelse arver faktisk fra beskedgrænsefladen og tilføjer en meddelelsesdel, der indeholder et kort.
Spørgsmål nr. 15) Hvad er JNDI? Hvordan er det relateret til JMS?
Svar: JNDI er Java Naming and Directory Interface. Hvis et program er tilsluttet en database, giver det applikationsudvikleren mulighed for at give et navn til den database i stedet for at bekymre sig om legitimationsoplysninger til databaseforbindelsen.
JNDI API får adgang til navngivningsmappen og finder tilknytningen mellem navnet og databaseobjektet og opretter forbindelse i overensstemmelse hermed. Vi kan bruge denne mekanisme, mens vi opretter forbindelse til enhver connectionFactory (kø eller emne) til afsendelse af meddelelser.
Spørgsmål nr. 16) Hvordan transporterer / sender en afsenderapplikation en besked via JMS?
Svar: Nedenfor er et par måder, hvorpå en besked sendes via JMS:
- Implementere JNDI for at finde legitimationsoplysningerne for connectionFactory.
- Opret et connectionFactory-objekt til implementering.
- Identificer destinationsobjekterne (et eller flere).
- Brug forbindelsesfabriksobjektet til at oprette JMS-forbindelsen.
- Opret en eller flere sessioner.
- Brug en session og destinationerne til at oprette de nødvendige MessageProducers og MessageConsumers.
- Kommuniker ved hjælp af kanalen.
Q # 17) Navngiv komponenterne i JMS.
Svar: Komponenterne i JMS inkluderer:
- JMS-udbyder
- JMS-klient
- Beskeder
- Administrerede objekter
- Indfødte klienter
Spørgsmål nr. 18) Hvad er administrerede objekter i JMS?
Svar: JMS administreret objekt er faktisk de legitimationsoplysninger, der er konfigureret af administratoren for at oprette forbindelse til JMS-klienten og er defineret under JNDI. Disse objekter er konfigureret, før de opretter forbindelse til JMS-klienten inde i serveren.
Spørgsmål nr. 19) Hvad er funktionerne hos en JMS-udbyder?
Svar: JMS-udbyder tager sig grundlæggende af sikkerhed og data.
Det er ansvarligt for at sikre, at meddelelsen leveres på en sikker måde, den tager sig også af datakryptering og datakodningsstandarder og er ansvarlig for at påkalde meddelelsen til ikke-JMS-klienten.
Spørgsmål nr. 20) Hvad er en JMS-session?
Svar: En JMS-session er en tilstand, der styrer den samlede strøm fra afsendelse til modtagelse af JMS-meddelelserne.
Spørgsmål nr. 21) Kan vi bruge JMS til at sende automatiserede e-mails?
bedste rengøringssoftware til Windows 10
Svar: JMS har ingen standard-API'er, der understøtter funktionen, men vi kan bruge JavaMail til at sende automatiserede e-mails.
Spørgsmål nr. 22) Hvad er funktionaliteten af en meddelelseslytter i forbindelse med JMS?
Svar: Message Listener bruges typisk med meddelelsesforbruger i tilfælde af asynkron levering. Til asynkron levering kan man registrere et objekt fra MessageListener med messageConsumer.
Spørgsmål nr. 23) Hvad er JMS-klienten?
Svar: JMS-klienten er grundlæggende en komponent skrevet på Java-programmeringssproget, som er ansvarlig for at påberåbe sig og forbruge meddelelsesorganer.
Spørgsmål nr. 24) Hvad er en besked?
Svar: En besked er et organ, snarere en komponent, der kommunikerer mellem JMS-klienterne.
Spørgsmål nr. 25) Hvad er funktionaliteten af en JMS-meddelelsesproducent?
Svar: En meddelelsesproducent er grundlæggende en komponent, der oprettes af en JMS-session til at sende en besked til modtagerapplikationen.
Man kan oprette en session og implementere MessageProducer-grænsefladen for at definere et destinationsobjekt, køobjekt eller emneobjekt. Man kan erklære en producent som uspecificeret ved at tildele null i sit argument i stedet for et objekt. Senere kan vi bruge Java-metodeoverbelastning på sendemetoden til at specificere en destination, besked som argumenter eller parametre.
Spørgsmål nr. 26) Hvad er funktionaliteten hos forbrugere af JMS-beskeder?
Svar: En meddelelsesforbruger er dybest set en komponent, der oprettes af en JMS-session til modtagelse af en besked fra modtagerapplikationen. Man kan oprette en session og implementere en MessageConsumer-grænseflade for at definere destinationsobjekt, køobjekt eller emneobjekt.
Man kan bruge createDurableSubscriber med sessionsobjektet til at oprette en holdbar emneabonnent, men man kan bruge det til at oprette et emne til Publish / Subscribe-modellen og ikke til at skabe køer.
Forbrugeren bliver aktiv, når forbrugerobjektet er oprettet. Vi kan bruge objektet til at modtage og sende meddelelser. For at deaktivere dette kan man bruge en tæt metode til en MessageConsumer.
Spørgsmål nr. 27) Hvad er funktionaliteten i en JMS-købrowser?
Svar: Som vi tidligere har diskuteret begrebet kø, hvor meddelelsen gemmes, indtil modtageren modtager den. Funktionen ved at gennemse meddelelserne i køen og vise headerværdierne understøttes af QueueBrowser-objektet.
Man kan oprette et QueueBrowser-objekt via. JMS-session.
Spørgsmål nr. 28) Hvad er funktionaliteten i en JMS-meddelelsesvælger?
Svar: JMS-meddelelsesvælgeren er grundlæggende en API, der er ansvarlig for at filtrere de meddelelser, den modtager til en bestemt applikation. Message Selectors tildeler faktisk jobbet til JMS Provider, som faktisk er ansvarlig for filtrering af meddelelser.
En meddelelsesvælger tager faktisk strengtypeværdier som input.
WatchType = 'Titan' ELLER WatchType = 'Rolex'
Metoderne createConsumer og createDurableSubscriber tillader, at man angiver en meddelelsesvælger som et argument, når man opretter en meddelelsesforbruger.
Spørgsmål nr. 29) Hvordan håndteres undtagelsen forårsaget af JMS?
Svar: Hovedklassen, der er ansvarlig for at kaste JMS-relaterede undtagelser fra JMS API, er JMSException.
Catching JMSException giver en generisk måde at håndtere alle undtagelser relateret til JMS API på.
Klassen JMS Exception inkluderer følgende underklasser, der er beskrevet i API-dokumentationen:
- IllegalStateException
- Ugyldig klientIDE-undtagelse
- InvalidDestinationException
- InvalidSelectorException
- JMSSecurityException
- MessageEOFException
- MessageFormatException
- MessageNotReadableException
- MessageNotWriteableException
- ResourceAllocationException
- TransactionInProgressException
- TransactionRolledBackException
Spørgsmål nr. 30) Hvordan håndteres ikke-transaktioner med hensyn til JMS?
Svar: I tilfælde af ikke-transaktioner, kvitteres meddelelser på baggrund af det argument, der er sendt, mens der oprettes et sessionsobjekt i QueueSession eller TopicSession-metoden.
Følgende muligheder bruges generelt i overensstemmelse med forretningskravene:
- Session. AUTO_ACKNOWLEDGE: Hvis man passerer dette argument, mens man opretter et sessionsobjekt, så hvis JMSException opstår, venter en pålidelig forbruger et par sekunder og kalder derefter metoden MessageConsumer.receive for at modtage meddelelserne igen. På grund af failover, hvis nogen besked ikke leveres, vil den blive leveret igen.
- Session. CLIENT_ACKNOWLEDGE: Hvis man klarer dette argument, mens man opretter et sessionobjekt, så kalder forbrugeren Session.recover, hvis JMSException opstår, før han ringer til Message.aknowledge eller MessageConsumer.receive, fordi Session.recover er ansvarlig for at gendanne og genindlevere ikke-godkendte meddelelser.
- Session. DUPS_OK_ACKNOWLEDGE: Hvis man passerer dette argument, mens man opretter et sessionsobjekt, så hvis JMSException opstår, venter en pålidelig forbruger et par sekunder og kalder derefter metoden MessageConsumer.receive for at modtage meddelelserne igen. Men her kan man modtage duplikatbeskeder eller samme meddelelser, der leveres om igen som i denne tilstand før failover, anerkendte meddelelser kan muligvis blive leveret igen.
Bemærk : Her i eksempelkoden har jeg brugt QueueSession, men man kan bruge TopicSession til at videregive disse argumenter.
Spørgsmål nr. 31) Hvad er funktionaliteten på Oracle Glassfish-serveren? Hvilken ekstra fordel har den oven på Apache Tomcat-serveren?
Svar: Glassfish-serveren er faktisk en applikationsserver og kan også bruges som webservere, hvilket betyder, at den kan håndtere HTTP-anmodninger fra webbrowserne.
Som applikationsserver er den udviklet til at håndtere alle typer Java Enterprise-applikationer med hensyn til servlets / JSP og også EJB-komponenter.
Tomcat-serveren er faktisk en servletcontainer, der generelt bruges til håndtering af servlet- eller JSP-komponenter.
Spørgsmål nr. 32) Hvordan oprettes en EJB-session for at starte en JMS-forbindelse?
Svar: Vi kan oprette en EJB-session for JMS, som vi har skrevet i nedenstående kode.
Q # 33) Beskriv konceptet med Message Driven Bean Clustering.
Svar: Hvis en EJB-komponentbaseret applikation er implementeret på en hvilken som helst applikationsserverklynge, kan den konfigureres til at køre på enhver server inde i klyngen for at give tilgængelighed og skalerbarhed for applikationen.
Hvis en EJB er i form af Message Driven Bean (MDB), kan den køre på en hvilken som helst server inde i klyngen og kan initieres parallelt med et antal applikationsservere i klyngen.
Konklusion
Jeg håber, at denne liste over de mest populære JMS-interviewspørgsmål virkelig ville have været informativ, og jeg er sikker på, at du kan knække ethvert interview med succes med en grundig viden om denne liste.
Forhåbentlig ville dette have hjulpet dig meget !! Glad læring !!
Anbefalet læsning
- Interviewspørgsmål og svar
- Nogle interessante spørgsmål om software-test Interview
- ETL Testing Interview Spørgsmål og svar
- Top 12 Mockito Interview Spørgsmål (Mocking Framework Interview)
- Top spørgsmål om Oracle-formularer og rapporter
- Software manuel test Interviewspørgsmål til erfarne fagfolk
- Java-implementering: Oprettelse og udførelse af Java JAR-fil
- Top Oracle Apps tekniske og Oracle SOA interviewspørgsmål