Enviar pesquisa
Carregar
JMS 2.0
•
7 gostaram
•
2,584 visualizações
Arun Gupta
Seguir
Java Messaging Service 2.0 at JavaOne Latin America 2011
Leia menos
Leia mais
Tecnologia
Educação
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 52
Baixar agora
Baixar para ler offline
Recomendados
Jfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE Application
Arun Gupta
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Arun Gupta
Oracle ksplice
Oracle ksplice
Sabinkari Vijay
Rationalizing an Enterprise IT Architecture
Rationalizing an Enterprise IT Architecture
Bob Rhubart
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
ServiceVirtualization.Com
EMC #1 Open XML Database (OEM)
EMC #1 Open XML Database (OEM)
Mountaha
IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...
IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...
IBM Sverige
Smalltalk in Enterprise Applications
Smalltalk in Enterprise Applications
ESUG
Recomendados
Jfokus 2012: PaaSing a Java EE Application
Jfokus 2012: PaaSing a Java EE Application
Arun Gupta
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Arun Gupta
Oracle ksplice
Oracle ksplice
Sabinkari Vijay
Rationalizing an Enterprise IT Architecture
Rationalizing an Enterprise IT Architecture
Bob Rhubart
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
ServiceVirtualization.Com
EMC #1 Open XML Database (OEM)
EMC #1 Open XML Database (OEM)
Mountaha
IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...
IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...
IBM Sverige
Smalltalk in Enterprise Applications
Smalltalk in Enterprise Applications
ESUG
Oracle 10g sql fundamentals i
Oracle 10g sql fundamentals i
Manaswi Sharma
Aras Vision and Roadmap with Aras Innovator PLM Software
Aras Vision and Roadmap with Aras Innovator PLM Software
Aras
Smalltalk in Large-scale Enterprise Architectures
Smalltalk in Large-scale Enterprise Architectures
ESUG
S424. Soa Mainframe Practices Best And Worst
S424. Soa Mainframe Practices Best And Worst
MichaelErichsen
Shin J2 Ee Programming Half Day
Shin J2 Ee Programming Half Day
lokendralodha
Interoperability for Intelligence Applications using Data-Centric Middleware
Interoperability for Intelligence Applications using Data-Centric Middleware
Gerardo Pardo-Castellote
DB2 for i 7.1 - Whats New?
DB2 for i 7.1 - Whats New?
COMMON Europe
Omnikron Services 2009
Omnikron Services 2009
Robin Borough
Day 2 p3 - automation
Day 2 p3 - automation
Lilian Schaffer
Aras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration Management
Aras
Structured development in BMC Remedy AR System
Structured development in BMC Remedy AR System
gramlin42
Jee design patterns- Marek Strejczek - Rule Financial
Jee design patterns- Marek Strejczek - Rule Financial
Rule_Financial
Sotona
Sotona
TUESDAY Business Network
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
zslmarketing
Imaginea product-support-offering
Imaginea product-support-offering
RajaneeshChandra
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
codemotion_es
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
Arun Gupta
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Arun Gupta
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Arun Gupta
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Arun Gupta
Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001
jucaab
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
Arun Gupta
Mais conteúdo relacionado
Mais procurados
Oracle 10g sql fundamentals i
Oracle 10g sql fundamentals i
Manaswi Sharma
Aras Vision and Roadmap with Aras Innovator PLM Software
Aras Vision and Roadmap with Aras Innovator PLM Software
Aras
Smalltalk in Large-scale Enterprise Architectures
Smalltalk in Large-scale Enterprise Architectures
ESUG
S424. Soa Mainframe Practices Best And Worst
S424. Soa Mainframe Practices Best And Worst
MichaelErichsen
Shin J2 Ee Programming Half Day
Shin J2 Ee Programming Half Day
lokendralodha
Interoperability for Intelligence Applications using Data-Centric Middleware
Interoperability for Intelligence Applications using Data-Centric Middleware
Gerardo Pardo-Castellote
DB2 for i 7.1 - Whats New?
DB2 for i 7.1 - Whats New?
COMMON Europe
Omnikron Services 2009
Omnikron Services 2009
Robin Borough
Day 2 p3 - automation
Day 2 p3 - automation
Lilian Schaffer
Aras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration Management
Aras
Structured development in BMC Remedy AR System
Structured development in BMC Remedy AR System
gramlin42
Jee design patterns- Marek Strejczek - Rule Financial
Jee design patterns- Marek Strejczek - Rule Financial
Rule_Financial
Sotona
Sotona
TUESDAY Business Network
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
zslmarketing
Imaginea product-support-offering
Imaginea product-support-offering
RajaneeshChandra
Mais procurados
(15)
Oracle 10g sql fundamentals i
Oracle 10g sql fundamentals i
Aras Vision and Roadmap with Aras Innovator PLM Software
Aras Vision and Roadmap with Aras Innovator PLM Software
Smalltalk in Large-scale Enterprise Architectures
Smalltalk in Large-scale Enterprise Architectures
S424. Soa Mainframe Practices Best And Worst
S424. Soa Mainframe Practices Best And Worst
Shin J2 Ee Programming Half Day
Shin J2 Ee Programming Half Day
Interoperability for Intelligence Applications using Data-Centric Middleware
Interoperability for Intelligence Applications using Data-Centric Middleware
DB2 for i 7.1 - Whats New?
DB2 for i 7.1 - Whats New?
Omnikron Services 2009
Omnikron Services 2009
Day 2 p3 - automation
Day 2 p3 - automation
Aras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration Management
Structured development in BMC Remedy AR System
Structured development in BMC Remedy AR System
Jee design patterns- Marek Strejczek - Rule Financial
Jee design patterns- Marek Strejczek - Rule Financial
Sotona
Sotona
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
Imaginea product-support-offering
Imaginea product-support-offering
Semelhante a JMS 2.0
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
codemotion_es
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
Arun Gupta
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Arun Gupta
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Arun Gupta
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Arun Gupta
Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001
jucaab
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
Arun Gupta
Extending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Extending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Jerome Leonard
Übersicht Cloud Control - EM 12c
Übersicht Cloud Control - EM 12c
Volker Linz
GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011
Arun Gupta
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Sivakumar Thyagarajan
Oracle enterprise architects day
Oracle enterprise architects day
Ayodele Peter Boglo
Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001
jucaab
JDK versions and OpenJDK
JDK versions and OpenJDK
Wolfgang Weigend
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
Arun Gupta
Oracle Fusion Middleware,foundation for innovation
Oracle Fusion Middleware,foundation for innovation
Alicja Sieminska
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in Okinawa
Takashi Ito
Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807
Vinay H G
Oracle Fusion Applications: User Assistance
Oracle Fusion Applications: User Assistance
Ultan O'Broin
JDK 10 Java Module System
JDK 10 Java Module System
Wolfgang Weigend
Semelhante a JMS 2.0
(20)
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7 and HTML5: Developing for the Cloud
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Java EE 7: Developing for the Cloud at Geecon, JEEConf, Johannesburg
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Jfokus 2012 : The Java EE 7 Platform: Developing for the Cloud
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
Extending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Extending The Value Of Oracle Crm On Demand Through Cloud Based Extensibility
Übersicht Cloud Control - EM 12c
Übersicht Cloud Control - EM 12c
GlassFish Community Update @ JavaOne 2011
GlassFish Community Update @ JavaOne 2011
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Handling Service Orchestration in the Cloud for GlassFish - JavaOne, San Fran...
Oracle enterprise architects day
Oracle enterprise architects day
Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001
JDK versions and OpenJDK
JDK versions and OpenJDK
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
Oracle Fusion Middleware,foundation for innovation
Oracle Fusion Middleware,foundation for innovation
JavaOne2015報告会 in Okinawa
JavaOne2015報告会 in Okinawa
Virtual dev-day-java7-keynote-1641807
Virtual dev-day-java7-keynote-1641807
Oracle Fusion Applications: User Assistance
Oracle Fusion Applications: User Assistance
JDK 10 Java Module System
JDK 10 Java Module System
Mais de Arun Gupta
5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf
Arun Gupta
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019
Arun Gupta
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and Kubernetes
Arun Gupta
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using Firecracker
Arun Gupta
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019
Arun Gupta
Why Amazon Cares about Open Source
Why Amazon Cares about Open Source
Arun Gupta
Machine learning using Kubernetes
Machine learning using Kubernetes
Arun Gupta
Building Cloud Native Applications
Building Cloud Native Applications
Arun Gupta
Chaos Engineering with Kubernetes
Chaos Engineering with Kubernetes
Arun Gupta
How to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAM
Arun Gupta
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
Arun Gupta
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
Arun Gupta
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018
Arun Gupta
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv Summit
Arun Gupta
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's Landscape
Arun Gupta
Container Landscape in 2017
Container Landscape in 2017
Arun Gupta
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Arun Gupta
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developers
Arun Gupta
Thanks Managers!
Thanks Managers!
Arun Gupta
Migrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to Containers
Arun Gupta
Mais de Arun Gupta
(20)
5 Skills To Force Multiply Technical Talents.pdf
5 Skills To Force Multiply Technical Talents.pdf
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubernetes - AI Conclave 2019
Machine Learning using Kubeflow and Kubernetes
Machine Learning using Kubeflow and Kubernetes
Secure and Fast microVM for Serverless Computing using Firecracker
Secure and Fast microVM for Serverless Computing using Firecracker
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019
Why Amazon Cares about Open Source
Why Amazon Cares about Open Source
Machine learning using Kubernetes
Machine learning using Kubernetes
Building Cloud Native Applications
Building Cloud Native Applications
Chaos Engineering with Kubernetes
Chaos Engineering with Kubernetes
How to be a mentor to bring more girls to STEAM
How to be a mentor to bring more girls to STEAM
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
Introduction to Amazon EKS - KubeCon 2018
Introduction to Amazon EKS - KubeCon 2018
Mastering Kubernetes on AWS - Tel Aviv Summit
Mastering Kubernetes on AWS - Tel Aviv Summit
Top 10 Technology Trends Changing Developer's Landscape
Top 10 Technology Trends Changing Developer's Landscape
Container Landscape in 2017
Container Landscape in 2017
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Java EE and NoSQL using JBoss EAP 7 and OpenShift
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developers
Thanks Managers!
Thanks Managers!
Migrate your traditional VM-based Clusters to Containers
Migrate your traditional VM-based Clusters to Containers
Último
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Boston Institute of Analytics
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Último
(20)
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
JMS 2.0
1.
1 | Copyright
© 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
2.
ably
prob What's coming in Java Message Service 2.0 Adam Leftik Product Management 2 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
3.
The 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. 3 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8 3
4.
Agenda •
JSR 343 Update • What's coming in the JMS 2.0 Early Draft – Simplifying the JMS API – Improving integration with application servers – New API features • Q&A 4 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8 4 4
5.
JMS •
Java Message Service (JMS) specification – Part of Java EE but also stands alone – Last maintenance release (1.1) was in 2003 • Does not mean JMS is moribund! – Multiple active commercial and open source implementations – Shows strength of existing spec • Meanwhile – Java EE has moved on since, and now Java EE 7 is planned – Time for JMS 2.0 5 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8 5
6.
JMS 2.0 • March
2011: JSR 343 launched to develop JMS 2.0 • Target: to be part of Java EE 7 in Q3 2012 • Expert group now in operation and working towards the "early draft" for public review • Community involvement invited – Visit jms-spec.java.net and get involved – Join the mailing list – Submit suggestions to the issue tracker 6 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8 6
7.
JSR 343 Expert
Group • Oracle (lead) • Red Hat • Caucho • Pramati Technologies • IBM • Vmware • Red Hat • FuseSource (soon) • TIBCO • ...and 6 individual members 7 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
8.
Initial goals of
JMS 2.0 • Simpler and easier to use • Standardise interface with – simplify the API application servers – make use of CDI (Contexts and • Clarify relationship with other Dependency Injection) Java EE specs – clarify any ambiguities in the spec – some JMS behaviour defined in • Support new themes of Java EE 7 other specs – PaaS • New messaging features – Multi-tenancy – standardize some existing vendor extensions (or will retrospective standardisation be difficult?) 8 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8 8
9.
JMS 2.0 Timeline
Forma0on of expert group Q2 2011 Prepara0on of early dra; Early dra; review Q1 2012 Prepara0on of public dra; Public review Q2 2012 Comple0on of RI and TCK Q3 2012 Final approval ballot 9 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8 9
10.
What's coming in
the Early Draft • Here are some items expected in the JMS 2.0 Early Draft – Based on Expert Group members' priorities – All items in JIRA at jms-spec.java.net – Subject to final approval by the Expert Group • Things are still changing • It's not too late – to give us your views on these items – to propose additional items for a later draft or revision 10 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8 10
11.
Simplifying
the JMS API 11 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
12.
What's wrong with
the JMS API? Not a lot... 12 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
13.
Receiving messages in
Java EE @MessageDriven(mappedName = "jms/inboundQueue") public class MyMDB implements MessageListener { public void onMessage(Message message) { String payload = (TextMessage)textMessage.getText(); // do something with payload } } 13 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
14.
Sending messages in
Java EE @Resource(lookup = "jms/connFactory") ConnectionFactory cf; @Resource(lookup="jms/inboundQueue") Destination dest; public void sendMessage (String payload) throws JMSException { Connection conn = cf.createConnection(); Session sess = conn.createSession(false,Session.AUTO_ACKNOWLEDGE); MessageProducer producer = sess.createProducer(dest); TextMessage textMessage = sess.createTextMessage(payload); messageProducer.send(textMessage); connection.close(); } 14 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
15.
Sending messages in
Java EE @Resource(lookup = "jms/connFactory") Need to create ConnectionFactory cf; intermediate objects @Resource(lookup="jms/inboundQueue") just to satisfy the API Destination dest; public void sendMessage (String payload) throws JMSException { Connection conn = cf.createConnection(); Session sess = conn.createSession(false,Session.AUTO_ACKNOWLEDGE); MessageProducer producer = sess.createProducer(dest); TextMessage textMessage = sess.createTextMessage(payload); messageProducer.send(textMessage); connection.close(); } 15 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
16.
Sending messages in
Java EE @Resource(lookup = "jms/connFactory") ConnectionFactory cf; Redundant @Resource(lookup="jms/inboundQueue") arguments Destination dest; public void sendMessage (String payload) throws JMSException { Connection conn = cf.createConnection(); Session sess = conn.createSession(false,Session.AUTO_ACKNOWLEDGE); MessageProducer producer = sess.createProducer(dest); TextMessage textMessage = sess.createTextMessage(payload); messageProducer.send(textMessage); connection.close(); } 16 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
17.
Sending messages in
Java EE @Resource(lookup = "jms/connFactory") ConnectionFactory cf; Boilerplate code @Resource(lookup="jms/inboundQueue") Destination dest; public void sendMessage (String payload) throws JMSException { Connection conn = cf.createConnection(); Session sess = conn.createSession(false,Session.AUTO_ACKNOWLEDGE); MessageProducer producer = sess.createProducer(dest); TextMessage textMessage = sess.createTextMessage(payload); messageProducer.send(textMessage); connection.close(); } 17 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
18.
Sending messages in
Java EE public void sendMessage (String payload) throws JMSException { try { Connection conn = null; con = cf.createConnection(); Session sess = conn.createSession(false,Session.AUTO_ACKNOWLEDGE); MessageProducer producer = sess.createProducer(dest); TextMessage textMessage=sess.createTextMessage(payload); messageProducer.send(textMessage); } finally { connection.close(); } } Need to close connections after use 18 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
19.
Sending messages in
Java EE public void sendMessage (String payload) { Connection conn = null; try { con = cf.createConnection(); Session sess = conn.createSession(false,Session.AUTO_ACKNOWLEDGE); MessageProducer producer = sess.createProducer(dest); TextMessage textMessage=sess.createTextMessage(payload); messageProducer.send(textMessage); } catch (JMSException e1) { // do something } finally { try { if (conn!=null) connection.close(); } catch (JMSException e2){ // do something else And there's } } always exception } handling to add 19 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
20.
Approaches to simplification
• Simplify the existing API • Define new simplified API • Use CDI annotations to hide the boilerplate code 20 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8 20
21.
Simplify the existing
API • Need to maintain backwards compatibility limits scope for change – New methods on javax.jms.Connection: • Keep existing method connection.createSession(transacted,deliveryMode) • New method for Java SE connection.createSession(sessionMode) • New method for Java EE connection.createSession() – Make javax.jms.Connection implement java.lang.AutoCloseable 21 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
22.
Possible new API @Resource(mappedName="jms/contextFactory") ContextFactory
contextFactory; @Resource(mappedName="jms/orderQueue") Queue orderQueue; public void sendMessage(String payload) { try (MessagingContext mCtx = contextFactory.createContext();){ TextMessage textMessage = mCtx.createTextMessage(payload); mCtx.send(orderQueue,textMessage); } } 22 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
23.
Annotations for the
new API @Resource(mappedName="jms/orderQueue") Queue orderQueue; @Inject @MessagingContext(lookup="jms/contextFactory") MessagingContext mCtx; @Inject TextMessage textMessage; public void sendMessage(String payload) { textMessage.setText(payload); mCtx.send(orderQueue,textMessage); } 23 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
24.
Annotations for the
old API @Inject @JMSConnection(lookup="jms/connFactory") @JMSDestination(lookup="jms/inboundQueue") MessageProducer producer; @Inject TextMessage textMessage; public void sendMessage (String payload){ try { textMessage.setText(payload); producer.send(textMessage); } catch {JMSException e} // do something } } 24 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
25.
Some other simplifications 25
| Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
26.
Sending object payloads
directly • No need to create a message – producer.send(String text); – producer.send(Serializable object); • But: – wouldn't allow message properties to be set – may not be appropriate for BytesMessage etc – less obvious how to offer this for receive() methods • How useful is this in practice? 26 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8 26
27.
Making durable subscriptions
easier to use • Durable subscriptions are identified by {clientId, subscriptionName} • ClientId will no longer be mandatory when using durable subscriptions • For a MDB, container will generate default subscription name (EJB 3.2) 27 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8 27
28.
New features for
PaaS 28 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
29.
Annotations to create
resources in Java EE • Currently no standard way for an application to define what JMS resources should be created in the application server and registered in JNDI • No equivalent to DataSourceDefinition: @DataSourceDefinition(name="java:global/MyApp/MyDataSource", className="com.foobar.MyDataSource", portNumber=6689, serverName="myserver.com", user="lance", password="secret" ) 29 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
30.
Annotations to create
resources in Java EE • JSR 342 (Java EE 7) will define new annotations • Possible new SPI to create the physical destinations as well @JMSConnectionFactoryDefinition( name="java:app/MyJMSFactory", resourceType="javax.jms.QueueConnectionFactory", clientId="foo", resourceAdapter="jmsra", initialPoolSize=5, maxPoolSize=15 ) @JMSDestinationDefinition( name="java:app/orderQueue", resourceType="javax.jms.Queue", resourceAdapter="jmsra", destinationName="orderQueue") 30 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
31.
Improving integration with
application servers 31 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
32.
Defining the interface
between JMS provider and an application server • Requirement: allowing any JMS provider to work in any Java EE application server • Current solution: JMS 1.1 Chapter 8 JMS Application Server Facilities 32 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
33.
JMS 1.1 Chapter
8 JMS Application Server Facilities API for concurrent processing of API for JTA transactions messages XAQueueConnectionFactory XAConnection ServerSession XAQueueConnection XASession ServerSessionPool XAQueueSession XAConnectionFactory ConnectionConsumer XATopicConnectionFactory XAConnection Session.setMessageListener XATopicConnection XASession Session.getMessageListener XATopicSession Session.run XAConnectionFactory 33 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
34.
JMS 1.1 Chapter
8 JMS Application Server Facilities • Interfaces all optional, so not all vendors implement them • No requirement for application servers to support them • Some omissions – No support for pooled connections • Meanwhile… 34 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
35.
Java EE Connector
Architecture (JCA) • Designed for integrating pooled, transactional resources in an application server • Designed to support async processing of messages by MDBs • JCA support already mandatory in Java EE • Many JMS vendors already provide JCA adapters 35 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
36.
Defining the interface
between JMS provider and an application server • JMS 2.0 will make provision of a JCA adaptor mandatory • JMS 1.1 Chapter 8 API remains optional, under review 36 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
37.
Improvements to MDBs
• Proposals being sent to JSR 342 (EJB 3.2) • Fill "gaps" in MDB configuration • Surprisingly, no standard way to specify – JNDI name of queue or topic (using annotation) – JNDI name of connection – clientID – durableSubscriptionName 37 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
38.
Defining the destination
used by a MDB • annotation... MessageDriven(messageDestinationLookup="jms/inboundQueue") public class MyMDB implements MessageListener { ... • ejb-jar.xml... <ejb-jar> <enterprise-beans> <message-driven> <ejb-name>MessageBean</ejb-name> <message-destination-lookup-name> jms/inboundQueue <message-destination-lookup-name> … all names are provisional 38 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
39.
Defining the connection
factory used by a MDB • annotation... MessageDriven(connectionFactoryLookup="jms/myCF") public class MyMDB implements MessageListener { ... • ejb-jar.xml... <ejb-jar> <enterprise-beans> <message-driven> <ejb-name>MessageBean</ejb-name> <connection-factory-lookup-name> jms/myCF <connection-factory-lookup-name> ...all names provisional 39 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
40.
Defining the clientId
and durable subscription name used by a MDB • Define as standard activation config properties @MessageDriven(activationConfig = { @ActivationConfigProperty( propertyName="subscriptionDurability",propertyValue="Durable"), @ActivationConfigProperty( propertyName="clientId",propertyValue="MyMDB"), @ActivationConfigProperty( propertyName="subscriptionName",propertyValue="MySub") }) • Many app servers support these already 40 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
41.
New API Features 41
| Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
42.
New API features
• Delivery delay • Send a message with async acknowledgement from server • JMSXDeliveryCount becomes mandatory • Topic hierarchies • Multiple consumers on the same topic subscription (both durable and non-durable) • Batch delivery • Some products implement some of these already 42 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
43.
Delivery delay
• Allows a JMS client to schedule the future delivery of a message • New method on MessageProducer public void setDeliveryDelay(long deliveryDelay) • Sets the minimum length of time in milliseconds from its dispatch time that a produced message should be retained by the messaging system before delivery to a consumer. • Why? If the business requires deferred processing, e.g. end of day 43 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
44.
Send a message
with async acknowledgement from server • Send a message and return immediately without blocking until an acknowledgement has been received from the server. • Instead, when the acknowledgement is received, an asynchronous callback will be invoked producer.send(message, new AcknowledgeListener(){ public void onAcknowledge(Message message) { // process ack } }); • Why? Allows thread to do other work whilst waiting for the acknowledgement 44 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
45.
Make JMSXDeliveryCount mandatory
• JMS 1.1 defines an optional JMS defined message property JMSXDeliveryCount. – When used, this is set by the JMS provider when a message is received, and is set to the number of times this message has been delivered (including the first time). The first time is 1, the second time 2, etc • JMS 2.0 will make this mandatory • Why? Allows app servers and applications to handle "poisonous" messages better 45 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
46.
Topic hierarchies
• Topics can be arranged in a hierarchy – STOCK.NASDAQ.TECH.ORCL – STOCK.NASDAQ.TECH.GOOG – STOCK.NASDAQ.TECH.ADBE – STOCK.NYSE.TECH.HPQ • Consumers can subscribe using wildcards – STOCK.*.TECH.* – STOCK.NASDAQ.TECH.* • Most vendors support this already • Details TBD 46 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
47.
Multiple consumers on
a topic subscription • Allows scalable consumption of messages from a topic subscription – multiple threads – multiple JVMs • No further change to API for durable subscriptions (clientID not used) • New API for non-durable subscriptions MessageConsumer messageConsumer= session.createSharedConsumer(topic,sharedSubscriptionName); • Why? Scalability • Why? Allows greater scalability 47 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
48.
Batch delivery
• Will allow messages to be delivered asynchronously in batches • New method on MessageConsumer void setBatchMessageListener( BatchMessageListener listener, int batchSize, long batchTimeOut) • New listener interface BatchMessageListener void onMessages(Message[] messages) • Acks also sent in a batch • Why? May be more efficient for JMS provider or application 48 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
49.
Agenda for the
Early Draft • Those were some items being considered for the JMS 2.0 Early Draft • Many items still being discussed by the Expert Group • A more detailed description can be found in JIRA at jms- spec.java.net • It's not too late – to give us your views on these items – to propose additional items for a later draft (or for JMS 2.1) 49 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
50.
Get involved!
• Mailing lists, issue tracker and wiki: – jms-spec.java.net • Applications to join the expert group – http://jcp.org/en/jsr/summary?id=343 • Look out for the Early Draft in Jan 2012 • Contact the spec lead – nigel.deakin@oracle.com 50 | Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
51.
Questions & Answers 51
| Copyright © 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
52.
52 | Copyright
© 2011, Oracle and/or it’s affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8
Baixar agora