SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
@dblevins @tomitribe
David Blevins
Java Message Service
Jakarta Messaging 3.x
@dblevins @tomitribe
AGENDA
● Death of JMS 2.1
● Jakarta EE 9 / Jakarta Messaging 3.0
● Possible directions for Messaging 3.x
● Get Involved
@dblevins @tomitribe
JMS Timeline
May 2013
JAVA EE 7
JMS 2.0
JCA 1.6
Sep 2019
JAKARTA EE 8
JMS 2.0
JCA 1.7
Aug 2017
JAVA EE 8
JMS 2.0
JCA 1.7
JMS 2.1
Proposed
Sep 2013
JAVA EE 7
JMS 2.1
Withdrawn
Nov 2016
JAVA EE 7
@dblevins @tomitribe
JMS Timeline
Sep 2020
JAKARTA EE 9
3.0
javax > jakarta
2021
JAKARTA EE 10
3.1
new features
2021?
3.2
new features
….
3.3
new features
@dblevins @tomitribe
JMS Timeline
Sep 2020
JAKARTA EE 9
3.0
javax > jakarta
2021
JAKARTA EE 10
3.1
new features
2021?
3.2
new features
….
3.3
new features
@dblevins @tomitribe
JMS 2.0 in a Nutshell
The 2 minute perspective
@dblevins @tomitribe
JMS 1.1
@dblevins @tomitribe
JMS 2.0
@dblevins @tomitribe
BUILDER API
@dblevins @tomitribe
Text Message
@dblevins @tomitribe
JMS 2.0 in a Nutshell
The 5 minute perspective
@dblevins @tomitribe
JMS 2.0
Programmatic
New Builders
JMSContext
JMSProducer
JMSConsumer
Some increased CDI support
JMS 2.1
Declarative
New Annotations
@QueueListener
@TopicListener
@MessageSelector
Greater CDI support
@dblevins @tomitribe
Jakarta Messaging 3.x Ideas
● JMS 2.1
● CDI Consumers
● Property Conversion
● CDI Stereotypes #1 - In API
● CDI Stereotypes #2 - In your code
● JSON-B Messages
● MessagingClient
@dblevins @tomitribe
Jakarta Messaging 3.x Ideas
1. JMS 2.1
2. CDI Consumers
3. Property Conversion
4. CDI Stereotypes #1 - In API
5. CDI Stereotypes #2 - In your code
6. JSON-B Messages
7. MessagingClient
@dblevins @tomitribe
JMS 2.0 in a Nutshell
The 5 minute perspective
@dblevins @tomitribe
JMS 2.1 removed from Java EE 8
Now the basis of Jakarta Messaging 3.0
@dblevins @tomitribe
The Problem With MDBs
JMS 2.0 and before
@dblevins @tomitribe
@dblevins @tomitribe
@dblevins @tomitribe
@dblevins @tomitribe
@dblevins @tomitribe
SO 2004….
@dblevins @tomitribe
LEARNING FROM JAX-RS
● No interfaces
● Fluid method signatures
● Annotation-based configuration
● Strongly Typed
● Self-documenting
● Targeted: annotations can be on
○ Class, Method, Parameter, Field
@dblevins @tomitribe
OH YEAH
@dblevins @tomitribe
Jakarta Messaging 3.0 Ideas
● JMS 2.1
● CDI Consumers
● Property Conversion
● CDI Stereotypes #1 - In API
● CDI Stereotypes #2 - In your code
● JSON-B Messages
● MessagingClient
@dblevins @tomitribe
Still not perfect...
@dblevins @tomitribe
Jakarta Messaging 3.x Ideas
● JMS 2.1
● CDI Consumers
● Property Conversion
● CDI Stereotypes #1 - In API
● CDI Stereotypes #2 - In your code
● JSON-B Messages
● MessagingClient
@dblevins @tomitribe
Still not perfect...
@dblevins @tomitribe
Jakarta Messaging 3.x Ideas
● JMS 2.1
● CDI Consumers
● Property Conversion
● CDI Stereotypes #1 - In API
● CDI Stereotypes #2 - In your code
● JSON-B Messages
● MessagingClient
@dblevins @tomitribe
Still not perfect...
@dblevins @tomitribe
Jakarta Messaging 3.x Ideas
● JMS 2.1
● CDI Consumers
● Property Conversion
● CDI Stereotypes #1 - In API
● CDI Stereotypes #2 - In your code
● JSON-B Messages
● MessagingClient
@dblevins @tomitribe
Still not perfect...
@dblevins @tomitribe
Jakarta Messaging 3.x Ideas
● JMS 2.1
● CDI Consumers
● Property Conversion
● CDI Stereotypes #1 - In API
● CDI Stereotypes #2 - In your code
● JSON-B Messages
● MessagingClient
@dblevins @tomitribe
Still not perfect...
@dblevins @tomitribe
Jakarta Messaging 3.x Ideas
● JMS 2.1
● CDI Consumers
● Property Conversion
● CDI Stereotypes #1 - In API
● CDI Stereotypes #2 - In your code
● JSON-B Messages
● MessagingClient
@dblevins @tomitribe
Still not perfect...
@dblevins @tomitribe
Jakarta Messaging 3.x Ideas
● JMS 2.1
● CDI Consumers
● Property Conversion
● CDI Stereotypes #1 - In API
● CDI Stereotypes #2 - In your code
● JSON-B Messages
● MessagingClient
@dblevins @tomitribe
MicroProfile REST Client
2 Minute Overview
@dblevins @tomitribe
Given this JAX-RS Resource
@dblevins @tomitribe
Client Interface
@dblevins @tomitribe
Client Builder
@dblevins @tomitribe
MicroProfile Rest Client
● JMS 2.1
● CDI Consumers
● Property Conversion
● CDI Stereotypes #1 - In API
● CDI Stereotypes #2 - In your code
● JSON-B Messages
● MessagingClient
@dblevins @tomitribe
Jakarta Messaging 3.x - All Together
● JMS 2.1
● CDI Consumers
● Property Conversion
● CDI Stereotypes #1 - In API
● CDI Stereotypes #2 - In your code
● JSON-B Messages
● MessagingClient
@dblevins @tomitribe
FROM THIS… JMS 2.1
@dblevins @tomitribe
FROM THIS… JMS 2.1
@dblevins @tomitribe
FROM THIS… JMS 2.1
@dblevins @tomitribe
TO THIS Jakarta Messaging 3.x
@dblevins @tomitribe
Get Involved
Jakarta Messaging
- https://github.com/eclipse-ee4j/jms-api
- https://accounts.eclipse.org/mailing-list/jms-dev
This Code
- https://github.com/tomitribe/jms-proposals
@dblevins @tomitribe
Thank you
Contact us @TOMITRIBE

