SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
@antoine_sd @cdispec#AdoptAJSR
Adopt a JSR, why not CDI 2.0 ?
Antoine Sabot-Durand
Red Hat
@antoine_sd
@cdispec
http://cdi-spec.org
@antoine_sd @cdispec#AdoptAJSR
• A brief story of CDI
• Main Goal of CDI 2.0
• What will be in EDR1
• Adopt CDI
Adopt a JSR, why not CDI 2.0 ?
@YourTwitterHandle#DVXFR14{session hashtag} @antoine_sd @cdispec#AdoptAJSR
A
brief history
of CDI
@antoine_sd @cdispec#AdoptAJSR
•CDI stands for Contexts and Dependency Injection
•At the origin CDI was thought to fill the gap between Front spec and EJB
- All EJB session beans are also CDI beans
- CDI integrates Servlet scope as its core built-in contexts
•CDI propose a programming model which provides:
- A well-defined lifecycle for stateful objects bound to lifecycle contexts, where the
set of contexts is extensible
- A typesafe dependency injection mechanism
- The ability to decorate or to associate interceptors to objects with a typesafe
approach
- An event notification model
- An SPI allowing portable extensions to integrate cleanly with the container
What is CDI
CDI Timeline
Dec 2009 June 2013 Apr 2014 Sep 2014
CDI1.0
(Java
EE
6)
CDI1.1
(Java
EE
7)
CDI1.2
(1.1
MR)
CDI2.0
Starts
2016
CDI2.0
released
@YourTwitterHandle#DVXFR14{session hashtag} @antoine_sd @cdispec#AdoptAJSR
M
ain
Goals
of CDI 2.0
@antoine_sd @cdispec#AdoptAJSR
•We had strong feedback from the community:
- Users feedback:
- Need CDI to be more widely available in other Java EE
specifications as a transverse integration solution
- Be able to run CDI outside of a Java EE container.
- 3rd parties spec and framework feedback:
- Need to have an enhance SPI to ease integration
- Need to have a lighter footprint of CDI API / Impl
Goals
@antoine_sd @cdispec#AdoptAJSR
•Java SE support (the spec was renamed Contexts
and Dependency Injection for Java):
- Use in desktop or alternative containers
•Modularity allowing us to work on a CDI light “part”:
- Removing parts of spec requiring proxies in
implementation
- Ease 3rd
parties to develop CDI integration
- This could make CDI compatible with embedded
platform…
CDI 2.0 main goals
@YourTwitterHandle#DVXFR14{session hashtag} @antoine_sd @cdispec#AdoptAJSR
CDI 2.0
Early
Draft 1
@antoine_sd @cdispec#AdoptAJSR
•Early Draft 1 is about to be released
•We are a bit late on our schedule but the work was
bigger than expected
•Some very old and important request were included in
it
•Features are in the 10 first requested ones by the
survey
Early Draft
@antoine_sd @cdispec#AdoptAJSR
•We specified API to boot CDI in Java SE:
•Desktop and non Java EE application can now use a
standard way to boot CDI
Early Draft content, Java SE support
public static void main(String... args) {

CDIProvider provider = CDI.getCDIProvider();

CDI<Object> cdi = provider.initialize();

// retrieve a bean and do work with it

MyBean myBean = cdi.select(MyBean.class).get();

myBean.doWork();

// when done

cdi.shutdown();

}
@antoine_sd @cdispec#AdoptAJSR
•The specification is now split in 3 parts
- CDI core: the common specification regardless of the
platform
- CDI for Java SE: specific features for Java SE
- Mainly SE boot
- CDI for Java EE: specific feature for Java
- EJB, servlet, EL, JSF integration
•This split was necessary for Java SE support
•It’s also the first step for a future CDI light
Early Draft content, spec split
@antoine_sd @cdispec#AdoptAJSR
•One of the oldest user request :
•We decided to use the @Priority from
commons annotation (JSR 250)
•JSR 250 will need a Maintenance Release to
have @Priority targeting a parameter
Early Draft content, Event Ordering
void afterLogin(@Observes @Priority(APPLICATION)
LoggedInEvent event) { ... }
@antoine_sd @cdispec#AdoptAJSR
•The most popular feature in the survey:
•Based on Java 8 new Async API
•Introducing a new kind of observes for backward
compatibility with @ObservesAsync
Early Draft content, Asynchronous
public interface Event<T> {
…
public <U extends T> CompletionStage<U> fireAsync(U event);
public <U extends T> CompletionStage<U> fireAsync(U event, Executor executor);
…
}
@YourTwitterHandle@antoine_sd @cdispec#AdoptAJSR
More info on CDI 2.0
in our talk on Friday 3pm
@YourTwitterHandle#DVXFR14{session hashtag} @antoine_sd @cdispec#AdoptAJSR
Adopt CDI 2.0
@antoine_sd @cdispec#AdoptAJSR
•Reading and checking the spec after the split
•Feedback on Java SE and other features
•Vote on features on the CDI Jira
•Propose new features or IDEAS
CDI needs you!
@antoine_sd @cdispec#AdoptAJSR
•CDI Website: http://cdi-spec.org
•Weld website: http://weld.cdi-spec.org
•Mailing list: https://lists.jboss.org/mailman/listinfo/cdi-
dev
•Discussion: IRC / Freenode / #cdispec
•Keep in touch: @cdispec
Resources
Which JSR you’ll use
365 days a year?
…
JSR 365

