astefanutti / further-cdi

πŸ”Š Going further with CDI presentation

Home Page:http://astefanutti.github.io/further-cdi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

πŸ”Š Going further with CDI presentation

http://astefanutti.github.io/further-cdi


Languages

Language:Java 95.4%Language:CSS 3.2%Language:Ruby 1.3%