►
From YouTube: Jakarta CDI | JakartaOne Livestream 2021
Description
Jakarta EE gives developers a comprehensive set of vendor-neutral, open specifications that are used for developing modern, cloud native Java applications from the ground up. With Jakarta EE, technology developers and consumers can be confident they have the best technologies for developing cloud native, mission-critical applications. And they can build on decades of Java developer expertise to move existing workloads to the cloud.
Learn more: https://jakarta.ee/
Follow us on Twitter: https://twitter.com/home
Follow us on LinkedIn: https://www.linkedin.com/showcase/jakartaee/
Like us on Facebook: https://www.facebook.com/JakartaEE/
B
B
To
be
here-
and
one
thing
I
I
actually
thought
about
when
we
had
the
last
session
was
this
year-
we
have
these
jakari,
and
this
year
they
actually
put
the
the
print
on
both
sides.
So
it's
so
it
shows
even
if
you're
holding
it
in
the
right
time,
but
the
last
the
last
mod
we
had
was
only
printed
on
one
side.
That's
why.
A
But
anyways,
I
think,
we're
here
to
welcome
ladislav,
who
will
be
talking
about
jakarta,
cbi
and
I
hope
he'll
pop
up
on
the
screen
any
minute,
but
that
is
a
very,
very
interesting
specification.
Getting
a
lot
of
attention.
A
So
please
everyone
who
is
interested
in
the
cdi
do
join
the
project
team
and
get
involved.
Lavislaw
will
talk
about
the
actually
what's
going
on
with
cdi
4.0.
What
is
it
all
about?
And
you
know
what
we
can
expect?
A
I
do
hear
and
I
don't
want
to
reveal
too
much,
but
there
is
a
preparation
about
the
cdi
lights
and
we
will
ask
is
love.
Why
do
we
need
it
and
what
is
it
all
about?
A
We'll
also
talk
about
the
extension
api
and
how
it
looks
like
and
I'm
I'm
hoping
I'll
hear
from
our
back
room.
If
what
is
ready.
A
B
We're
waiting
for
for
a
lot
of
stuff
to
join,
we
can,
I
mean
cdi,
is-
is
one
of
the
important
specs
in
theory
and
it
it
stands
for
context
and
dependency
injection.
B
So
for
those
who
don't
know
cdi
or
context
and
dependency
injection,
please
go
to
the
jakarta
webpage
and
and
find
the
speaker
aspect
under
the
specifications.
A
Yeah,
so
in
the
top
browser
you
will
find
the
specifications
and
you
will
have
the
list
of
all
the
specifications
there.
So
please
get
familiar
and-
and
you
know,
participate
in
the
discussions
related
to
cbi
and
I'm
seeing
here.
Lollies
love
is
joining
hey
hi.
How
are
you
I'm.
A
I'm
good
I'm
good,
so
it
is
great
to
to
have
you
on
the
call.
Lollis
love
is
coming
from
redhat.
So
do
you
want
to
introduce
yourself
and-
and
let
us
know
what
is
your
focus
sure.
C
So
hello,
everyone,
I'm
alislav,
I
work
at
redhead.
I
contribute
to
quercus
gendax
couple
smallright
projects,
I'm
a
committer
at
microprofile
and
check
out
cdi
besides
programming,
as
you
can
see
behind
me,
I
like
a
lot
of
books.
C
A
Oh
yes,
please
go
ahead,
we're
joking
to
learn
about
what
is
cd
I
like
all
about
and
so
take
it
over.
C
Sure
thing
so
so,
as
you
know,
I
mean,
as
everyone
knows,
that
the
cdi
is
near
a
a
4.0
release
whose
major
part
is
cdi.
Live
I've
got
a
couple
slides
to
talk
about
that.
So
so
there's
there's
I
I
would
say
there
are.
There
are
three
major
areas
we
we
focus
on
is
cdi
for
er
and
I'll
start
from
the
end,
because
those
are
the
smallest,
so
there's
a
couple
of
breaking
changes.
Unfortunately,
we
have,
we
have
removed
a
couple
of
deprecated
features.
C
B
C
Thing
we're
doing
is
we
are
changing
how
empty
beans
xml
is
treated
so
a
previously
empty
b6
melamed
bin
archive
is
treated
as
been
discovery
mode.
All
we're
changing
that
to
be
discovery,
mode
annotated,
but
there's
there's
a
there's
a
straightforward
way
back
and
all
products
are
required
to
have
a
have
an
option
to
switch
to
the
old
behavior
yeah
and
another
thing
is
we're
adding
a
couple
couple
small
features
like
lifecycle
events
where,
finally
there's
an
event,
there's
a
cdi
event
to
distinguish
application,
startup
and
application
shutdown
was
previously.
C
People
had
to
use
the
ad
initialized
application,
scoped
class
event,
which
was
all
not
not
entirely
intuitive,
so
we're
we're
changing
that.
There's
a
there's,
an
instance.handle
interface,
which
allows
lazy
access
to
the
bins
during
programmatic
lookup,
we're
also
adding
the
option
to
add
the
priority
annotation
to
stereotypes.
C
C
I've
got
I've
got
a
little
slide
about
that
in
any
case.
Anyway,
if
you
have
any
questions
like
feel
free
to
interrupt
me
anytime,
if
not
I'll,
just
continue
going
through
my
short
slide
deck
right.
A
Yeah
go
ahead,
we're
just
mainly
curious
to
to
learn.
Why
do
we
need
cdi
4.0,
actually
cdi
lights
and
how
it
differs.
C
Yeah
sure
that's
a
great
question.
So
if
you,
if
you
look
at
the
diagram
here,
you'll
see
that
that
cbi,
3
and
then
before
had
a
had
a
thing
called
score
cdi.
It's
like
the
basic
specification
for
rejection
context,
events
everything
like
that,
and
on
top
of
that
there
were
c
I
s
e
and
c
I
e
e
and
then
the
we
are.
We
are
keeping
that
that,
like
high
level
distinction
between
e
and
s
e,
but
what
we're
doing
in
core
cbi
is
we're
we're
taking
like.
C
So
I
sometimes
call
that
cdi
the
good
parts
which
frankly,
is
like
80
or
90
of
cdi
really
and
calling
that
cdi
light.
C
What
what's
missing
from
there
is
things
like
conversation,
scope,
passivation,
specialization
decorators,
like
really
things
that
most
people
don't
really
use
and
we're
like
taking
the
the
cdi
like
part,
and
we
are
reframing
it
in
a
way
that
can
be
implemented
in
in
say,
build
time,
oriented,
architectures
things
like
quercus,
micro,
node
or
if
you're
aware,
if
you're,
if
you
know
a
popular
dependency,
ejection
solution
for
android
called
the
dagger,
that's
that's
working
pretty
much
in
the
same.
In
the
same
set
of
architecture
constraints
right
so.
B
C
Taking
cdi
or
like
most
of
cdi
and
reframing
it
in
a
way
that
can
be
implemented
in
these
architectures,
and
that's
that's
that's
what
cdi
like
is
right.
Then
we
had
to
make
a
couple
couple
of
changes
or
we
had
to
actually
not
not
changes.
I
mean
we
had
to
create
a
new
extension
api
for
this
for
this
architecture,
because
portable
extensions,
while
powerful,
are
like
a
terrible
fit
for
build
time.
C
Implementation
approach
right,
it's
very
reflection,
heavy,
while
in
in
build
time
you
don't
really
have
access
to
that
plus
it
really
is
interferent
with
the
application
there.
If
the
portable
extensions
allow
storing
application
state
in
the
extension
instance
and
really
interacting
both
ways,
which
is
kind
of
impossible.
C
If
you
want
to
do
everything
at
build
time
and
just
run
the
application
later
on
in
a
new
jvm
or
possibly
even
compile
to
make
it
so
yeah,
that's
like
the
major
goal
of
of
the
cda
light
effort,
take
the
take
the
good
parts
and
reframe
that
them
in
a
way
that
can
be
implemented.
C
I've
as
built-in
right,
so
some
the
biggest
thing
like
the
the
major
parts
of
the
user.
Api
are
there
unchanged?
The
major
thing
that
that
had
to
change
whether
we
had
to
invent
from
scratch
is
his
extensions
right.
So
we
have
build
compatible
extensions
now,
which
are
really
like
very
from
user
perspective.
They
are
pretty
similar
to
portable
extensions.
C
You
also
implement
an
interface
and
and
a
marker
interface
and
add
a
bunch
of
annotated
methods
to
it.
At
the
end,
the
annotations
are
are
visible
on
the
slide
and
they
correspond
to
portable
extension
events
pretty
closely
right.
So
so
the
discovery
annotation
corresponds
to
before
being
discovery,
enhancement
corresponds
to
processor
data
type
registration
corresponds
to
process,
beam
and
process.
Observer
method,
synthesis
corresponds
to
after
beam
discovery,
invalidation
corresponds
to
after
deployment
validation,
and
so
there's
like
a
pretty
pretty
close
relationship
except
like
with
build
compatible
extensions.
C
You
don't
have
to
use
you
can't
even
use
reflection
and
it's
possible
for
the
implementation
to
run
them
a
completely
direct,
build
time
right.
So
so,
when
the
application
boots.
All
of
that
has
already
happened,
so
it
doesn't
have
to
spend
time
running
extensions
again
right
and
really
in
order
to
to
make
this
possible
to
make
to
make
a
reflection
free
api
possible.
C
We
also
had
to
design
an
api
that
we
call
a
language
model
that
really
you
can
you
can
look,
you
can
inspect
classes,
methods,
fields
and
annotations
without
having
to
load
those
classes
and
touch
them
in
any
way.
So
so
this
this
slide
illustrates
roughly
how
the
how
the
language
model
api
looks
like
great
it
really.
C
Okay,
thanks,
I
mean
yeah
interrupt
me
again
if
you
have
any
questions
so
so
this
this
api
really
is
like
it
gives
you
access
to
annotations
on
various
elements
which
we
call
annotation
targets,
because
all
the
good
names
are
already
taken
like
there
are.
The
annotation
targets
are
really
declarations
and
types.
C
C
So
you
have
access
to
all
the
annotations
through
the
annotation
info
and
annotation
member
classes
or
interface
actually
right.
So
that's
that's
like
the
the
the
the
cdi
for
oh
and
cdi,
like
condensed,
there's
an
article
on
the
cdi
blog
published
a
few
days
ago.
That
goes
in
a
huge,
deep
amount
of
detail
and
compares,
compares,
build
compatible
extensions
to
portable
extensions
detailing
where
exactly
the
corresponding
methods
are.
So
I
think
you
can
like
find
out
that
you
already
know
you
already
know
build
compatible
extensions.
A
That
is
great.
Thank
you
so
much
so
I
I
I'm
trying
to
see
if
there
are
any
questions
from
the
audience.
I
would
also
like
to
remind
everyone
about
the
I
believe
weekly
calls
dedicated
to
cdi
jakarta,
cbi,
so
everyone
who
is
interested
to
participate,
please
check
out
our
specifications
calendar
where
you
can
find
all
the
meetings,
and
one
of
them
is
cd,
jakarta
cdi.
C
I
don't
think
there's
any
intent
to
merge
the
two,
and
I
I
I
guess,
that's
probably
because
there's
a
lot
of
or
a
lot
of
projects
for
I'm
not
sure
if
a
lot
of,
but
there
are
important
projects
that
use
one
but
not
the
other,
such
as
juice
and
and
and
what's
the
other
one.
I
I
call
it
and
I
can't
remember
the
name
right
now
anyway,
there
are.
C
There
are
important
producers
that
use
java
x,
inject
that
implement
this
api
and
and
don't
don't
have
a
have
a
reason
to
go
full
cdi.
Yeah.
B
Mentioned
that
cdi4
will
give
us
an
x
startup,
similar
to
what
we
have
in
ejb
today.
Did
I
understand
that
correctly
yeah?
It's
it's!
It's.
C
B
So
you
don't
have
to
to
observe
the
initialization
of
application
scope
or
exactly
what
somebody
would
call
a
sort
of
hack
around
it.
So
I
think
absolutely
very
excited
about
this
to
absorb
the
startup.
I've
had
some
conversations
on
twitter
about
it,
so
I'll
reply
to
them
and
say:
okay.
A
So
we
will
have
to
carry
on
this.
A
Maybe
in
another
jakarta
tech
talk
or
somewhere
else
and
we're
moving
along
with
the
conference.
I
want
to
thank
ladislav
very
much
for
participation
and
I
wanna
actually
announced
the
next
talk,
but
also
right
after
that
we
will
have
a
little
bit
of
of
two
minutes
break
just
for
some
breeding
air.
So
the
next
talk
after
the
pause
will
be
integration,
text,
testing
of
jakarta
applications
with
docker
and
test
containers
by
kevin
vittek.
A
So
we
will
wrap
up
the
studio
session
right
now
and
then
we'll
have
a
short
two
minute
break
and
see
you
in
the
next
speaker
session.
Thank
you
again.
Thanks
for
having.