Más contenido relacionado

La actualidad más candente

DevSecOps for Developers, How To Start (ETC 2020)
DevSecOps for Developers, How To Start (ETC 2020)DevSecOps for Developers, How To Start (ETC 2020)
DevSecOps for Developers, How To Start (ETC 2020)Patricia Aas
 
Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisAysylu Greenberg
 
Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisAysylu Greenberg
 
Binary Authorization in Kubernetes
Binary Authorization in KubernetesBinary Authorization in Kubernetes
Binary Authorization in KubernetesAysylu Greenberg
 
Trying to build an Open Source browser in 2020
Trying to build an Open Source browser in 2020Trying to build an Open Source browser in 2020
Trying to build an Open Source browser in 2020Patricia Aas
 
Trying to build an Open Source browser in 2020
Trying to build an Open Source browser in 2020Trying to build an Open Source browser in 2020
Trying to build an Open Source browser in 2020Patricia Aas
 
Hands on React Native: From Zero to Hero
Hands on React  Native:  From Zero to HeroHands on React  Native:  From Zero to Hero
Hands on React Native: From Zero to HeroDmitry Vinnik
 
Scala on androids
Scala on androidsScala on androids
Scala on androidsthoraage
 
Android's security architecture
Android's security architectureAndroid's security architecture
Android's security architectureOfer Rivlin, CISSP
 
The DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD PipelineThe DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD PipelineJames Wickett
 

La actualidad más candente (11)

DevSecOps for Developers, How To Start (ETC 2020)
DevSecOps for Developers, How To Start (ETC 2020)DevSecOps for Developers, How To Start (ETC 2020)
DevSecOps for Developers, How To Start (ETC 2020)
 
Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and Kritis
 
Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and Kritis
 
Android NDK: Entrando no Mundo Nativo
Android NDK: Entrando no Mundo NativoAndroid NDK: Entrando no Mundo Nativo
Android NDK: Entrando no Mundo Nativo
 
Binary Authorization in Kubernetes
Binary Authorization in KubernetesBinary Authorization in Kubernetes
Binary Authorization in Kubernetes
 
Trying to build an Open Source browser in 2020
Trying to build an Open Source browser in 2020Trying to build an Open Source browser in 2020
Trying to build an Open Source browser in 2020
 
Trying to build an Open Source browser in 2020
Trying to build an Open Source browser in 2020Trying to build an Open Source browser in 2020
Trying to build an Open Source browser in 2020
 