Weitere ähnliche Inhalte

Ähnlich wie DevNexus 2020 - Jakarta Messaging 3.x, Redefining JMS

Welcome to React & Flux !
Welcome to React & Flux !Welcome to React & Flux !
Welcome to React & Flux !
Ritesh Kumar
 
Jonas Barochia_Java Developer
Jonas Barochia_Java DeveloperJonas Barochia_Java Developer
Jonas Barochia_Java Developer
Jonas Barochia
 
[CB21] ProxyLogon is Just the Tip of the Iceberg, A New Attack Surface on Mic...
[CB21] ProxyLogon is Just the Tip of the Iceberg, A New Attack Surface on Mic...[CB21] ProxyLogon is Just the Tip of the Iceberg, A New Attack Surface on Mic...
[CB21] ProxyLogon is Just the Tip of the Iceberg, A New Attack Surface on Mic...
CODE BLUE
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
C2B2 Consulting
 

Ähnlich wie DevNexus 2020 - Jakarta Messaging 3.x, Redefining JMS (20)

Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUG
 
Hybrid Cloud Application Development without vendor lockin
Hybrid Cloud Application Development without vendor lockinHybrid Cloud Application Development without vendor lockin
Hybrid Cloud Application Development without vendor lockin
 
DDD in Pixel Federation volume 2
DDD in Pixel Federation volume 2DDD in Pixel Federation volume 2
DDD in Pixel Federation volume 2
 
