MDB

50 %
50 %
Information about MDB

Published on January 24, 2009

Author: kyrios

Source: slideshare.net

Description

Visão geral de message-driven beans.

MDB Message-Driven Beans

(As)síncrona • Java RMI (comunicação síncrona) • JMS (Java Message Service) (comunicação assíncrona)

Modelos de Comunicação Assíncrona • Point-to-Point (PTP) • Queue destination • Publish/Subscribe • Topic destination

Point-To-Point • Produtor cria mensagem • Mensagem entregue a um destino (neste caso um queue) • Mensagem é colocada em “fila” • MOM (Message-Oriented Middleware) entrega a mensagem a um consumidor registrado no destino

Publish/Subscribe • Mensagem é entregue a um destino (neste caso, um topic) • MOM entrega a mensagem a todos os consumidores subscritos no tópico • Uma mensagem, vários consumidores

Casos (queue) • Vários consumidores podem enviar mensagens para várias filas (queues) • Garantia Cada mensagem é entregue e consumida por apenas um consumidor • Mensagem é retida na queue até que haja um consumidor interessado

Casos (publish/ subscribe) • Mensagem tem como destino um tópico • Vários consumidores podem estar registrados no tópico • Se não há consumidores, a mensagem não é retida (exceto se a subscrição for durável)

Componentes de JMS • JMS provider (implementa a especificação JMS) • Clientes JMS: enviam/recebem msgs • Mensagens: objetos usados para troca de informações entre clientes JMS • Objetos administrados (administração)

Mensagem • Cabeçalho (obrigatório) • Propriedades (opcional) • Corpo (opcional) • Contém a ser trocado (payload)

Tipos de mensagens • Message (mensagem sem corpo) • StreamMessage • MapMessage • TextMessage • ObjectMessage • ObjectMessage • BytesMessage

Passos para produzir • ConnectionFactory cria Connection • Connection cria Session • Session cria mensagem • Obtém Destination (queue ou topic) • Session cria MessageProducer para Destination • MessageProducer envia mensagem

Passos para receber • ConnectionFactory cria Connection • Connection cria Session • Session cria mensagem • Obtém Destination (queue ou topic) • Session cria MessageConsumer para Destination • MessageConsumer recebe mensagem

Opção para receber • Síncrona • Chame Connection.start() • MessageConsumer.receive() • Assíncrona • Crie MessageListener • Registre MessageListener com o MessageConsumer • Chame Connection.start()

Esclarecimento • Troca de mensagens é assíncrona • A recepção propriamente dita de uma mensagem, após o envio assíncrono, pode ser • síncrona ou assíncrona (receive() ou via MessageListener)

Portanto... • Point-to-Point • Cliente1 envia msg para queue • Cliente2 consome msg da queue • Publish/subscribe • Cliente1 publica msg em topic • Cliente2,3,... assinam topic • MOM entrega msg aos clientes

Objetos administrados • Fábricas de conexão javax.jms.ConnectionFactory • Destinos (destination) javax.jms.Destination

Subinterfaces de javax.jms.ConnectionFactory • javax.jms.QueueConnectionFactory • javax.jms.TopicConnectionFactory

Cliente • Recurso JNDI de nome x é injetado em cf (código abaixo) • @Resource(mappedName=”x”) private static ConnectionFactory cf;

Cliente • Destino ou fonte de mensagens (javax.jms.Destination) • @Resource(mappedName=”d”) private static Queue queue; • @Resource(mappedName=”f”) private static Topic topic;

Criando conexão • Um ConnectionFactory permite criar uma conexão com o JMS provider • javax.jms.Connection (representa com JMS provider) • Connection c = cf.createConnection();

Conexão (detalhe) • Conexão deve ser fechada Connection.close() • Fecha sessões, produtores e consumidores associados • Antes de consumir mensagens Connection.start()

Sessão • Contexto (single-threaded) para produzir e consumir mensagens • Agrupa conjunto de envios e recepções de mensagens em transação • Uma sessão é criada a partir de uma conexão

Criando uma Session • javax.jms.Session s; • s = c.createSession(false,Session.AUTO_ACKNOWLEDGE); • false (sessão não é executada no contexto de uma transação) • Session.AUTO_ACKNOWLEDGE (mensagem foi consumida, ou seja, receive() ou onMessage(Message) sem exceções)

Usos de Session • Criar MessageProducer • Criar MessageConsumer • Criar mensagens (Message) • Criar browsers (Queue) Consultar msgs sem removê-las • Criar Queues e Topics temporários

MessageProducer • Session.createProducer(Destination) • javax.jms.Destination (subinterfaces) • javax.jms.Queue • javax.jms.Topic

MessageConsumer • Session.createConsumer(Destination) • javax.jms.Destination (subinterfaces) • javax.jms.Queue • javax.jms.Topic

Com um produtor... produtor.send(Message)

Com um consumidor... Síncrono Message consumidor.receive() Assíncrono consumidor.setMessageListener(listener)

Add a comment

Related presentations

Related pages

Mitglied des Deutschen Bundestages – Wikipedia

Mitglied des Deutschen Bundestages (MdB, Bundestagsabgeordneter) ist die amtliche Bezeichnung für einen Abgeordneten im Deutschen Bundestag. Die ...
Read more

IMDb - Movies, TV and Celebrities

IMDb, the world's most popular and authoritative source for movie, TV and celebrity content.
Read more

MDB - Datei öffnen - Download - CHIP

MDB - Datei öffnen Deutsch: Bei einer MDB Datei handelt es sich um eine Microsoft Access Datenbank. Mit der Freeware LibreOffice können Sie jede MDB ...
Read more

Microsoft Access Database – Wikipedia

Die Microsoft Access Database ist das Standard-Datenbank-Format von Microsoft Access. Die Standard-Datei-Erweiterung ist „.mdb“ (seit Access 2007 auch ...
Read more

Deutscher Bundestag - Wahlkreise

Ausdruck aus dem Internet-Angebot des Deutschen Bundestages /bundestag/abgeordnete18/wahlkreise Stand: 18.06.2016
Read more

MDB Viewer Plus - Download - NETZWELT

MDB Viewer Plus Download: Der MDB Viewer Plus ist sowohl Viewer als auch Editor für Access MDB Datenbanken. Das Programm ist Freeware und wurde konzipiert ...
Read more

MDB Viewer Plus Download | Freeware.de

MDB Viewer Plus 2.50 Download auf Freeware.de. Der Betrachter und Editor für Access Datenbankdateien. Jetzt kostenlos downloaden!
Read more

Unterschiede zwischen den Dateiformaten ACCDB und MDB - Access

In diesem Artikel werden die Unterschiede zwischen dem neuen ACCDB-Dateiformat in Microsoft Office Access 2007 und dem MDB-Dateiformat aus früheren ...
Read more

MDB File Extension - Open .MDB Files - FileInfo

An MDB file has two possible file associations, but is most likely a Microsoft Access Database. Learn what Mac, Windows, and Linux programs can open .MDB ...
Read more

mit Herbert Behrens, DIE LINKE, MdB - Deutscher Bundestag

Herbert Behrens, Die Linke. Schriftsetzer, Sozialwissenschaftler. Geboren am 30. Mai 1954 in Osterholz-Scharmbeck; verheiratet; ein Kind. 1970 Eintritt in ...
Read more