Hands on React Native: From Zero to Hero
Hands on React  Native:  From Zero to HeroHands on React  Native:  From Zero to Hero
Hands on React Native: From Zero to Hero
 
Scala on androids
Scala on androidsScala on androids
Scala on androids
 
Android's security architecture
Android's security architectureAndroid's security architecture
Android's security architecture
 
The DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD PipelineThe DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD Pipeline
 

Destacado

Java EE, un ami qui vous veut du bien
Java EE, un ami qui vous veut du bienJava EE, un ami qui vous veut du bien
Java EE, un ami qui vous veut du bienAntoine Sabot-Durand
 
Invoke dynamite in Java EE with invoke dynamic
Invoke dynamite in Java EE with invoke dynamicInvoke dynamite in Java EE with invoke dynamic
Invoke dynamite in Java EE with invoke dynamicAntoine Sabot-Durand
 
Introduction to cdi given at java one 2014
Introduction to cdi given at java one 2014Introduction to cdi given at java one 2014
Introduction to cdi given at java one 2014Antoine Sabot-Durand
 
CDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGICDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGIAntoine Sabot-Durand
 
Nashorn in the future (Japanese)
Nashorn in the future (Japanese)Nashorn in the future (Japanese)
Nashorn in the future (Japanese)Logico
 
The Magnificent java EE 7 in Wildfly-O-Rama
The Magnificent java EE 7 in Wildfly-O-RamaThe Magnificent java EE 7 in Wildfly-O-Rama
The Magnificent java EE 7 in Wildfly-O-RamaAntoine Sabot-Durand
 
1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-DurandSOAT
 
Participate in the Future of Java Oredev
Participate in the Future of Java OredevParticipate in the Future of Java Oredev
Participate in the Future of Java OredevHeather VanCura
 
Using RSS feeds for content curation and social scheduling
Using RSS feeds for content curation and social schedulingUsing RSS feeds for content curation and social scheduling
Using RSS feeds for content curation and social schedulingAnna Hamilton-Gunn
 
How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...Mani Sarkar
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0David Delabassee
 
Fais ce que tu veux avec Java EE - Devoxx France 2014
Fais ce que tu veux avec Java EE - Devoxx France 2014Fais ce que tu veux avec Java EE - Devoxx France 2014
Fais ce que tu veux avec Java EE - Devoxx France 2014Antoine Sabot-Durand
 

Destacado (20)

Mute Java EE DNA with CDI
Mute Java EE DNA with CDI Mute Java EE DNA with CDI
Mute Java EE DNA with CDI
 
Java EE, un ami qui vous veut du bien
Java EE, un ami qui vous veut du bienJava EE, un ami qui vous veut du bien
Java EE, un ami qui vous veut du bien
 
Devoxx Java Social and Agorava
Devoxx Java Social and AgoravaDevoxx Java Social and Agorava
Devoxx Java Social and Agorava
 
Invoke dynamite in Java EE with invoke dynamic
Invoke dynamite in Java EE with invoke dynamicInvoke dynamite in Java EE with invoke dynamic
Invoke dynamite in Java EE with invoke dynamic
 
Going further with CDI 1.2
Going further with CDI 1.2Going further with CDI 1.2
Going further with CDI 1.2
 
Apache DeltaSpike the CDI toolbox
Apache DeltaSpike the CDI toolboxApache DeltaSpike the CDI toolbox
Apache DeltaSpike the CDI toolbox
 
Introduction to cdi given at java one 2014
Introduction to cdi given at java one 2014Introduction to cdi given at java one 2014
Introduction to cdi given at java one 2014
 
CDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGICDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGI
 
Java EE 6 & Spring: A Lover's Quarrel
Java EE 6 & Spring: A Lover's QuarrelJava EE 6 & Spring: A Lover's Quarrel
Java EE 6 & Spring: A Lover's Quarrel
 
