As 25 principais perguntas e respostas da entrevista JMS (Java Message Service)

baixar PDF

1) O que é JMS?

JMS significa Java Messaging Service. É o novo padrão para comunicação entre clientes. Ele permite que o componente de aplicativo J2EE crie, envie, leia e receba as mensagens.

2) Que tipo de mensagem é fornecida pelo JMS?

JMS fornece ambos os tipos de mensagens,

  • síncrono
  • Assíncrono

3) O que você quer dizer com tipo de mensagem síncrona e assíncrona?

Síncrono: neste tipo de mensagem, o cliente espera que o servidor responda a uma mensagem. Ex: Chamada telefônica, comunicação via rádio bidirecional.

Assíncrono: neste tipo de mensagem, o cliente não espera por uma mensagem do servidor, mas automaticamente um evento é criado para acionar uma mensagem de um servidor. Ex: e-mail, mensagem de texto, postagem em blog.

4) Quantos tipos de modelo de mensagens o JMS fornece e quais são eles?

Existem dois tipos de modelos de mensagens que o JMS fornece -

  • Fila ponto a ponto
  • O segundo é publicar e assinar

5) Explique a diferença entre tópico e fila?

A técnica de fila é usada para mensagens um a um e oferece suporte a mensagens ponto a ponto. Embora o tópico seja normalmente usado para mensagens de um para vários e suporta o modelo de assinatura pública de mensagens.

6) Qual é a função do provedor JMS?

O provedor JMS lida com a conversão de dados, segurança das mensagens e o acionamento do cliente. Ele especifica o nível de criptografia, o nível de segurança da mensagem e o melhor tipo de dados para o cliente não JMS.

7) Quais são os componentes do JMS?

  • Provedor JMS
  • Cliente JMS
  • Mensagens
  • Objetos administrados
  • Clientes nativos

8) Dê um exemplo de uso do modelo ponto a ponto no JMS?

Um exemplo de modelo ponto a ponto seria uma impressão. Quando você seleciona uma opção de impressão, seu sistema envia a mensagem para o servidor e, uma vez que a impressão seja feita, novamente este servidor enviará a mensagem de volta para você. O modelo ponto a ponto é usado, quando as informações são específicas para um único cliente.

9) Para aplicativos habilitados para JMS, quais são os principais objetos relacionados ao JMS necessários?

  • Os principais objetos relacionados ao JMS que são necessários são -
  • O objeto de conexão
  • Uma ou mais sessões em uma conexão que fornece um contexto para envio e recebimento de mensagens.
  • Um tópico ou objeto de fila em uma sessão que representa o destino no intermediário de mensagem.
  • Remetente, editor ou receptor apropriado em uma sessão.

10) O que é objeto administrado por JMS?

O objeto administrado JMS é um objeto JMS pré-configurado que é criado por um administrador para uso de clientes JMS e colocado no namespace JNDI.

11) Qual é a parte importante dos aplicativos JMS?

  • Sessão
  • Conexão
  • Mensagem
  • Produtor de Mensagem
  • Consumidor de mensagem
  • Fábrica de conexão e destino

12) O que é sessão JMS?

Uma sessão JMS é um contexto de encadeamento único para enviar e receber mensagens JMS. Uma sessão JMS pode ser uma transação transacionada localmente, não transacionada ou distribuída.

13) Mencionou a diferença entre assinatura durável e não durável?

A assinatura durável dá ao assinante a liberdade de receber todas as mensagens de um tópico, enquanto uma assinatura não durável não oferece nenhuma garantia sobre as mensagens enviadas por outros quando um cliente é desconectado por outros.

14) O que é mensagem de byte?

A mensagem de byte é um fluxo de bytes ininterruptos. Ele contém uma matriz de bytes primitivos em sua carga útil. Para a transferência de dados entre dois aplicativos em seu formato nativo, utiliza-se mensagem de byte, o que pode não ser possível com outros tipos de mensagem.

15) Menciona diferentes tipos de mensagens disponíveis na API JMS?

Os diferentes tipos de mensagens disponíveis na API JMS são Message, TextMessage, BytesMessage, ObjectMessage e MapMessage.

16) Qual é a diferença entre o modelo P2P (Peer to Peer) e o modelo de assinatura?

O modelo P2P é altamente confiável e é usado em uma situação de um para um, enquanto o modelo de assinatura é usado em uma situação de um para muitos. É muito rápido, mas menos confiável.

17) O que é um cliente JMS?

O cliente JMS é um programa de linguagem que envia ou recebe mensagens.

18) Podemos enviar mensagens de e-mail usando JMS?

JMS não tem suporte inerente para operações de email.

19) Explique como o servidor de aplicativos lida com a conexão JMS?

  • Com a ajuda do servidor de aplicativos, a sessão do servidor é criada e os armazena em um pool
  • Para colocar mensagens na sessão JMS, o consumidor de conexão, usa a sessão do servidor
  • A sessão do servidor é aquela que cria a sessão JMS
  • O aplicativo escrito por programadores de aplicativos cria o ouvinte de mensagens.

20) Qual a diferença entre JMS e RPC (Remote Procedure Call)?

A diferença básica entre JMS e RPC está na maneira como eles enviam mensagens. O JMS usa o tipo de mensagem assíncrona, enquanto o RPC cria o tipo de mensagem síncrona. O invocador do método em RPC espera que o método termine a execução e retorne o controle ao invocador. No JMS, o remetente da mensagem apenas envia a mensagem para o destino e continua seu próprio processamento.

21) Explique como o JMS funciona com o J2EE?

O aplicativo cliente, como componentes JavaBeans corporativos e componentes da web, podem enviar ou receber mensagens JMS de forma síncrona. Além disso, os clientes do aplicativo também podem receber mensagens de forma assíncrona. Com a ajuda de beans acionados por mensagem, o provedor JMS pode, opcionalmente, implementar o processamento de mensagens. Os beans controlados por mensagem são um tipo de bean corporativo que permite o consumo assíncrono de mensagens.

A operação de envio e recebimento de mensagem é realizada em operação distribuída, o que permite operações JMS e acessos ao banco de dados dentro de uma única transação.

22) Quais são os tipos de mensagens que são suportados pelo JMS?

Os tipos de mensagens suportados pelo JMS são

  • Mensagens de fluxo
  • Mensagens de texto
  • Mensagens de mapa
  • Mensagens de Bytes
  • Mensagens de Objeto

23) O que é o MOM em relação ao JMS?

O MOM (Message Oriented Middleware) é um software que funciona como intermediário entre dois componentes de comunicação. Ele é colocado entre o cliente e o servidor, o MOM fornece a facilidade de passar mensagens usando a técnica de enfileiramento. Até que o cliente não solicite a leitura da mensagem, as mensagens serão armazenadas na fila. Usando essa técnica, o componente de software pode funcionar independentemente do tempo.

24) Como você pode entregar uma mensagem java para um cliente não java?

Em primeiro lugar, após receber a mensagem do Tópico ou Fila, a mensagem deve ser convertida em um cliente não Java de acordo com suas especificações. A mensagem, uma vez convertida em um cliente não Java, pode ser entregue.

25) Para enviar mensagens através de JMS, quais opções de criptografia existem?

A criptografia e decriptografia das mensagens são tratadas pelo provedor JMS e não pelas especificações JMS. A Sonic MQ da Progress Software é um provedor líder de JMS e faz criptografia por meio de mecanismos de criptografia chamados Quality of Protection.