Download - Novidades do JMS 2.0
![Page 1: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/1.jpg)
![Page 2: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/2.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Novidades do JMS 2.0
Fernando RibeiroPrincipal Sales ConsultantSystems & Engineered Systems
![Page 3: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/3.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Safe Harbor StatementThe following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
![Page 4: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/4.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Agenda
Visão Geral
Nova API
Integração com a Java EE 7
Novos Recursos
Q&A
1
2
3
4
5
![Page 5: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/5.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Visão Geral• O JMS é uma das tecnologias mais importantes da plataforma Java EE. Além
de servidores de aplicação, como Oracle WebLogic, IBM WebSphere e Red Hat JBoss EAP, ela é usada com brokers de mensageria, como IBM MQ, Red Hat JBoss A-MQ e Pivotal RabbitMQ• O JMS foi atualizada no ano passado depois de 10 anos. Durante este
tempo, a plataforma mudou muito e surgiram novos requisitos• A nova versão inclui uma nova API, integração com a Java EE 7 e novos
recursos
![Page 6: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/6.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Nova API• As interfaces Connection, Session, MessageProducer e MessageConsumer são substituídas pela nova interface JMSContext• Todas as interfaces estendem a interface java.lang.AutoCloseable• As novas interfaces não lançam checked exceptions
![Page 7: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/7.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
API Clássica
try (Connection conn = connFactory.createConnection(); Session sess = conn.createSession(); MessageProducer prod = sess.createProducer(queue)) {
...
} catch (JMSException e) {
...
}
![Page 8: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/8.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
API Simplificada
try (JMSContext ctx = connFactory.createContext()) {
...
}
![Page 9: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/9.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Publishers• Não é mais necessário criar messages
![Page 10: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/10.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
API Clássica
try (Connection conn = connFactory.createConnection(); Session sess = conn.createSession(); MessageProducer prod = sess.createProducer(queue)) {
TextMessage msg = sess.createTextMessage(text);
prod.send(msg);
} catch (JMSException e) {
...
}
![Page 11: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/11.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
API Simplificada
try (JMSContext ctx = connFactory.createContext()) {
ctx.createProducer().send(queue, text);
}
![Page 12: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/12.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Consumers• Não é mais necessário chamar o método start da classe Connection• O método receive da classe MessageConsumer é substituído pelo
método receiveBody da nova classe JMSConsumer
![Page 13: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/13.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
API Clássica
try (Connection conn = connFactory.createConnection(); Session sess = conn.createSession(); MessageConsumer cons = sess.createConsumer(queue)) {
conn.start();
TextMessage msg = (TextMessage) cons.receive();
out.println(msg.getText());
} catch (JMSException e) {
...
}
![Page 14: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/14.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
API Simplificada
try (JMSContext ctx = connFactory.createContext()) {
out.println(ctx.createConsumer(queue).receiveBody(String.class));
}
![Page 15: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/15.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Integração com a Java EE 7• Existe uma nova connection factory padrão:@Resource(“lookup=java:comp/DefaultJMSConnectionFactory”) ConnectionFactory connFactory;
• Além disso, existem novas anotações para definir connection factories e destinations• Os novos contexts podem ser injetados facilmente:@Inject JMSContext ctx;
@Inject @JMSConnectionFactory(“jms/ExemploConnectionFactory”) JMSContext ctx;
![Page 16: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/16.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Novos Recursos• Assinaturas compartilhadassess.createSharedConsumer(topic, “ExemploSubscription”);
sess.createSharedDurableConsumer(topic, “ExemploSubscription”);
• Envio assíncronoprod.send(queue, text, new ExemploCompletionListener());
• Atrasos de entregaprod.setDeliveryDelay(1000);
• Controle de entregas obrigatóriomsg.getJMSRedelivered();
![Page 17: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/17.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Q&A
![Page 18: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/18.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Referências• JMS 2.0 – https://jcp.org/en/jsr/detail?id=343• Oracle WebLogic – http://www.oracle.com/weblogic
![Page 19: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/19.jpg)
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
![Page 20: Novidades do JMS 2.0](https://reader033.vdocument.in/reader033/viewer/2022061208/54851a28b4af9faf0d8b4d5a/html5/thumbnails/20.jpg)