Nashorn in the future (Japanese)
Nashorn in the future (Japanese)Nashorn in the future (Japanese)
Nashorn in the future (Japanese)
 
CDI In Real Life
CDI In Real LifeCDI In Real Life
CDI In Real Life
 
The Magnificent java EE 7 in Wildfly-O-Rama
The Magnificent java EE 7 in Wildfly-O-RamaThe Magnificent java EE 7 in Wildfly-O-Rama
The Magnificent java EE 7 in Wildfly-O-Rama
 
1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand
 
Participate in the Future of Java Oredev
Participate in the Future of Java OredevParticipate in the Future of Java Oredev
Participate in the Future of Java Oredev
 
Using RSS feeds for content curation and social scheduling
Using RSS feeds for content curation and social schedulingUsing RSS feeds for content curation and social scheduling
Using RSS feeds for content curation and social scheduling
 
How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...How is Java / JVM built ? Back then and now...
How is Java / JVM built ? Back then and now...
 
How to run a hackday
How to run a hackdayHow to run a hackday
How to run a hackday
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
 
Fais ce que tu veux avec Java EE - Devoxx France 2014
Fais ce que tu veux avec Java EE - Devoxx France 2014Fais ce que tu veux avec Java EE - Devoxx France 2014
Fais ce que tu veux avec Java EE - Devoxx France 2014
 
Reactive android
Reactive androidReactive android
Reactive android
 

Similar a Adopt a JSR: CDI 2.0 at Devoxx UK

AngularJSTO presentation
AngularJSTO presentationAngularJSTO presentation
AngularJSTO presentationAlan Hietala
 
Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)MrJ1971
 
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...Terminalfour
 
Managing Data in Jakarta EE Applications
Managing Data in Jakarta EE ApplicationsManaging Data in Jakarta EE Applications
Managing Data in Jakarta EE ApplicationsBuhake Sindi
 
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesJavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesEdward Burns
 
Spring - CDI Interop
Spring - CDI InteropSpring - CDI Interop
Spring - CDI InteropRay Ploski
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodePrasant Kumar
 
Using APIs
Using APIsUsing APIs
Using APIsAkana
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application StrategiesBIOVIA
 
Rails and iOS with RestKit
Rails and iOS with RestKitRails and iOS with RestKit
Rails and iOS with RestKitAndrew Culver
 
Building an intelligent big data application in 30 minutes
Building an intelligent big data application in 30 minutesBuilding an intelligent big data application in 30 minutes
Building an intelligent big data application in 30 minutesClaudiu Barbura
 
CIS13: OpenStack API Security
CIS13: OpenStack API SecurityCIS13: OpenStack API Security
CIS13: OpenStack API SecurityCloudIDSummit
 
Introduction to KubeDirector - SF Kubernetes Meetup
Introduction to KubeDirector - SF Kubernetes MeetupIntroduction to KubeDirector - SF Kubernetes Meetup
Introduction to KubeDirector - SF Kubernetes MeetupBlueData, Inc.
 
3-Years-of-OpenStack-Intel-IT
3-Years-of-OpenStack-Intel-IT3-Years-of-OpenStack-Intel-IT
3-Years-of-OpenStack-Intel-ITTom Fieldhouse
 
AshishKumarResume2_MVC
AshishKumarResume2_MVCAshishKumarResume2_MVC
AshishKumarResume2_MVCAshish Dwivedi
 
Enterprise Data Governance and Compliance at Scale with Sri Eshasubbiah and S...
Enterprise Data Governance and Compliance at Scale with Sri Eshasubbiah and S...Enterprise Data Governance and Compliance at Scale with Sri Eshasubbiah and S...
Enterprise Data Governance and Compliance at Scale with Sri Eshasubbiah and S...Databricks
 

Similar a Adopt a JSR: CDI 2.0 at Devoxx UK (20)

AngularJSTO presentation
AngularJSTO presentationAngularJSTO presentation
AngularJSTO presentation
 
Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)
 
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44...
 
