deltaspike-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r922514 [6/11] - in /websites/staging/deltaspike/trunk/content: ./ documentation/ retired/
Date Wed, 17 Sep 2014 12:22:53 GMT
Added: websites/staging/deltaspike/trunk/content/retired/documentation.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/retired/documentation.html (added)
+++ websites/staging/deltaspike/trunk/content/retired/documentation.html Wed Sep 17 12:22:52 2014
@@ -0,0 +1,654 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="deltaspike-generate-pages">
+    <meta name="author" content="chm">
+
+    <title>Apache DeltaSpike - Documentation</title>
+
+    
+
+    
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
+
+    <!-- Styles -->
+    
+    <link href="./../resources/css/bootstrap.css" rel="stylesheet">    
+    <!--<link href="./../resources/css/prettify.css" rel="stylesheet" /> -->
+    <link href="./../resources/css/codehilite.css" rel="stylesheet" />
+    <link href="./../resources/css/bootstrap-responsive.css" rel="stylesheet">
+    <style type="text/css">
+        body {
+            padding-top: 60px;
+            padding-bottom: 40px;
+        }
+    </style>
+	<script type="text/javascript">
+
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-36103647-1']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+</head>
+
+<body>
+    <div class="navbar navbar-fixed-top">
+        <div class="navbar-inner">
+            <div class="container">
+                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </a>
+                <a class="brand logocolor" href="/index.html">Apache DeltaSpike</a>
+                <div class="nav-collapse">
+                    <ul class="nav">
+                        <li class="active"><a href="./../index.html">Home</a></li>
+                        <li><a href="./../documentation.html">Documentation</a></li>
+                        <li><a href="./../source.html">Source</a></li>
+                        <li><a href="./../download.html">Download</a></li>
+                        <li><a href="./../community.html">Community</a></li>
+                        <!-- <li><a href="./../support.html">Support</a></li>  -->
+                        <li><a href="./../news.html">News</a></li>
+                        <li><a href="./../migration-guide.html">Migration</a></li>
+                    </ul>
+                </div><!--/.nav-collapse -->
+                <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
+                    <input value="deltaspike.apache.org" name="sitesearch" type="hidden"/>
+                    <input class="search-query" name="q" id="query" type="text" />
+                </form>
+            </div>
+        </div>
+    </div>
+
+    <div class="container">
+      <div class="row">
+          <div class="span12">
+              <div class="page-title">
+                <h1>Documentation</h1>
+              </div>
+              <div class="toc">
+<ul>
+<li><a href="#introduction">Introduction</a><ul>
+<li><a href="#what-is-a-portable-cdi-extension">What is a portable CDI extension ?</a></li>
+<li><a href="#deltaspike-in-a-nutshell">DeltaSpike in a nutshell</a><ul>
+<li><a href="#java-ee-7-without-java-ee-7">Java EE 7 without Java EE 7!</a></li>
+<li><a href="#jsf-improvements">JSF Improvements</a></li>
+<li><a href="#productivity-improvements">Productivity Improvements</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#getting-started">Getting Started</a><ul>
+<li><a href="#project-configuration-without-maven">Project Configuration without Maven</a></li>
+<li><a href="#project-configuration-with-maven">Project Configuration with Maven</a><ul>
+<li><a href="#configuration-of-deltaspike-core">Configuration of DeltaSpike Core</a></li>
+<li><a href="#configuration-of-deltaspike-modules">Configuration of DeltaSpike Modules</a><ul>
+<li><a href="#security-module">Security Module</a></li>
+<li><a href="#jpa-module">JPA Module</a></li>
+<li><a href="#jsf-module">JSF Module</a></li>
+<li><a href="#bean-validation-module">Bean Validation Module</a></li>
+<li><a href="#servlet-module">Servlet Module</a></li>
+<li><a href="#data-module">Data Module</a></li>
+<li><a href="#test-control-module">Test-Control Module</a></li>
+<li><a href="#scheduler-module">Scheduler Module</a></li>
+</ul>
+</li>
+<li><a href="#with-java-se">With Java SE</a><ul>
+<li><a href="#add-the-deltaspike-container-ctrl-api">Add the DeltaSpike Container Ctrl API</a></li>
+<li><a href="#add-a-cdi-container-container-ctrl-impl">Add a CDI container + Container Ctrl Impl</a></li>
+</ul>
+</li>
+<li><a href="#for-apache-openwebbeans">... for Apache OpenWebBeans</a></li>
+<li><a href="#for-jboss-weld-ri">... for JBoss Weld (RI)</a></li>
+<li><a href="#for-embedded-servlet-runtimes-you-can-add">For Embedded Servlet Runtimes, you can add</a></li>
+<li><a href="#testing-snapshots">Testing Snapshots</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#deployment-mode">Deployment mode</a><ul>
+<li><a href="#with-java-ee6">With Java EE6+</a></li>
+<li><a href="#with-java-ee5-or-servlet-containers">With Java EE5 or Servlet Containers</a></li>
+<li><a href="#standard-java-se6">Standard Java SE6+</a></li>
+</ul>
+</li>
+<li><a href="#start-a-cdi-container-using-java-se">Start a CDI container using Java SE</a></li>
+<li><a href="#module-overview">Module Overview</a><ul>
+<li><a href="#core-required">Core (required)</a></li>
+<li><a href="#security-optional">Security (optional)</a></li>
+<li><a href="#jpa-optional">JPA (optional)</a></li>
+<li><a href="#jsf-optional">JSF (optional)</a></li>
+<li><a href="#container-control-optional">Container Control (optional)</a></li>
+<li><a href="#bean-validation-optional">Bean Validation (optional)</a></li>
+<li><a href="#servlet-optional">Servlet (optional)</a></li>
+<li><a href="#partial-bean-optional">Partial-Bean (optional)</a></li>
+<li><a href="#data-optional">Data (optional)</a></li>
+<li><a href="#test-control-optional">Test-Control (optional)</a></li>
+<li><a href="#scheduler-optional">Scheduler (optional)</a></li>
+</ul>
+</li>
+<li><a href="#deltaspike-spi">DeltaSpike SPI</a></li>
+<li><a href="#external">External</a><ul>
+<li><a href="#blogs">Blogs</a></li>
+<li><a href="#add-ons">Add-ons</a></li>
+<li><a href="#project-templates">Project Templates</a></li>
+<li><a href="#examples">Examples</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<hr />
+<h1 id="introduction">Introduction</h1>
+<p>Apache DeltaSpike project has been created to support the development of portable CDI extensions that provide useful features for Java applications
+not provided out of the box by the CDI spec (Security, JPA, ...). CDI extensions created by the DeltaSpike community are packaged as modules.</p>
+<p>Therefore, Apache DeltaSpike is a great toolbox for CDI. More than a set of powerful extension and tools to ease extension development, DeltaSpike also proves that CDI allows Java EE to evolve between each release.</p>
+<p>The goal of the project is also to provide useful classes to :</p>
+<ul>
+<li>Boot CDI Container (Weld, OpenWebbeans, OpenEJB) for Java SE,</li>
+<li>Stage a project,</li>
+<li>Provide new scopes (Window Scope, ...),</li>
+<li>Manage messages and configurations</li>
+</ul>
+<p>The project is currently tested on different CDI implementations like Apache OpenWebBeans and JBoss Weld, and also on different Java Web containers like Apache TomEE or JavaEE, JBoss AS7, Oracle GlassFish 3.1+, Oracle WebLogic Server 12c.</p>
+<h2 id="what-is-a-portable-cdi-extension">What is a portable CDI extension ?</h2>
+<p>A portable CDI extension means that CDI itself can be extended. Such extensions can be used with any spec. compliant CDI implementation. From the user perspective, it means that you can simply drop in CDI extension jars into your runtime e.g. to integrate third-party APIs with CDI or to improve existing JavaEE-APIs.</p>
+<p>The CDI Portable extensions SPI (Service Provider Interface) allows to define additional beans, scopes, stereotypes, interceptors and decorators. The SPI of CDI is a powerful vehicle for innovation and DeltaSpike is an example of it.</p>
+<h2 id="deltaspike-in-a-nutshell">DeltaSpike in a nutshell</h2>
+<h3 id="java-ee-7-without-java-ee-7">Java EE 7 without Java EE 7!</h3>
+<p><strong>Transactional support for non-EJB beans:</strong>
+The Transactional Interceptor in DeltaSpike paved the way for @Transactional in Java EE 7.</p>
+<p><strong>Injectable Servlet objects:</strong>
+Allows the developer to inject CDI beans on Servlets on Java EE 6/CDI 1.0  environments</p>
+<p><strong>Injectable resources:</strong>
+Configuration, resource bundles,... are easy to inject when using CDI and Apache DeltaSpike.</p>
+<p><strong>@Exclude annotation:</strong>
+it's possible to annotate beans which should be ignored by CDI even if they are in a CDI enabled archive on Java EE 6/CDI 1.0 environment where you can't use @Vetoed or a veto based on project-stages or expressions is needed.</p>
+<p><strong>Scheduling tasks</strong>:
+Async processes in a non Java EE 7 environment.</p>
+<p><strong>Bean Validation integration:</strong>
+Allows to inject CDI beans and EJB in to Constraint-Validators.</p>
+<p><strong>BeanProvider:</strong>
+Access the BeanManager and CDI beans even in non managed classes like JPA-2.0 EntityListeners or Spring Beans.</p>
+<h3 id="jsf-improvements">JSF Improvements</h3>
+<p><strong>Multi-window handling:</strong>
+Allows to manage logical windows for batches,... or in case of JSF it offers proper separation of browser-tabs.</p>
+<p><strong>Type-safe view-config:</strong>
+It allows to bind meta-data (e.g. for security) to views with a type-safe, but flexible approach. It provides a more solid navigation in case of JSF and helps a lot in the maintenance phase.</p>
+<p><strong>View-Controller:</strong>
+Based on type-safe view-configs view-controller annotations provide a type-safe alternative to standard-tags.</p>
+<p><strong>Injection on Converters and Validators:</strong>
+Allows to inject CDI beans and EJB in to JSF Converters and Validators.</p>
+<p><strong>JSF event broadcasting to CDI:</strong>
+Allows CDI to be notified about JSF events</p>
+<h3 id="productivity-improvements">Productivity Improvements</h3>
+<p><strong>Security based on annotations:</strong>
+The foundation for building a robust, capable and non invasive security solution.</p>
+<p><strong>New CDI scopes:</strong>
+TransactionScoped, WindowScoped, ViewScoped, ViewAccess scope, Grouped conversion scope</p>
+<p><strong>Container Control &amp; Test Control:</strong>
+Java SE with CDI, all with a unifying API. Start, stop, add classes to a running CDI container.</p>
+<p><strong>Data Module:</strong>
+An out of the box entity framework solution complete with support for container or application managed persistence contexts, as well as JDBC.</p>
+<p><strong>Decoupled Exception handling:</strong>
+Allows to do exception handling in one location similar to CDI Observers.</p>
+<p><strong>JMX integration:</strong>
+Any CDI bean can be exposed via JMX easily with one annotation.</p>
+<p><strong>Type-safe i18n messages:</strong>
+Localized messages are easy to use with an interface and a resource bundle, no more boilerplate and your messages now have context within the code.         </p>
+<p><strong>Type-safe Project-Stages:</strong>
+Compared to project-stages in JSF, DeltaSpike provides a type-safe, but still extensible approach which can be used in CDI based applications.</p>
+<h1 id="getting-started">Getting Started</h1>
+<p>A DeltaSpike project can be designed using or not Apache Maven and consists in a collection of jar files. Depending on your needs, you will package DeltaSpike core jar (api and impl) files or extend
+the list with DeltaSpike modules. DeltaSpike Api and Impl are mandatory and provide code required to benefits of portable CDI extensions or useful features
+created.</p>
+<p>Remark : For Java SE, an additional step is required as you have to select the CDI implementation of your choice to boot a CDI container.</p>
+<p>[TODO] Add a section or remark to explain how to package &amp; deploy DeltaSpike in an OSGI environment (Apache Felix, Apache Karaf, Apache ServiceMix)</p>
+<h2 id="project-configuration-without-maven">Project Configuration without Maven</h2>
+<p>You can manually <a href="download.html" target="_blank">download</a> all JARs described above or you get <a href="source.html">the source-code</a> and <a href="build.html">build</a> DeltaSpike manually.</p>
+<h2 id="project-configuration-with-maven">Project Configuration with Maven</h2>
+<p><strong>Hint:</strong>
+In the listings below replace the placeholders for the version with the version of your choice or use:</p>
+<div class="codehilite"><pre><span class="nt">&lt;properties&gt;</span>
+    <span class="nt">&lt;deltaspike.version&gt;</span>1.0.2<span class="nt">&lt;/deltaspike.version&gt;</span>
+<span class="nt">&lt;/properties&gt;</span>
+</pre></div>
+
+
+<p>Or if you want to very bleeding edge, point to our current snapshot.</p>
+<div class="codehilite"><pre><span class="nt">&lt;properties&gt;</span>
+    <span class="nt">&lt;deltaspike.version&gt;</span>1.0.3-SNAPSHOT<span class="nt">&lt;/deltaspike.version&gt;</span>
+<span class="nt">&lt;/properties&gt;</span>
+</pre></div>
+
+
+<h3 id="configuration-of-deltaspike-core">Configuration of DeltaSpike Core</h3>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.core<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-core-api<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>compile<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.core<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-core-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h3 id="configuration-of-deltaspike-modules">Configuration of DeltaSpike Modules</h3>
+<h4 id="security-module">Security Module</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-security-module-api<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>compile<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-security-module-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h4 id="jpa-module">JPA Module</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-jpa-module-api<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>compile<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-jpa-module-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h4 id="jsf-module">JSF Module</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-jsf-module-api<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>compile<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-jsf-module-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<p>Some EE6 servers can't handle optional classes. If you don't like the corresponding log entries during the startup or the deployment fails, you can use an alternative impl-module (instead of deltaspike-jsf-module-impl) since v1.0.1:</p>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-jsf-module-impl-ee6<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h4 id="bean-validation-module">Bean Validation Module</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-bean-validation-module-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h4 id="servlet-module">Servlet Module</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-servlet-module-api<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>compile<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-servlet-module-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h4 id="data-module">Data Module</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-data-module-api<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>compile<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-data-module-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h4 id="test-control-module">Test-Control Module</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-test-control-module-api<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-test-control-module-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h4 id="scheduler-module">Scheduler Module</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-scheduler-module-api<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>compile<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.modules<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-scheduler-module-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h3 id="with-java-se">With Java SE</h3>
+<p>To use DeltaSpike with Java SE, we must provide additional jars file corresponding to the DeltaSpike CDI Controller API
+and its implementation. The Controller uses Java Services to resolve the CDI container (<a href="http://docs.jboss.org/weld/reference/1.1.5.Final/en-US/html/">JBoss Weld</a>, <a href="http://openwebbeans.apache.org">Apache OpenWebbeans</a> (and <a href="http://openejb.apache.org">Apache OpenEJB</a>)) and
+implementation contains the code to manage the <a href="#container-control-optional">CDI container and contexts</a>.</p>
+<p><strong>Hint:</strong>
+In the listings below replace the placeholders for the version with the version of your choice or use:</p>
+<div class="codehilite"><pre><span class="nt">&lt;properties&gt;</span>
+    <span class="nt">&lt;deltaspike.version&gt;</span>1.0.0<span class="nt">&lt;/deltaspike.version&gt;</span>
+    <span class="nt">&lt;owb.version&gt;</span>1.2.0<span class="nt">&lt;/owb.version&gt;</span>
+    <span class="nt">&lt;weld.version&gt;</span>1.1.9.Final<span class="nt">&lt;/weld.version&gt;</span>
+<span class="nt">&lt;/properties&gt;</span>
+</pre></div>
+
+
+<h4 id="add-the-deltaspike-container-ctrl-api">Add the DeltaSpike Container Ctrl API</h4>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.cdictrl<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-cdictrl-api<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>compile<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h4 id="add-a-cdi-container-container-ctrl-impl">Add a CDI container + Container Ctrl Impl</h4>
+<h3 id="for-apache-openwebbeans">... for Apache OpenWebBeans</h3>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.openwebbeans<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>openwebbeans-impl<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">owb</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.openwebbeans<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>openwebbeans-spi<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">owb</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>compile<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.cdictrl<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-cdictrl-owb<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h3 id="for-jboss-weld-ri">... for JBoss Weld (RI)</h3>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.cdictrl<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-cdictrl-weld<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+
+<span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.jboss.weld.se<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>weld-se<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">weld</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>runtime<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h3 id="for-embedded-servlet-runtimes-you-can-add">For Embedded Servlet Runtimes, you can add</h3>
+<div class="codehilite"><pre><span class="nt">&lt;dependency&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.deltaspike.cdictrl<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>deltaspike-cdictrl-servlet<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span><span class="cp">${</span><span class="n">deltaspike</span><span class="o">.</span><span class="n">version</span><span class="cp">}</span><span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;scope&gt;</span>compile<span class="nt">&lt;/scope&gt;</span>
+<span class="nt">&lt;/dependency&gt;</span>
+</pre></div>
+
+
+<h3 id="testing-snapshots">Testing Snapshots</h3>
+<p>If you would like to test the latest Snapshot, you can <a href="http://deltaspike.apache.org/build.html">build</a> DeltaSpike locally or you get it from the Apache Snapshot-Repository:</p>
+<div class="codehilite"><pre><span class="nt">&lt;repositories&gt;</span>
+    <span class="nt">&lt;repository&gt;</span>
+        <span class="nt">&lt;id&gt;</span>apache-snapshot-repository<span class="nt">&lt;/id&gt;</span>
+        <span class="nt">&lt;url&gt;</span>http://repository.apache.org/snapshots/<span class="nt">&lt;/url&gt;</span>
+        <span class="nt">&lt;releases&gt;</span>
+            <span class="nt">&lt;enabled&gt;</span>false<span class="nt">&lt;/enabled&gt;</span>
+        <span class="nt">&lt;/releases&gt;</span>
+        <span class="nt">&lt;snapshots&gt;</span>
+            <span class="nt">&lt;enabled&gt;</span>true<span class="nt">&lt;/enabled&gt;</span>
+        <span class="nt">&lt;/snapshots&gt;</span>
+    <span class="nt">&lt;/repository&gt;</span>
+<span class="nt">&lt;/repositories&gt;</span>
+</pre></div>
+
+
+<h1 id="deployment-mode">Deployment mode</h1>
+<p>DeltaSpike can be deployed in different Java environments. Depending which Java container and release you are using, the procedure which is different
+is explained here after.</p>
+<h2 id="with-java-ee6">With Java EE6+</h2>
+<p>If you are using DeltaSpike in a Java EE6 environment, you don't need to configure a CDI implementation explicitly because it's shipped with the container.</p>
+<h2 id="with-java-ee5-or-servlet-containers">With Java EE5 or Servlet Containers</h2>
+<p>Java EE5 application servers as well as pure servlet containers like Apache Tomcat / Eclipse Jetty don't provide a CDI implementation out-of-the-box.
+So don't forget to setup the CDI implementation of your choice.</p>
+<h2 id="standard-java-se6">Standard Java SE6+</h2>
+<p>If you are only using a JDK and runs Java in a standalone or standard mode (Java SE), then DeltaSpike will allow you to boot a CDI implementation where you can use Dependency Injection with
+a Bean Manager. Such an example will be presented at the next section.</p>
+<h1 id="start-a-cdi-container-using-java-se">Start a CDI container using Java SE</h1>
+<p>This code snippet show you how with a Java MainApplication a CDI container can be started (= boot) by DeltaSpike using Java SE and how you
+ define a CDI scope and resolve beans injected.</p>
+<p><strong>Hint</strong>: To bootstrap a CDI container in your Java application, you just need to instantiate the <code>CdiContainer</code> and call the <code>#boot</code> method.</p>
+<div class="codehilite"><pre><span class="kn">import</span> <span class="nn">org.apache.deltaspike.cdise.api.CdiContainer</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">org.apache.deltaspike.cdise.api.CdiContainerLoader</span><span class="o">;</span>
+
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MainApp</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+
+        <span class="n">CdiContainer</span> <span class="n">cdiContainer</span> <span class="o">=</span> <span class="n">CdiContainerLoader</span><span class="o">.</span><span class="na">getCdiContainer</span><span class="o">();</span>
+        <span class="n">cdiContainer</span><span class="o">.</span><span class="na">boot</span><span class="o">();</span>
+
+        <span class="c1">// You can use CDI here</span>
+
+        <span class="n">cdiContainer</span><span class="o">.</span><span class="na">shutdown</span><span class="o">();</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>When <code>#boot</code> is called, the <code>CdiContainer</code> will scan CDI enabled archives for beans and CDI extensions.</p>
+<p><strong>Note</strong>: Booting the container does <i>not</i> automatically start all CDI Contexts!</p>
+<p>Example for starting the application-context:</p>
+<div class="codehilite"><pre><span class="kn">import</span> <span class="nn">org.apache.deltaspike.cdise.api.CdiContainer</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">org.apache.deltaspike.cdise.api.CdiContainerLoader</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">org.apache.deltaspike.cdise.api.ContextControl</span><span class="o">;</span>
+<span class="kn">import</span> <span class="nn">javax.enterprise.context.ApplicationScoped</span><span class="o">;</span>
+
+<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MainApp</span> <span class="o">{</span>
+    <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span>
+
+        <span class="n">CdiContainer</span> <span class="n">cdiContainer</span> <span class="o">=</span> <span class="n">CdiContainerLoader</span><span class="o">.</span><span class="na">getCdiContainer</span><span class="o">();</span>
+        <span class="n">cdiContainer</span><span class="o">.</span><span class="na">boot</span><span class="o">();</span>
+
+        <span class="c1">// Starting the application-context allows to use @ApplicationScoped beans</span>
+        <span class="n">ContextControl</span> <span class="n">contextControl</span> <span class="o">=</span> <span class="n">cdiContainer</span><span class="o">.</span><span class="na">getContextControl</span><span class="o">();</span>
+        <span class="n">contextControl</span><span class="o">.</span><span class="na">startContext</span><span class="o">(</span><span class="n">ApplicationScoped</span><span class="o">.</span><span class="na">class</span><span class="o">);</span>
+
+        <span class="c1">// You can use CDI here</span>
+
+        <span class="n">cdiContainer</span><span class="o">.</span><span class="na">shutdown</span><span class="o">();</span>
+    <span class="o">}</span>
+<span class="o">}</span>
+</pre></div>
+
+
+<p>To resolve a bean of this project, you can use the <code>BeanProvider</code> provided by DeltaSpike.
+The following example shows how to resolve the a bean without qualifiers. It depends on the application if <code>EchoService</code> is a concrete implementation or just an interface. In case of an interface the corresponding implementation will be resolved.
+The resolved bean is a normal CDI bean which means you can use all CDI concepts like <code>@Inject</code> in the class (and you don't need further usages of <code>BeanProvider</code>).</p>
+<div class="codehilite"><pre><span class="n">EchoService</span> <span class="n">echoService</span> <span class="o">=</span> <span class="n">BeanProvider</span><span class="o">.</span><span class="na">getContextualReference</span><span class="o">(</span><span class="n">EchoService</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="kc">false</span><span class="o">);</span>
+</pre></div>
+
+
+<p>Before the application exits, you have to call <code>#shutdown</code> to destroy beans,... in a well-ordered fashion.</p>
+<h1 id="module-overview">Module Overview</h1>
+<p>The core features of DeltaSpike project are packaged under the following different modules. Some of them are mandatory while others are optional.</p>
+<h2 id="core-required">Core (required)</h2>
+<p>Definition : Contain the API and util classes of DeltaSpike project</p>
+<p><a class="btn" href="core.html">View details »</a></p>
+<h2 id="security-optional">Security (optional)</h2>
+<p>Definition : Intercept and check security</p>
+<p><a class="btn" href="security.html">View details »</a></p>
+<h2 id="jpa-optional">JPA (optional)</h2>
+<p>Definition :</p>
+<p><a class="btn" href="jpa.html">View details »</a></p>
+<h2 id="jsf-optional">JSF (optional)</h2>
+<p>Definition :</p>
+<p><a class="btn" href="jsf.html">View details »</a></p>
+<h2 id="container-control-optional">Container Control (optional)</h2>
+<p>Definition :</p>
+<p><a class="btn" href="container-control.html">View details »</a></p>
+<h2 id="bean-validation-optional">Bean Validation (optional)</h2>
+<p>Definition : A module for adding CDI support in Bean Validation.</p>
+<p>Features : Allows a developer to create CDI aware <code>ConstraintValidator</code>s that can use business objects (EJBs, ManagedBeans) to support validation needs.</p>
+<p>*
+<a class="btn" href="bean-validation.html">View details »</a></p>
+<h2 id="servlet-optional">Servlet (optional)</h2>
+<p>Definition : The DeltaSpike Servlet module provides integration with the Java Servlet API.</p>
+<p>Features : </p>
+<ul>
+<li>Injection of common servlet objects.</li>
+<li>Propagation of servlet events to the CDI event bus. </li>
+</ul>
+<p><a class="btn" href="servlet.html">View details »</a></p>
+<h2 id="partial-bean-optional">Partial-Bean (optional)</h2>
+<p><a class="btn" href="partial-bean.html">View details »</a></p>
+<h2 id="data-optional">Data (optional)</h2>
+<p>Definition : The DeltaSpike Data module provides enhanced JPA experience with declarative queries, reducing boilerplate to a minimum.</p>
+<p>Features : </p>
+<ul>
+<li>Derive queries by simple method names or by method annotations defining JPQL, named queries or plain SQL</li>
+<li>Result pagination and sorting</li>
+<li>Auditing of entities</li>
+<li>A simplified alternative to the Criteria API</li>
+<li>Mapping of entities from and to DTOs</li>
+</ul>
+<p><a class="btn" href="data.html">View details »</a></p>
+<h2 id="test-control-optional">Test-Control (optional)</h2>
+<p>Definition : This module allows to write CDI based tests easily.</p>
+<p><a class="btn" href="test-control.html">View details »</a></p>
+<h2 id="scheduler-optional">Scheduler (optional)</h2>
+<p>Definition : This module provides a simple integration with Quartz v2 (per default) or any other scheduler which supports cron-expressions for job-classes.</p>
+<p><a class="btn" href="scheduler.html">View details »</a></p>
+<h1 id="deltaspike-spi">DeltaSpike SPI</h1>
+<p>DeltaSpike Service Provider Interface (SPI)</p>
+<p><a class="btn" href="spi.html">View details »</a></p>
+<h1 id="external">External</h1>
+<h2 id="blogs">Blogs</h2>
+<ul>
+<li><a href="http://os890.blogspot.com/search/label/deltaspike">http://os890.blogspot.com/search/label/deltaspike</a></li>
+</ul>
+<h2 id="add-ons">Add-ons</h2>
+<ul>
+<li><a href="https://github.com/os890/ds-monitoring-addon">Monitoring- and Auditing</a></li>
+<li><a href="https://github.com/os890/ds-spring-bridge-addon">CDI/Spring Bridge</a></li>
+<li><a href="https://github.com/os890/ds-disruptor-addon">Fast events via Disruptor</a></li>
+</ul>
+<h2 id="project-templates">Project Templates</h2>
+<ul>
+<li><a href="https://github.com/os890/javase-cdi-ds-project-template">Java SE + CDI + DS</a></li>
+<li><a href="https://github.com/os890/javaweb-cdi-ds-project-template">JSF + CDI + DS (Servlet-Container)</a></li>
+<li><a href="https://github.com/os890/javaee_cdi_ejb_ds_project_template">EJB + CDI + DS (Module)</a></li>
+<li><a href="https://github.com/os890/javaee_jsf_cdi_ejb_ds_project_template">JSF + EJB + CDI + DS (EE-Server)</a></li>
+</ul>
+<h2 id="examples">Examples</h2>
+<p>See <a href="examples.html#External">External Examples</a></p>
+          </div>
+      </div>
+
+      <hr>
+
+      <footer>
+        <p>Copyright © 2011-2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.</p>
+        <p>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+      </footer>
+
+    </div> <!-- /.container -->
+
+    <!-- Javascript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <!--<script src="./../resources/js/prettyfy.js"></script> -->
+    <script src="./../resources/js/prettyprint.js"></script>
+    <script src="./../resources/js/jquery.js"></script>
+    <script src="./../resources/js/bootstrap-transition.js"></script>
+    <script src="./../resources/js/bootstrap-alert.js"></script>
+    <script src="./../resources/js/bootstrap-modal.js"></script>
+    <script src="./../resources/js/bootstrap-dropdown.js"></script>
+    <script src="./../resources/js/bootstrap-scrollspy.js"></script>
+    <script src="./../resources/js/bootstrap-tab.js"></script>
+    <script src="./../resources/js/bootstrap-tooltip.js"></script>
+    <script src="./../resources/js/bootstrap-popover.js"></script>
+    <script src="./../resources/js/bootstrap-button.js"></script>
+    <script src="./../resources/js/bootstrap-collapse.js"></script>
+    <script src="./../resources/js/bootstrap-carousel.js"></script>
+    <script src="./../resources/js/bootstrap-typeahead.js"></script>
+</body>
+</html>

Added: websites/staging/deltaspike/trunk/content/retired/exceptions.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/retired/exceptions.html (added)
+++ websites/staging/deltaspike/trunk/content/retired/exceptions.html Wed Sep 17 12:22:52 2014
@@ -0,0 +1,379 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta name="description" content="deltaspike-generate-pages">
+    <meta name="author" content="chm">
+
+    <title>Apache DeltaSpike - Exception Handling</title>
+
+    
+
+    
+    <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file to you under the Apache License, Version 2.0 (the &quot;License&quot;); you may not use this file except in compliance with the License.  You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License. -->
+
+    <!-- Styles -->
+    
+    <link href="./../resources/css/bootstrap.css" rel="stylesheet">    
+    <!--<link href="./../resources/css/prettify.css" rel="stylesheet" /> -->
+    <link href="./../resources/css/codehilite.css" rel="stylesheet" />
+    <link href="./../resources/css/bootstrap-responsive.css" rel="stylesheet">
+    <style type="text/css">
+        body {
+            padding-top: 60px;
+            padding-bottom: 40px;
+        }
+    </style>
+	<script type="text/javascript">
+
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-36103647-1']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+</head>
+
+<body>
+    <div class="navbar navbar-fixed-top">
+        <div class="navbar-inner">
+            <div class="container">
+                <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </a>
+                <a class="brand logocolor" href="/index.html">Apache DeltaSpike</a>
+                <div class="nav-collapse">
+                    <ul class="nav">
+                        <li class="active"><a href="./../index.html">Home</a></li>
+                        <li><a href="./../documentation.html">Documentation</a></li>
+                        <li><a href="./../source.html">Source</a></li>
+                        <li><a href="./../download.html">Download</a></li>
+                        <li><a href="./../community.html">Community</a></li>
+                        <!-- <li><a href="./../support.html">Support</a></li>  -->
+                        <li><a href="./../news.html">News</a></li>
+                        <li><a href="./../migration-guide.html">Migration</a></li>
+                    </ul>
+                </div><!--/.nav-collapse -->
+                <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
+                    <input value="deltaspike.apache.org" name="sitesearch" type="hidden"/>
+                    <input class="search-query" name="q" id="query" type="text" />
+                </form>
+            </div>
+        </div>
+    </div>
+
+    <div class="container">
+      <div class="row">
+          <div class="span12">
+              <div class="page-title">
+                <h1>Exception Handling</h1>
+              </div>
+              <div class="toc">
+<ul>
+<li><a href="#introduction">Introduction</a><ul>
+<li><a href="#exception-handling-usage">Exception Handling - Usage</a><ul>
+<li><a href="#eventing-into-the-exception-handling-framework">Eventing into the exception handling framework</a></li>
+</ul>
+</li>
+<li><a href="#exception-handlers">Exception handlers</a><ul>
+<li><a href="#exception-handler-annotations">Exception handler annotations</a><ul>
+<li><a href="#exceptionhandler">{{@ExceptionHandler}}</a></li>
+<li><a href="#handles-and-beforehandles">{{@Handles}} and {{@BeforeHandles}}</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="#exception-chain-processing">Exception Chain Processing</a></li>
+<li><a href="#handler-ordinal">Handler ordinal</a></li>
+<li><a href="#apis-for-exception-information-and-flow-control">APIs for exception information and flow control</a><ul>
+<li><a href="#exceptionevent">ExceptionEvent</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<hr />
+<h1 id="introduction">Introduction</h1>
+<p>Exception handling in DeltaSpike is based around the CDI eventing model. While
+the implementation of exception handlers may not be the same as a CDI event, and
+the programming model is not exactly the same as specifying a CDI event /
+observer, the concepts are very similar. DeltaSpike makes use of events for many of
+its features. Eventing is actually the only way to start using DeltaSpike's
+exception handling.</p>
+<p>This event is fired either by the application or a DeltaSpike exception handling integration. DeltaSpike then hands the exception off to a
+chain of registered handlers, which deal with the exception appropriately. The use of CDI events to connect
+exceptions to handlers makes this strategy of exception handling non-invasive and minimally coupled to the exception handling
+infrastructure.</p>
+<p>The exception handling process remains mostly transparent to the developer. In most cases, you register an
+exception handler simply by annotating a handler method. Alternatively, you can handle an exception
+programmatically, just as you would observe an event in CDI.</p>
+<h2 id="exception-handling-usage">Exception Handling - Usage</h2>
+<h3 id="eventing-into-the-exception-handling-framework">Eventing into the exception handling framework</h3>
+<p>The entire exception handling process starts with an event. This helps keep your application minimally coupled to
+DeltaSpike, but also allows for further extension.  Exception handling in DeltaSpike is all about letting you take care of
+exceptions the way that makes the most sense for your application. Events provide this delicate balance. Firing the event
+is the main way of starting the exception handling proccess.</p>
+<p>Manually firing an event to use DeltaSpike's exception handling is primarily used in your own try/catch blocks. It's very
+painless and also easy. Let's examine a sample that might exist inside of a simple business logic lookup
+into an inventory database:</p>
+<div class="codehilite"><pre><span class="n">public</span> <span class="n">class</span> <span class="n">InventoryActions</span> <span class="p">{</span>
+  <span class="p">@</span><span class="n">PersistenceContext</span> <span class="n">private</span> <span class="n">EntityManager</span> <span class="n">em</span><span class="p">;</span>
+  <span class="p">@</span><span class="n">Inject</span> <span class="n">private</span> <span class="n">Event</span><span class="o">&lt;</span><span class="n">ExceptionToCatchEvent</span><span class="o">&gt;</span> <span class="n">catchEvent</span><span class="p">;</span>
+
+  <span class="n">public</span> <span class="n">Integer</span> <span class="n">queryForItem</span><span class="p">(</span><span class="n">Item</span> <span class="n">item</span><span class="p">)</span> <span class="p">{</span>
+    <span class="k">try</span> <span class="p">{</span>
+      <span class="n">Query</span> <span class="n">q</span> <span class="p">=</span> <span class="n">em</span><span class="p">.</span><span class="n">createQuery</span><span class="p">(</span>&quot;<span class="n">SELECT</span> <span class="nb">i</span> <span class="n">from</span> <span class="n">Item</span> <span class="nb">i</span> <span class="n">where</span> <span class="nb">i</span><span class="p">.</span><span class="n">id</span> <span class="p">=</span> <span class="p">:</span><span class="n">id</span>&quot;<span class="p">);</span>
+      <span class="n">q</span><span class="p">.</span><span class="n">setParameter</span><span class="p">(</span>&quot;<span class="n">id</span>&quot;<span class="p">,</span> <span class="n">item</span><span class="p">.</span><span class="n">getId</span><span class="p">());</span>
+      <span class="k">return</span> <span class="n">q</span><span class="p">.</span><span class="n">getSingleResult</span><span class="p">();</span>
+   <span class="p">}</span> <span class="k">catch</span> <span class="p">(</span><span class="n">PersistenceException</span> <span class="n">e</span><span class="p">)</span> <span class="p">{</span>
+     <span class="n">catchEvent</span><span class="p">.</span><span class="n">fire</span><span class="p">(</span><span class="n">new</span> <span class="n">ExceptionToCatchEvent</span><span class="p">(</span><span class="n">e</span><span class="p">));</span>
+   <span class="p">}</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>The {{Event}} of generic type {{ExceptionToCatchEvent}} is injected into
+your class for use later within a try/catch block.</p>
+<p>The event is fired with a new instance of {{ExceptionToCatchEvent}} constructed with the
+exception to be handled.</p>
+<h2 id="exception-handlers">Exception handlers</h2>
+<p>As an application developer (i.e., an end user of DeltaSpike's exception handling), you'll be focused on writing exception handlers. An
+exception handler is a method on a CDI bean that is invoked to handle a specific type of exception. Within that
+method, you can implement any logic necessary to handle or respond to the exception.</p>
+<div class="codehilite"><pre><span class="n">If</span> <span class="n">there</span> <span class="n">are</span> <span class="n">no</span> <span class="n">exception</span> <span class="n">handlers</span> <span class="k">for</span> <span class="n">an</span> <span class="n">exception</span><span class="p">,</span> <span class="n">the</span> <span class="n">exception</span> <span class="n">is</span> <span class="n">rethrown</span><span class="p">.</span>
+</pre></div>
+
+
+<p>Given that exception handler beans are CDI beans, they can make use of dependency injection, be scoped, have
+interceptors or decorators and any other functionality available to CDI beans.</p>
+<p>Exception handler methods are designed to follow the syntax and semantics of CDI observers, with some special
+purpose exceptions explained in this guide. The advantage of this design is that exception handlers will be
+immediately familiar to you if you are studying or well-versed in CDI.</p>
+<p>In this and subsequent sections, you'll learn how to define an exception handler, explore how and when it gets invoked, modify
+an exception and a stack trace, and even extend exception handling further through events that are fired during the handling
+workflow.  We'll begin by covering the two annotations that are used to declare an exception handler,
+{{@ExceptionHandler}} and {{@Handles}}, and {{@BeforeHandles}} to create a callback before the handler is called.</p>
+<h3 id="exception-handler-annotations">Exception handler annotations</h3>
+<p>Exception handlers are contained within exception handler beans, which are CDI beans annotated with
+{{@ExceptionHandler}}. Exception handlers are methods which have a parameter which is an
+instance of {{ExceptionEvent<T extends Throwable>}} annotated with the
+{{@Handles}} annotation.</p>
+<h4 id="exceptionhandler">{{@ExceptionHandler}}</h4>
+<p>The {{@ExceptionHandler}} annotation is simply a marker annotation that instructs the DeltaSpike
+exception handling CDI extension to scan the bean for handler methods.</p>
+<p>Let's designate a CDI bean as an exception handler by annotating it with {{@ExceptionHandler}}.</p>
+<div class="codehilite"><pre><span class="p">@</span><span class="n">ExceptionHandler</span>
+<span class="n">public</span> <span class="n">class</span> <span class="n">MyHandlers</span> <span class="p">{}</span>
+</pre></div>
+
+
+<p>That's all there is to it. Now we can begin defining exception handling methods on this bean.</p>
+<h4 id="handles-and-beforehandles">{{@Handles}} and {{@BeforeHandles}}</h4>
+<p>{{@Handles}} is a method parameter annotation that designates a method as an exception
+handler. Exception handler methods are registered on beans annotated with
+{{@ExceptionHandler}}. DeltaSpike will discover all such methods at deployment time.</p>
+<p>Let's look at an example. The following method is invoked for every exception that DeltaSpike processes and
+prints the exception message to stdout. ({{Throwable}} is the base exception type in Java and
+thus represents all exceptions).</p>
+<div class="codehilite"><pre><span class="p">@</span><span class="n">ExceptionHandler</span>
+<span class="n">public</span> <span class="n">class</span> <span class="n">MyHandlers</span>
+<span class="p">{</span>
+   <span class="n">void</span> <span class="n">printExceptions</span><span class="p">(@</span><span class="n">Handles</span> <span class="n">ExceptionEvent</span><span class="o">&lt;</span><span class="n">Throwable</span><span class="o">&gt;</span> <span class="n">evt</span><span class="p">)</span>
+   <span class="p">{</span>
+      <span class="n">System</span><span class="p">.</span><span class="n">out</span><span class="p">.</span><span class="n">println</span><span class="p">(</span>&quot;<span class="n">Something</span> <span class="n">bad</span> <span class="n">happened</span><span class="p">:</span> &quot; <span class="o">+</span>
+            <span class="n">evt</span><span class="p">.</span><span class="n">getException</span><span class="p">().</span><span class="n">getMessage</span><span class="p">());</span>
+      <span class="n">evt</span><span class="p">.</span><span class="n">handleAndContinue</span><span class="p">();</span>
+   <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>The {{@Handles}} annotation on the first parameter designates this method as an
+exception handler (though it is not required to be the first parameter). This parameter must be
+of type {{ExceptionEvent<T extends Throwable>}}, otherwise it's detected as
+a definition error. The type parameter designates which exception the method should handle. This
+method is notified of all exceptions (requested by the base exception type
+{{Throwable}}).</p>
+<p>The {{ExceptionEvent}} instance provides access to information about the exception
+and can be used to control exception handling flow. In this case, it's used to read the current
+exception being handled in the exception chain, as returned by
+{{getException()}}.</p>
+<p>This handler does not modify the invocation of subsequent handlers, as designated by invoking
+{{handleAndContinue()}} on {{ExceptionEvent}}. As this is the default behavior,
+this line could be omitted.</p>
+<p>The {{@Handles}} annotation must be placed on a parameter of the method, which must
+be of type {{ExceptionEvent<T extends Throwable>}}. Handler methods are similar to CDI
+observers and, as such, follow the same principles and guidelines as observers (such as invocation,
+injection of parameters, qualifiers, etc) with the following exceptions:</p>
+<ul>
+<li>a parameter of a handler method must be a {{ExceptionEvent}}</li>
+<li>handlers are ordered before they are invoked (invocation order of observers is non-deterministic)</li>
+<li>any handler can prevent subsequent handlers from being invoked</li>
+</ul>
+<p>In addition to designating a method as exception handler, the {{@Handles}}
+annotation specifies an {{ordinal}} about when the method should be invoked relative to other
+handler methods of the same type. Handlers with higher ordinal are
+invoked before handlers with a lower ordinal that handle the same exception type. The default
+ordinal (if not specified) is 0.</p>
+<p>The {{@BeforeHandles}} designates a method as a callback to happen before handlers are called.</p>
+<p>Let's take a look at more sophisticated example that uses all the features of handlers to log all
+exceptions.</p>
+<div class="codehilite"><pre><span class="p">@</span><span class="n">ExceptionHandler</span>
+<span class="n">public</span> <span class="n">class</span> <span class="n">MyHandlers</span>
+<span class="p">{</span>
+   <span class="n">void</span> <span class="n">logExceptions</span><span class="p">(@</span><span class="n">BeforeHandles</span> <span class="p">@</span><span class="n">WebRequest</span> <span class="n">ExceptionEvent</span><span class="o">&lt;</span><span class="n">Throwable</span><span class="o">&gt;</span> <span class="n">evt</span><span class="p">,</span>
+         <span class="n">Logger</span> <span class="nb">log</span><span class="p">)</span>
+   <span class="p">{</span>
+      <span class="nb">log</span><span class="p">.</span><span class="n">warn</span><span class="p">(</span>&quot;<span class="n">Something</span> <span class="n">bad</span> <span class="n">happened</span><span class="p">:</span> &quot; <span class="o">+</span> <span class="n">evt</span><span class="p">.</span><span class="n">getException</span><span class="p">().</span><span class="n">getMessage</span><span class="p">());</span>
+   <span class="p">}</span>
+
+   <span class="n">void</span> <span class="n">logExceptions</span><span class="p">(@</span><span class="n">Handles</span> <span class="p">@</span><span class="n">WebRequest</span> <span class="n">ExceptionEvent</span><span class="o">&lt;</span><span class="n">Throwable</span><span class="o">&gt;</span> <span class="n">evt</span><span class="p">,</span>
+         <span class="n">Logger</span> <span class="nb">log</span><span class="p">)</span>
+   <span class="p">{</span>
+      <span class="o">//</span> <span class="n">possibly</span> <span class="n">send</span> <span class="n">a</span> <span class="n">HTTP</span> <span class="n">Error</span> <span class="n">code</span>
+   <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>This handler has a default ordinal of 0 (the default value of the ordinal attribute on
+{{@Handles}}).</p>
+<p>This handler is qualified with {{@WebRequest}}. When DeltaSpike calculates the handler
+chain, it filters handlers based on the exception type and qualifiers. This handler will only be
+invoked for exceptions passed to DeltaSpike that carry the {{@WebRequest}} qualifier.
+We'll assume this qualifier distinguishes a web page request from a REST request.</p>
+<p>Any additional parameters of a handler method are treated as injection points. These parameters are
+injected into the handler when it is invoked by DeltaSpike. In this case, we are injecting a
+{{Logger}} bean that must be defined within the application (or by an extension).</p>
+<p>A handler is guaranteed to only be invoked once per exception (automatically muted), unless it re-enables
+itself by invoking the {{unmute()}} method on the {{ExceptionEvent}} instance.</p>
+<p>Handlers must not throw checked exceptions, and should avoid throwing unchecked exceptions. Should a handler
+throw an unchecked exception it will propagate up the stack and all handling done via DeltaSpike will cease. Any
+exception that was being handled will be lost.</p>
+<h2 id="exception-chain-processing">Exception Chain Processing</h2>
+<p>When an exception is thrown, chances are it's nested (wrapped) inside other exceptions. (If you've ever
+examined a server log, you'll appreciate this fact). The collection of exceptions in its entirety is termed an
+exception chain.</p>
+<p>The outermost exception of an exception chain (e.g., EJBException, ServletException, etc) is probably of
+little use to exception handlers. That's why DeltaSpike doesn't simply pass the exception chain directly to
+the exception handlers. Instead, it intelligently unwraps the chain and treats the root exception cause
+as the primary exception.</p>
+<p>The first exception handlers to be invoked by DeltaSpike are those that match the type of root cause. Thus, instead
+of seeing a vague {{EJBException}}, your handlers will instead see an meaningful exception such
+as {{ConstraintViolationException}}.
+<em>This feature, alone, makes DeltaSpike's exception handling a worthwhile tool.</em></p>
+<p>DeltaSpike continues to work through the exception chain, notifying handlers of each exception in the stack,
+until a handler flags the exception as handled or the whole exception chain has been iterated. Once an exception is marked as handled, DeltaSpike stops processing
+the exception chain. If a handler instructs DeltaSpike to rethrow the exception (by invoking
+{{ExceptionEvent#throwOriginal()}}, DeltaSpike will rethrow the exception outside the DeltaSpike exception handling
+infrastructure. Otherwise, it simply returns flow control to the caller.</p>
+<p>Consider a exception chain containing the following nested causes (from outer cause to root cause):</p>
+<ul>
+<li>EJBException</li>
+<li>PersistenceException</li>
+<li>SQLGrammarException</li>
+</ul>
+<p>DeltaSpike will unwrap this exception and notify handlers in the following order:</p>
+<ul>
+<li>SQLGrammarException</li>
+<li>PersistenceException</li>
+<li>EJBException</li>
+</ul>
+<p>If there's a handler for {{PersistenceException}}, it will likely prevent the handlers for
+{{EJBException}} from being invoked, which is a good thing since what useful information can
+really be obtained from {{EJBException}}?</p>
+<h2 id="handler-ordinal">Handler ordinal</h2>
+<p>When DeltaSpike finds more than one handler for the same exception type, it orders the handlers by ordinal.
+Handlers with higher ordinal are executed before handlers with a lower ordinal. If DeltaSpike detects two
+handlers for the same type with the same ordinal, the order is non-deterministic.</p>
+<p>Let's define two handlers with different ordinals:</p>
+<div class="codehilite"><pre><span class="n">void</span> <span class="n">handleIOExceptionFirst</span><span class="p">(@</span><span class="n">Handles</span><span class="p">(</span><span class="n">ordinal</span> <span class="p">=</span> 100<span class="p">)</span> <span class="n">ExceptionEvent</span><span class="o">&lt;</span><span class="n">IOException</span><span class="o">&gt;</span> <span class="n">evt</span><span class="p">)</span>
+<span class="p">{</span>
+   <span class="n">System</span><span class="p">.</span><span class="n">out</span><span class="p">.</span><span class="n">println</span><span class="p">(</span>&quot;<span class="n">Invoked</span> <span class="n">first</span>&quot;<span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">void</span> <span class="n">handleIOExceptionSecond</span><span class="p">(@</span><span class="n">Handles</span> <span class="n">ExceptionEvent</span><span class="o">&lt;</span><span class="n">IOException</span><span class="o">&gt;</span> <span class="n">evt</span><span class="p">)</span>
+<span class="p">{</span>
+   <span class="n">System</span><span class="p">.</span><span class="n">out</span><span class="p">.</span><span class="n">println</span><span class="p">(</span>&quot;<span class="n">Invoked</span> <span class="n">second</span>&quot;<span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>The first method is invoked first since it has a higher ordinal (100) than the second method, which has
+the default ordinal (0).</p>
+<p>To summarize, here's how DeltaSpike determines the order of handlers to invoke (until a handler marks exception as
+handled):</p>
+<div class="codehilite"><pre><span class="c"># Unwrap exception stack</span>
+<span class="c"># Begin processing root cause</span>
+<span class="c"># Invoke any callback methods annotated with @BeforeHandles for the closest type to the exception</span>
+<span class="c"># Find handler for the closest type to the exception</span>
+<span class="c"># If multiple handlers for same type, invoke handlers with higher ordinal first</span>
+<span class="c"># Continue above steps for each exception in stack</span>
+</pre></div>
+
+
+<h2 id="apis-for-exception-information-and-flow-control">APIs for exception information and flow control</h2>
+<p>There are two APIs provided by DeltaSpike that should be familiar to application developers:</p>
+<ul>
+<li>{{ExceptionEvent}}</li>
+<li>{{ExceptionStackEvent}}</li>
+</ul>
+<h3 id="exceptionevent">ExceptionEvent</h3>
+<p>In addition to providing information about the exception being handled, the
+{{ExceptionEvent}} object contains methods to control the exception handling process, such
+as rethrowing the exception, aborting the handler chain or unmuting the current handler.
+Five methods exist on the {{ExceptionEvent}} object to give flow control to the handler</p>
+<ul>
+<li>{{abort()}} - terminate all handling immediately after this handler, does not mark the exception as handled, does not re-throw the exception.</li>
+<li>{{throwOriginal()}} - continues through all handlers, but once all handlers have been called (assuming another handler does not call abort() or handled()) the initial exception passed to DeltaSpike is rethrown. Does not mark the exception as handled.</li>
+<li>{{handled()}} - marks the exception as handled and terminates further handling.</li>
+<li>{{handleAndContinue()}} - default. Marks the exception as handled and proceeds with the rest of the handlers.</li>
+<li>{{skipCause()}} - marks the exception as handled, but proceeds to the next cause in the cause container, without calling other handlers for the current cause.</li>
+<li>{{rethrow(Throwable)}} - Throw a new exception after this handler is invoked</li>
+</ul>
+<p>Once a handler is invoked it is muted, meaning it will not be run again for that exception chain,
+unless it's explicitly marked as unmuted via the {{unmute()}} method on
+{{ExceptionEvent}}.</p>
+          </div>
+      </div>
+
+      <hr>
+
+      <footer>
+        <p>Copyright © 2011-2014 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.</p>
+        <p>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+      </footer>
+
+    </div> <!-- /.container -->
+
+    <!-- Javascript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <!--<script src="./../resources/js/prettyfy.js"></script> -->
+    <script src="./../resources/js/prettyprint.js"></script>
+    <script src="./../resources/js/jquery.js"></script>
+    <script src="./../resources/js/bootstrap-transition.js"></script>
+    <script src="./../resources/js/bootstrap-alert.js"></script>
+    <script src="./../resources/js/bootstrap-modal.js"></script>
+    <script src="./../resources/js/bootstrap-dropdown.js"></script>
+    <script src="./../resources/js/bootstrap-scrollspy.js"></script>
+    <script src="./../resources/js/bootstrap-tab.js"></script>
+    <script src="./../resources/js/bootstrap-tooltip.js"></script>
+    <script src="./../resources/js/bootstrap-popover.js"></script>
+    <script src="./../resources/js/bootstrap-button.js"></script>
+    <script src="./../resources/js/bootstrap-collapse.js"></script>
+    <script src="./../resources/js/bootstrap-carousel.js"></script>
+    <script src="./../resources/js/bootstrap-typeahead.js"></script>
+</body>
+</html>



Mime
View raw message