Welcome to React & Flux !
Welcome to React & Flux !Welcome to React & Flux !
Welcome to React & Flux !
 
CDI 2.0 is coming
CDI 2.0 is comingCDI 2.0 is coming
CDI 2.0 is coming
 
Jonas Barochia_Java Developer
Jonas Barochia_Java DeveloperJonas Barochia_Java Developer
Jonas Barochia_Java Developer
 
BigDecimal: Avoid rounding errors on decimals in JavaScript (Node.TLV 2020)
BigDecimal: Avoid rounding errors on decimals in JavaScript (Node.TLV 2020)BigDecimal: Avoid rounding errors on decimals in JavaScript (Node.TLV 2020)
BigDecimal: Avoid rounding errors on decimals in JavaScript (Node.TLV 2020)
 
Jakarta EE and MicroProfile - EclipseCon 2020
Jakarta EE and MicroProfile - EclipseCon 2020Jakarta EE and MicroProfile - EclipseCon 2020
Jakarta EE and MicroProfile - EclipseCon 2020
 
Understanding the Performance Impact of Generated JavaScript.pptx
Understanding the Performance Impact of Generated JavaScript.pptxUnderstanding the Performance Impact of Generated JavaScript.pptx
Understanding the Performance Impact of Generated JavaScript.pptx
 
Professional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XPProfessional Services Insights into Improving Sitecore XP
Professional Services Insights into Improving Sitecore XP
 
State of GeoServer 2.12
State of GeoServer 2.12State of GeoServer 2.12
State of GeoServer 2.12
 
Resume
ResumeResume
Resume
 
Adopting DLM at Greentube
Adopting DLM at GreentubeAdopting DLM at Greentube
Adopting DLM at Greentube
 
[CB21] ProxyLogon is Just the Tip of the Iceberg, A New Attack Surface on Mic...
[CB21] ProxyLogon is Just the Tip of the Iceberg, A New Attack Surface on Mic...[CB21] ProxyLogon is Just the Tip of the Iceberg, A New Attack Surface on Mic...
[CB21] ProxyLogon is Just the Tip of the Iceberg, A New Attack Surface on Mic...
 
Sukumar Resume
Sukumar ResumeSukumar Resume
Sukumar Resume
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
 
Mastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GISMastering MicroStation DGN: How to Integrate CAD and GIS
Mastering MicroStation DGN: How to Integrate CAD and GIS
 
State of GeoServer 2.13
State of GeoServer 2.13State of GeoServer 2.13
State of GeoServer 2.13
 
Managing Data in Jakarta EE Applications
Managing Data in Jakarta EE ApplicationsManaging Data in Jakarta EE Applications
Managing Data in Jakarta EE Applications
 
2015 JavaOne EJB/CDI Alignment
2015 JavaOne EJB/CDI Alignment2015 JavaOne EJB/CDI Alignment
2015 JavaOne EJB/CDI Alignment
 

Mehr von David Blevins

2011 JavaOne EJB with Meta Annotations
2011 JavaOne EJB with Meta Annotations2011 JavaOne EJB with Meta Annotations
2011 JavaOne EJB with Meta Annotations
David Blevins
 
2011 JavaOne Apache TomEE Java EE 6 Web Profile
2011 JavaOne Apache TomEE Java EE 6 Web Profile2011 JavaOne Apache TomEE Java EE 6 Web Profile
2011 JavaOne Apache TomEE Java EE 6 Web Profile
David Blevins
 
2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJB2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJB
David Blevins
 

Mehr von David Blevins (16)