Managing Data in Jakarta EE Applications
Managing Data in Jakarta EE ApplicationsManaging Data in Jakarta EE Applications
Managing Data in Jakarta EE Applications
 
JavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth SlidesJavaOne 2014 Java EE 8 Booth Slides
JavaOne 2014 Java EE 8 Booth Slides
 
Spring - CDI Interop
Spring - CDI InteropSpring - CDI Interop
Spring - CDI Interop
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Using APIs
Using APIsUsing APIs
Using APIs
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
Rails and iOS with RestKit
Rails and iOS with RestKitRails and iOS with RestKit
Rails and iOS with RestKit
 
Building an intelligent big data application in 30 minutes
Building an intelligent big data application in 30 minutesBuilding an intelligent big data application in 30 minutes
Building an intelligent big data application in 30 minutes
 
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter LehtoJavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
JavaCro'15 - Web UI best practice integration with Java EE 7 - Peter Lehto
 
Apache DeltaSpike: The CDI Toolbox
Apache DeltaSpike: The CDI ToolboxApache DeltaSpike: The CDI Toolbox
Apache DeltaSpike: The CDI Toolbox
 
CIS13: OpenStack API Security
CIS13: OpenStack API SecurityCIS13: OpenStack API Security
CIS13: OpenStack API Security
 
Introduction to KubeDirector - SF Kubernetes Meetup
Introduction to KubeDirector - SF Kubernetes MeetupIntroduction to KubeDirector - SF Kubernetes Meetup
Introduction to KubeDirector - SF Kubernetes Meetup
 
77402_VishalLaljeet
77402_VishalLaljeet77402_VishalLaljeet
77402_VishalLaljeet
 
3-Years-of-OpenStack-Intel-IT
3-Years-of-OpenStack-Intel-IT3-Years-of-OpenStack-Intel-IT
3-Years-of-OpenStack-Intel-IT
 
So, you wanna build a SSO
So, you wanna build a SSOSo, you wanna build a SSO
So, you wanna build a SSO
 
AshishKumarResume2_MVC
AshishKumarResume2_MVCAshishKumarResume2_MVC
AshishKumarResume2_MVC
 
Enterprise Data Governance and Compliance at Scale with Sri Eshasubbiah and S...
Enterprise Data Governance and Compliance at Scale with Sri Eshasubbiah and S...Enterprise Data Governance and Compliance at Scale with Sri Eshasubbiah and S...
Enterprise Data Governance and Compliance at Scale with Sri Eshasubbiah and S...
 

