🔊 Going further with CDI presentation
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
asciidoctor-backends @ d41d7ee
camel
docs
dzslides @ c0a7006
images
metrics
parts
stylesheets
.gitignore
.gitmodules
.travis.yml
Gemfile
Gemfile.lock
Guardfile
README.adoc
pom.xml
slides.adoc

README.adoc

Going Further with CDI

Travis CI build

Presentation material about advanced features and use cases of CDI, the Contexts and Dependency Injection standard for the Java platform.

About

This presentation introduces the CDI type and metadata SPI. It then focuses on the concept of portable extensions and covers the complete bean manager lifecycle, depicted in the diagram below. Lastly, it illustrates the use of these concepts through practical examples like the Camel CDI and Metrics CDI extensions.

lifecycle
Figure 1. Application initialization and shutdown lifecycle
events
Figure 2. Container lifecycle events

History

This presentation has been used as material for the following sessions:

Conference

Session

Commit [/ Branch]

Slides

Devoxx MA 2016

Going further with CDI 2.0

25bcd4d

html, pdf

JavaOne 2015

Advanced CDI in Live Coding [TUT2376]

d8ce65f

html, pdf, video

Devoxx FR 2015

Allons plus loin avec CDI 1.2 [OGT-5265]

b490b41

html, pdf

Devoxx BE 2014

Going Further with CDI 1.2 [CSX-3476]

6aa51e7

html

JavaOne 2014

Going Further with CDI 1.2 [CON5585]

6fd80dd / javaone

html

Build

Environment

  1. Install RVM:

    $ \curl -sSL https://get.rvm.io | bash -s stable --ruby
  2. Install Bundler:

    $ gem install bundler
  3. Install Graphviz and have the dot executable in the path

Instructions

  1. Initialise and check out the asciidoctor-backends and dzslides submodules:

    $ git submodule update --init
  2. Install the required gems:

    $ bundle install
  3. Generate the HTML presentation:

    $ asciidoctor -r asciidoctor-diagram -T asciidoctor-backends/slim -a data-uri -a linkcss! slides.adoc
  4. Generate the PDF presentation:

    1. Install DeckTape

    2. Export the HTML presentation:

      $ decktape dzslides slides.html slides.pdf

LiveReload

With Guard and LiveReload, you can modify the content of the presentation and have the files automatically generated and reloaded into your Web browser.

  1. Install the LiveReload plugin for your Web browser (Chrome, Firefox and Safari are supported)

  2. Launch Guard:

    $ bundle exec guard
  3. Browse to the generated file you want to refresh and activate the LiveReload plugin (don’t forget to configure the plugin to accept refreshing local files)

Docker

Alternatively to installing Ruby and Graphviz, you can use the asciidoctor/docker-asciidoctor Docker image available on Docker Hub:

  1. Run an interactive container with the documents volume bind-mounted to the working directory:

    $ docker run --rm -it -v `pwd`:/documents/ asciidoctor/docker-asciidoctor
  2. Generate the HTML presentation:

    [root@... documents]# asciidoctor -r asciidoctor-diagram -T asciidoctor-backends/slim -a data-uri -a linkcss! slides.adoc

License

The content of this project is licensed under the Creative Commons Attribution 4.0 license, and the underlying source code used for the examples is licensed under the MIT license.