2019 JJUG CCC Stateless Microservice Security with MicroProfile JWT
2019 JJUG CCC Stateless Microservice Security with MicroProfile JWT2019 JJUG CCC Stateless Microservice Security with MicroProfile JWT
2019 JJUG CCC Stateless Microservice Security with MicroProfile JWT
 
2018 jPrime Deconstructing and Evolving REST Security
2018 jPrime Deconstructing and Evolving REST Security2018 jPrime Deconstructing and Evolving REST Security
2018 jPrime Deconstructing and Evolving REST Security
 
2018 Denver JUG Deconstructing and Evolving REST Security
2018 Denver JUG Deconstructing and Evolving REST Security2018 Denver JUG Deconstructing and Evolving REST Security
2018 Denver JUG Deconstructing and Evolving REST Security
 
2018 Boulder JUG Deconstructing and Evolving REST Security
2018 Boulder JUG Deconstructing and Evolving REST Security2018 Boulder JUG Deconstructing and Evolving REST Security
2018 Boulder JUG Deconstructing and Evolving REST Security
 
2018 JavaLand Deconstructing and Evolving REST Security
2018 JavaLand Deconstructing and Evolving REST Security2018 JavaLand Deconstructing and Evolving REST Security
2018 JavaLand Deconstructing and Evolving REST Security
 
2018 IterateConf Deconstructing and Evolving REST Security
2018 IterateConf Deconstructing and Evolving REST Security2018 IterateConf Deconstructing and Evolving REST Security
2018 IterateConf Deconstructing and Evolving REST Security
 
2018 SDJUG Deconstructing and Evolving REST Security
2018 SDJUG Deconstructing and Evolving REST Security2018 SDJUG Deconstructing and Evolving REST Security
2018 SDJUG Deconstructing and Evolving REST Security
 
2017 Devoxx MA Deconstructing and Evolving REST Security
2017 Devoxx MA Deconstructing and Evolving REST Security2017 Devoxx MA Deconstructing and Evolving REST Security
2017 Devoxx MA Deconstructing and Evolving REST Security
 
2017 JavaOne Deconstructing and Evolving REST Security
2017 JavaOne Deconstructing and Evolving REST Security2017 JavaOne Deconstructing and Evolving REST Security
2017 JavaOne Deconstructing and Evolving REST Security
 
2017 JCP EC: Configuration JSR
2017 JCP EC: Configuration JSR2017 JCP EC: Configuration JSR
2017 JCP EC: Configuration JSR
 
2017 dev nexus_deconstructing_rest_security
2017 dev nexus_deconstructing_rest_security2017 dev nexus_deconstructing_rest_security
2017 dev nexus_deconstructing_rest_security
 
2016 JavaOne Deconstructing REST Security
2016 JavaOne Deconstructing REST Security2016 JavaOne Deconstructing REST Security
2016 JavaOne Deconstructing REST Security
 
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on TomcatJavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
JavaOne 2013 - Apache TomEE, Java EE Web Profile {and more} on Tomcat
 
2011 JavaOne EJB with Meta Annotations
2011 JavaOne EJB with Meta Annotations2011 JavaOne EJB with Meta Annotations
2011 JavaOne EJB with Meta Annotations
 
2011 JavaOne Apache TomEE Java EE 6 Web Profile
2011 JavaOne Apache TomEE Java EE 6 Web Profile2011 JavaOne Apache TomEE Java EE 6 Web Profile
2011 JavaOne Apache TomEE Java EE 6 Web Profile
 
2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJB2011 JavaOne Fun with EJB 3.1 and OpenEJB
2011 JavaOne Fun with EJB 3.1 and OpenEJB
 

Kürzlich hochgeladen

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Kürzlich hochgeladen (20)

TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptxBT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
BT & Neo4j _ How Knowledge Graphs help BT deliver Digital Transformation.pptx
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 

DevNexus 2020 - Jakarta Messaging 3.x, Redefining JMS