Último

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Último (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

Adopt a JSR: CDI 2.0 at Devoxx UK

  • 1. @antoine_sd @cdispec#AdoptAJSR Adopt a JSR, why not CDI 2.0 ? Antoine Sabot-Durand Red Hat @antoine_sd @cdispec http://cdi-spec.org
  • 2. @antoine_sd @cdispec#AdoptAJSR • A brief story of CDI • Main Goal of CDI 2.0 • What will be in EDR1 • Adopt CDI Adopt a JSR, why not CDI 2.0 ?
  • 3. @YourTwitterHandle#DVXFR14{session hashtag} @antoine_sd @cdispec#AdoptAJSR A brief history of CDI
  • 4. @antoine_sd @cdispec#AdoptAJSR •CDI stands for Contexts and Dependency Injection •At the origin CDI was thought to fill the gap between Front spec and EJB - All EJB session beans are also CDI beans - CDI integrates Servlet scope as its core built-in contexts •CDI propose a programming model which provides: - A well-defined lifecycle for stateful objects bound to lifecycle contexts, where the set of contexts is extensible - A typesafe dependency injection mechanism - The ability to decorate or to associate interceptors to objects with a typesafe approach - An event notification model - An SPI allowing portable extensions to integrate cleanly with the container What is CDI
  • 5. CDI Timeline Dec 2009 June 2013 Apr 2014 Sep 2014 CDI1.0 (Java EE 6) CDI1.1 (Java EE 7) CDI1.2 (1.1 MR) CDI2.0 Starts 2016 CDI2.0 released
  • 6. @YourTwitterHandle#DVXFR14{session hashtag} @antoine_sd @cdispec#AdoptAJSR M ain Goals of CDI 2.0
  • 7. @antoine_sd @cdispec#AdoptAJSR •We had strong feedback from the community: - Users feedback: - Need CDI to be more widely available in other Java EE specifications as a transverse integration solution - Be able to run CDI outside of a Java EE container. - 3rd parties spec and framework feedback: - Need to have an enhance SPI to ease integration - Need to have a lighter footprint of CDI API / Impl Goals
  • 8. @antoine_sd @cdispec#AdoptAJSR •Java SE support (the spec was renamed Contexts and Dependency Injection for Java): - Use in desktop or alternative containers •Modularity allowing us to work on a CDI light “part”: - Removing parts of spec requiring proxies in implementation - Ease 3rd parties to develop CDI integration - This could make CDI compatible with embedded platform… CDI 2.0 main goals
  • 9. @YourTwitterHandle#DVXFR14{session hashtag} @antoine_sd @cdispec#AdoptAJSR CDI 2.0 Early Draft 1
  • 10. @antoine_sd @cdispec#AdoptAJSR •Early Draft 1 is about to be released •We are a bit late on our schedule but the work was bigger than expected •Some very old and important request were included in it •Features are in the 10 first requested ones by the survey Early Draft
  • 11. @antoine_sd @cdispec#AdoptAJSR •We specified API to boot CDI in Java SE: •Desktop and non Java EE application can now use a standard way to boot CDI Early Draft content, Java SE support public static void main(String... args) {
 CDIProvider provider = CDI.getCDIProvider();
 CDI<Object> cdi = provider.initialize();
 // retrieve a bean and do work with it
 MyBean myBean = cdi.select(MyBean.class).get();
 myBean.doWork();
 // when done
 cdi.shutdown();
 }
  • 12. @antoine_sd @cdispec#AdoptAJSR •The specification is now split in 3 parts - CDI core: the common specification regardless of the platform - CDI for Java SE: specific features for Java SE - Mainly SE boot - CDI for Java EE: specific feature for Java - EJB, servlet, EL, JSF integration •This split was necessary for Java SE support •It’s also the first step for a future CDI light Early Draft content, spec split
  • 13. @antoine_sd @cdispec#AdoptAJSR •One of the oldest user request : •We decided to use the @Priority from commons annotation (JSR 250) •JSR 250 will need a Maintenance Release to have @Priority targeting a parameter Early Draft content, Event Ordering void afterLogin(@Observes @Priority(APPLICATION) LoggedInEvent event) { ... }
  • 14. @antoine_sd @cdispec#AdoptAJSR •The most popular feature in the survey: •Based on Java 8 new Async API •Introducing a new kind of observes for backward compatibility with @ObservesAsync Early Draft content, Asynchronous public interface Event<T> { … public <U extends T> CompletionStage<U> fireAsync(U event); public <U extends T> CompletionStage<U> fireAsync(U event, Executor executor); … }
  • 15. @YourTwitterHandle@antoine_sd @cdispec#AdoptAJSR More info on CDI 2.0 in our talk on Friday 3pm
  • 17. @antoine_sd @cdispec#AdoptAJSR •Reading and checking the spec after the split •Feedback on Java SE and other features •Vote on features on the CDI Jira •Propose new features or IDEAS CDI needs you!
  • 18. @antoine_sd @cdispec#AdoptAJSR •CDI Website: http://cdi-spec.org •Weld website: http://weld.cdi-spec.org •Mailing list: https://lists.jboss.org/mailman/listinfo/cdi- dev •Discussion: IRC / Freenode / #cdispec •Keep in touch: @cdispec Resources
  • 19. Which JSR you’ll use 365 days a year? … JSR 365