Added: 
websites/staging/deltaspike/trunk/content/staging/documentation/overview.html
==============================================================================
--- 
websites/staging/deltaspike/trunk/content/staging/documentation/overview.html 
(added)
+++ 
websites/staging/deltaspike/trunk/content/staging/documentation/overview.html 
Wed Nov 26 20:22:01 2014
@@ -0,0 +1,365 @@
+<!DOCTYPE html>
+<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>Overview of DeltaSpike</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="https://deltaspike.apache.org/resources/css/bootstrap.css"; 
rel="stylesheet">
+<link 
href="https://deltaspike.apache.org/resources/css/bootstrap-responsive.css"; 
rel="stylesheet">
+
+<style type="text/css">
+/* Stylesheet for CodeRay to match GitHub theme | MIT License | 
http://foundation.zurb.com */
+/*pre.CodeRay {background-color:#f7f7f8;}*/
+.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
+.CodeRay 
span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
+.CodeRay .line-numbers strong{font-weight: normal}
+table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
+table.CodeRay td{vertical-align: top}
+table.CodeRay td.line-numbers{text-align:right}
+table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
+table.CodeRay td.code{padding:0 0 0 .5em}
+table.CodeRay td.code>pre{padding:0}
+.CodeRay .debug{color:#fff !important;background:#000080 !important}
+.CodeRay .annotation{color:#007}
+.CodeRay .attribute-name{color:#000080}
+.CodeRay .attribute-value{color:#700}
+.CodeRay .binary{color:#509}
+.CodeRay .comment{color:#998;font-style:italic}
+.CodeRay .char{color:#04d}
+.CodeRay .char .content{color:#04d}
+.CodeRay .char .delimiter{color:#039}
+.CodeRay .class{color:#458;font-weight:bold}
+.CodeRay .complex{color:#a08}
+.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
+.CodeRay .color{color:#099}
+.CodeRay .class-variable{color:#369}
+.CodeRay .decorator{color:#b0b}
+.CodeRay .definition{color:#099}
+.CodeRay .delimiter{color:#000}
+.CodeRay .doc{color:#970}
+.CodeRay .doctype{color:#34b}
+.CodeRay .doc-string{color:#d42}
+.CodeRay .escape{color:#666}
+.CodeRay .entity{color:#800}
+.CodeRay .error{color:#808}
+.CodeRay .exception{color:inherit}
+.CodeRay .filename{color:#099}
+.CodeRay .function{color:#900;font-weight:bold}
+.CodeRay .global-variable{color:#008080}
+.CodeRay .hex{color:#058}
+.CodeRay .integer,.CodeRay .float{color:#099}
+.CodeRay .include{color:#555}
+.CodeRay .inline{color:#00}
+.CodeRay .inline .inline{background:#ccc}
+.CodeRay .inline .inline .inline{background:#bbb}
+.CodeRay .inline .inline-delimiter{color:#d14}
+.CodeRay .inline-delimiter{color:#d14}
+.CodeRay .important{color:#555;font-weight:bold}
+.CodeRay .interpreted{color:#b2b}
+.CodeRay .instance-variable{color:#008080}
+.CodeRay .label{color:#970}
+.CodeRay .local-variable{color:#963}
+.CodeRay .octal{color:#40e}
+.CodeRay .predefined{color:#369}
+.CodeRay .preprocessor{color:#579}
+.CodeRay .pseudo-class{color:#555}
+.CodeRay .directive{font-weight:bold}
+.CodeRay .type{font-weight:bold}
+.CodeRay .predefined-type{color:inherit}
+.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
+.CodeRay .key{color:#808}
+.CodeRay .key .delimiter{color:#606}
+.CodeRay .key .char{color:#80f}
+.CodeRay .value{color:#088}
+.CodeRay .regexp .delimiter{color:#808}
+.CodeRay .regexp .content{color:#808}
+.CodeRay .regexp .modifier{color:#808}
+.CodeRay .regexp .char{color:#d14}
+.CodeRay .regexp .function{color:#404;font-weight:bold}
+.CodeRay .string{color:#d20}
+.CodeRay .string .string .string{background:#ffd0d0}
+.CodeRay .string .content{color:#d14}
+.CodeRay .string .char{color:#d14}
+.CodeRay .string .delimiter{color:#d14}
+.CodeRay .shell{color:#d14}
+.CodeRay .shell .delimiter{color:#d14}
+.CodeRay .symbol{color:#990073}
+.CodeRay .symbol .content{color:#a60}
+.CodeRay .symbol .delimiter{color:#630}
+.CodeRay .tag{color:#008080}
+.CodeRay .tag-special{color:#d70}
+.CodeRay .variable{color:#036}
+.CodeRay .insert{background:#afa}
+.CodeRay .delete{background:#faa}
+.CodeRay .change{color:#aaf;background:#007}
+.CodeRay .head{color:#f8f;background:#505}
+.CodeRay .insert .insert{color:#080}
+.CodeRay .delete .delete{color:#800}
+.CodeRay .change .change{color:#66f}
+.CodeRay .head .head{color:#f4f}
+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="http://deltaspike.apache.org/index.html";>Apache
+                                       DeltaSpike</a>
+                               <div class="nav-collapse">
+                                       <ul class="nav">
+                                               <li class="active"><a
+                                                       
href="http://deltaspike.apache.org/index.html";>Home</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/documentation";>Documentation</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/javadoc.html";>Javadoc</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/documentation/source.html";>Source</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/download.html";>Download</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/community.html";>Community</a></li>
+                                               <!-- <li><a 
href="./support.html">Support</a></li>  -->
+                                               <li><a 
href="http://deltaspike.apache.org/news.html";>News</a></li>
+                                               <li><a
+                                                       
href="http://deltaspike.apache.org/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>Overview of DeltaSpike</h1>
+                </div>
+
+                               <div id="toc" class="toc">
+                               <ul class="sectlevel1">
+<li><a href="#_background">Background</a>
+<ul class="sectlevel2">
+<li><a href="#_cdi">CDI</a></li>
+<li><a href="#_portable_cdi_extensions">Portable CDI Extensions</a></li>
+</ul>
+</li>
+<li><a href="#_about_apache_deltaspike">About Apache DeltaSpike</a></li>
+<li><a href="#_features_of_deltaspike">Features of DeltaSpike</a>
+<ul class="sectlevel2">
+<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>
+<li><a href="#_next">Next</a></li>
+</ul>
+                               <hr>    
+                               
+                               <div class="sect1">
+<h2 id="_background">Background</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_cdi">CDI</h3>
+<div class="paragraph">
+<p>Java Contexts and Dependency Injection for the Java EE platform (<a 
href="https://jcp.org/en/jsr/detail?id=299";>JSR 299</a>), abbreviated to CDI, 
was introduced as part of Java EE6. The core features of CDI are as follows:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>improved stateful object lifecycles with an additional context named 
<em>Conversation</em> that encompasses a series of requests within one session 
and lifecycle management by the container according to well-defined contexts</p>
+</li>
+<li>
+<p>dependency injection conducted in a type-safe manner, with type checking 
conducted at compilation time so errors are exposed earlier and debugging is 
easier</p>
+</li>
+<li>
+<p>event notification facility for object interaction</p>
+</li>
+<li>
+<p>a better approach for interceptors with annotations binding interceptors to 
objects and with a new interceptor named <em>decorator</em> that knows about 
individual bean attributes through inheritence and is more appropriate for use 
in solving business problems</p>
+</li>
+<li>
+<p>a Service Provider Interface (SPI) for developing portable extensions to 
the CDI container</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>CDI is a <a href="https://jcp.org/en/home/index";>Java Community Process 
(JCP)</a> standard. All Java EE6 compliant application servers must provide 
support for CDI. <a href="http://weld.cdi-spec.org/";>JBoss Weld</a> is a 
reference implementation of the CDI specification and other spec-compliant 
implementations exist such as <a href="http://openwebbeans.apache.org/";>Apache 
OpenWebBeans (OWB)</a>. While CDI is a Java EE6 essential, CDI can also be used 
in Java SE environments with the aid of standalone CDI implementations.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_portable_cdi_extensions">Portable CDI Extensions</h3>
+<div class="paragraph">
+<p>The CDI Service Provider Interface (SPI) is exposed to enable extension of 
the CDI feature set by third-parties. Portable CDI extensions extend CDI 
implementations and improve existing Java EE APIs by enabling integration of 
different technologies.</p>
+</div>
+<div class="paragraph">
+<p>As set out in the CDI specification, a portable CDI extenstion may 
integrate with a CDI container as follows:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>providing its own beans, interceptors and decorators to the container</p>
+</li>
+<li>
+<p>injecting dependencies into its own objects using the dependency injection 
service</p>
+</li>
+<li>
+<p>providing a context implementation for a custom scope</p>
+</li>
+<li>
+<p>augmenting or overriding the annotation-based metadata with metadata from 
some other source</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>As indicated by the name, <em>portable</em> CDI extensions can be used with 
any spec-compliant CDI implementation.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_about_apache_deltaspike">About Apache DeltaSpike</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Apache DeltaSpike is a collection of portable CDI extensions. These 
ready-to-use modules enable you to integrate tested API extensions into your 
Java projects.</p>
+</div>
+<div class="paragraph">
+<p>DeltaSpike consists of a core module and a number of optional modules for 
providing additional enterprise functionality to your applications. The modules 
include features for enhanced security with type-safe control over method 
invocations, integration with schedulers, injection of CDI objects into 
validators, and a transactional context and scope. DeltaSpike also provides 
boot and shutdown control over CDI containers in Java SE applications.</p>
+</div>
+<div class="paragraph">
+<p>As a CDI extension, DeltaSpike must be used in conjunction with a CDI 
implementation and supports both JBoss Weld and Apache OpenWebBeans. DeltaSpike 
has been tested on a range of application servers and containers that utilize 
these CDI implementations, such as Apache TomEE, JBoss AS, WildFly, Oracle 
GlassFish, and Jetty.</p>
+</div>
+<div class="paragraph">
+<p>In addition to the portable CDI extension modules, DeltaSpike provides a 
number of examples to show you how to use and get the most from this 
technology.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_features_of_deltaspike">Features of DeltaSpike</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_java_ee_7_without_java_ee_7">Java EE 7 without Java EE 7!</h3>
+<div class="paragraph">
+<p><strong>Transactional support for non-EJB beans:</strong> The Transactional 
Interceptor in DeltaSpike paved the way for @Transactional in Java EE 7.</p>
+</div>
+<div class="paragraph">
+<p><strong>Injectable Servlet objects:</strong> Allows the developer to inject 
CDI beans on Servlets on Java EE 6/CDI 1.0 environments</p>
+</div>
+<div class="paragraph">
+<p><strong>Injectable resources:</strong> Configuration, resource 
bundles,&#8230;&#8203; are easy to inject when using CDI and Apache 
DeltaSpike.</p>
+</div>
+<div class="paragraph">
+<p><strong>@Exclude annotation:</strong> it&#8217;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&#8217;t use @Vetoed or a veto based 
on project-stages or expressions is needed.</p>
+</div>
+<div class="paragraph">
+<p><strong>Scheduling tasks</strong>: Async processes in a non Java EE 7 
environment.</p>
+</div>
+<div class="paragraph">
+<p><strong>Bean Validation integration:</strong> Allows to inject CDI beans 
and EJB in to Constraint-Validators.</p>
+</div>
+<div class="paragraph">
+<p><strong>BeanProvider:</strong> Access the BeanManager and CDI beans even in 
non managed classes like JPA-2.0 EntityListeners or Spring Beans.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_jsf_improvements">JSF Improvements</h3>
+<div class="paragraph">
+<p><strong>Multi-window handling:</strong> Allows to manage logical windows 
for batches,&#8230;&#8203; or in case of JSF it offers proper separation of 
browser-tabs.</p>
+</div>
+<div class="paragraph">
+<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>
+</div>
+<div class="paragraph">
+<p><strong>View-Controller:</strong> Based on type-safe view-configs 
view-controller annotations provide a type-safe alternative to 
standard-tags.</p>
+</div>
+<div class="paragraph">
+<p><strong>Injection on Converters and Validators:</strong> Allows to inject 
CDI beans and EJB in to JSF Converters and Validators.</p>
+</div>
+<div class="paragraph">
+<p><strong>JSF event broadcasting to CDI:</strong> Allows CDI to be notified 
about JSF events</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_productivity_improvements">Productivity Improvements</h3>
+<div class="paragraph">
+<p><strong>Security based on annotations:</strong> The foundation for building 
a robust, capable and non invasive security solution.</p>
+</div>
+<div class="paragraph">
+<p><strong>New CDI scopes:</strong> TransactionScoped, WindowScoped, 
ViewScoped, ViewAccess scope, Grouped conversion scope</p>
+</div>
+<div class="paragraph">
+<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>
+</div>
+<div class="paragraph">
+<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>
+</div>
+<div class="paragraph">
+<p><strong>Decoupled Exception handling:</strong> Allows to do exception 
handling in one location similar to CDI Observers.</p>
+</div>
+<div class="paragraph">
+<p><strong>JMX integration:</strong> Any CDI bean can be exposed via JMX 
easily with one annotation.</p>
+</div>
+<div class="paragraph">
+<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>
+</div>
+<div class="paragraph">
+<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>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_next">Next</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>For instructions on how to start using DeltaSpike, see <a 
href="configure.html">Configure DeltaSpike in Your Projects</a>.</p>
+</div>
+</div>
+</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 -->
+
+</body>
+</html>
\ No newline at end of file

Added: 
websites/staging/deltaspike/trunk/content/staging/documentation/partial-bean.html
==============================================================================
--- 
websites/staging/deltaspike/trunk/content/staging/documentation/partial-bean.html
 (added)
+++ 
websites/staging/deltaspike/trunk/content/staging/documentation/partial-bean.html
 Wed Nov 26 20:22:01 2014
@@ -0,0 +1,237 @@
+<!DOCTYPE html>
+<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>Partial-Bean</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="https://deltaspike.apache.org/resources/css/bootstrap.css"; 
rel="stylesheet">
+<link 
href="https://deltaspike.apache.org/resources/css/bootstrap-responsive.css"; 
rel="stylesheet">
+
+<style type="text/css">
+/* Stylesheet for CodeRay to match GitHub theme | MIT License | 
http://foundation.zurb.com */
+/*pre.CodeRay {background-color:#f7f7f8;}*/
+.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
+.CodeRay 
span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
+.CodeRay .line-numbers strong{font-weight: normal}
+table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
+table.CodeRay td{vertical-align: top}
+table.CodeRay td.line-numbers{text-align:right}
+table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
+table.CodeRay td.code{padding:0 0 0 .5em}
+table.CodeRay td.code>pre{padding:0}
+.CodeRay .debug{color:#fff !important;background:#000080 !important}
+.CodeRay .annotation{color:#007}
+.CodeRay .attribute-name{color:#000080}
+.CodeRay .attribute-value{color:#700}
+.CodeRay .binary{color:#509}
+.CodeRay .comment{color:#998;font-style:italic}
+.CodeRay .char{color:#04d}
+.CodeRay .char .content{color:#04d}
+.CodeRay .char .delimiter{color:#039}
+.CodeRay .class{color:#458;font-weight:bold}
+.CodeRay .complex{color:#a08}
+.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
+.CodeRay .color{color:#099}
+.CodeRay .class-variable{color:#369}
+.CodeRay .decorator{color:#b0b}
+.CodeRay .definition{color:#099}
+.CodeRay .delimiter{color:#000}
+.CodeRay .doc{color:#970}
+.CodeRay .doctype{color:#34b}
+.CodeRay .doc-string{color:#d42}
+.CodeRay .escape{color:#666}
+.CodeRay .entity{color:#800}
+.CodeRay .error{color:#808}
+.CodeRay .exception{color:inherit}
+.CodeRay .filename{color:#099}
+.CodeRay .function{color:#900;font-weight:bold}
+.CodeRay .global-variable{color:#008080}
+.CodeRay .hex{color:#058}
+.CodeRay .integer,.CodeRay .float{color:#099}
+.CodeRay .include{color:#555}
+.CodeRay .inline{color:#00}
+.CodeRay .inline .inline{background:#ccc}
+.CodeRay .inline .inline .inline{background:#bbb}
+.CodeRay .inline .inline-delimiter{color:#d14}
+.CodeRay .inline-delimiter{color:#d14}
+.CodeRay .important{color:#555;font-weight:bold}
+.CodeRay .interpreted{color:#b2b}
+.CodeRay .instance-variable{color:#008080}
+.CodeRay .label{color:#970}
+.CodeRay .local-variable{color:#963}
+.CodeRay .octal{color:#40e}
+.CodeRay .predefined{color:#369}
+.CodeRay .preprocessor{color:#579}
+.CodeRay .pseudo-class{color:#555}
+.CodeRay .directive{font-weight:bold}
+.CodeRay .type{font-weight:bold}
+.CodeRay .predefined-type{color:inherit}
+.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
+.CodeRay .key{color:#808}
+.CodeRay .key .delimiter{color:#606}
+.CodeRay .key .char{color:#80f}
+.CodeRay .value{color:#088}
+.CodeRay .regexp .delimiter{color:#808}
+.CodeRay .regexp .content{color:#808}
+.CodeRay .regexp .modifier{color:#808}
+.CodeRay .regexp .char{color:#d14}
+.CodeRay .regexp .function{color:#404;font-weight:bold}
+.CodeRay .string{color:#d20}
+.CodeRay .string .string .string{background:#ffd0d0}
+.CodeRay .string .content{color:#d14}
+.CodeRay .string .char{color:#d14}
+.CodeRay .string .delimiter{color:#d14}
+.CodeRay .shell{color:#d14}
+.CodeRay .shell .delimiter{color:#d14}
+.CodeRay .symbol{color:#990073}
+.CodeRay .symbol .content{color:#a60}
+.CodeRay .symbol .delimiter{color:#630}
+.CodeRay .tag{color:#008080}
+.CodeRay .tag-special{color:#d70}
+.CodeRay .variable{color:#036}
+.CodeRay .insert{background:#afa}
+.CodeRay .delete{background:#faa}
+.CodeRay .change{color:#aaf;background:#007}
+.CodeRay .head{color:#f8f;background:#505}
+.CodeRay .insert .insert{color:#080}
+.CodeRay .delete .delete{color:#800}
+.CodeRay .change .change{color:#66f}
+.CodeRay .head .head{color:#f4f}
+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="http://deltaspike.apache.org/index.html";>Apache
+                                       DeltaSpike</a>
+                               <div class="nav-collapse">
+                                       <ul class="nav">
+                                               <li class="active"><a
+                                                       
href="http://deltaspike.apache.org/index.html";>Home</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/documentation";>Documentation</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/javadoc.html";>Javadoc</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/documentation/source.html";>Source</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/download.html";>Download</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/community.html";>Community</a></li>
+                                               <!-- <li><a 
href="./support.html">Support</a></li>  -->
+                                               <li><a 
href="http://deltaspike.apache.org/news.html";>News</a></li>
+                                               <li><a
+                                                       
href="http://deltaspike.apache.org/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>Partial-Bean</h1>
+                </div>
+
+                               <div id="toc" class="toc">
+                               <ul class="sectlevel1">
+<li><a href="#_usage">Usage</a></li>
+</ul>
+                               <hr>    
+                               
+                               <div class="sect1">
+<h2 id="_usage">Usage</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Partial beans allow you to implement a generic handler to replace manual
+implementations of interfaces (or abstract classes).</p>
+</div>
+<div class="paragraph">
+<p><code>@PartialBeanBinding</code> is the binding-annotation for creating a 
custom
+interface (/abstract class) to generic handler binding.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span 
class="annotation">@PartialBeanBinding</span>
+
+<span class="annotation">@Retention</span>(RUNTIME)
+<span class="annotation">@Target</span>(TYPE)
+<span class="directive">public</span> <span 
class="annotation">@interface</span> MyPartialBeanBinding {}
+
+<span class="annotation">@MyPartialBeanBinding</span>
+<span class="comment">//scope is optional</span>
+<span class="directive">public</span> <span class="type">interface</span> 
<span class="class">PartialBean</span>
+{
+    <span class="predefined-type">String</span> getValue();
+}
+
+<span class="annotation">@MyPartialBeanBinding</span>
+<span class="annotation">@Dependent</span>
+<span class="directive">public</span> <span class="type">class</span> <span 
class="class">MyPartialBeanHandler</span> <span 
class="directive">implements</span> java.lang.reflect.InvocationHandler
+{
+    <span class="directive">public</span> <span 
class="predefined-type">Object</span> invoke(<span 
class="predefined-type">Object</span> proxy, <span 
class="predefined-type">Method</span> method, <span 
class="predefined-type">Object</span><span class="type">[]</span> args) <span 
class="directive">throws</span> <span class="predefined-type">Throwable</span>
+    {
+        <span class="comment">//generic handler logic</span>
+    }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Using an abstract class as partial-bean requires javassist as an
+additional dependency and allows to implement some methods manually.</p>
+</div>
+<div class="paragraph">
+<p>Attention: Currently CDI-Interceptors can&#8217;t be used for 
partial-beans.</p>
+</div>
+</div>
+</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 -->
+
+</body>
+</html>
\ No newline at end of file

Added: 
websites/staging/deltaspike/trunk/content/staging/documentation/projectstage.html
==============================================================================
--- 
websites/staging/deltaspike/trunk/content/staging/documentation/projectstage.html
 (added)
+++ 
websites/staging/deltaspike/trunk/content/staging/documentation/projectstage.html
 Wed Nov 26 20:22:01 2014
@@ -0,0 +1,333 @@
+<!DOCTYPE html>
+<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>DeltaSpike ProjectStage</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="https://deltaspike.apache.org/resources/css/bootstrap.css"; 
rel="stylesheet">
+<link 
href="https://deltaspike.apache.org/resources/css/bootstrap-responsive.css"; 
rel="stylesheet">
+
+<style type="text/css">
+/* Stylesheet for CodeRay to match GitHub theme | MIT License | 
http://foundation.zurb.com */
+/*pre.CodeRay {background-color:#f7f7f8;}*/
+.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
+.CodeRay 
span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
+.CodeRay .line-numbers strong{font-weight: normal}
+table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
+table.CodeRay td{vertical-align: top}
+table.CodeRay td.line-numbers{text-align:right}
+table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
+table.CodeRay td.code{padding:0 0 0 .5em}
+table.CodeRay td.code>pre{padding:0}
+.CodeRay .debug{color:#fff !important;background:#000080 !important}
+.CodeRay .annotation{color:#007}
+.CodeRay .attribute-name{color:#000080}
+.CodeRay .attribute-value{color:#700}
+.CodeRay .binary{color:#509}
+.CodeRay .comment{color:#998;font-style:italic}
+.CodeRay .char{color:#04d}
+.CodeRay .char .content{color:#04d}
+.CodeRay .char .delimiter{color:#039}
+.CodeRay .class{color:#458;font-weight:bold}
+.CodeRay .complex{color:#a08}
+.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
+.CodeRay .color{color:#099}
+.CodeRay .class-variable{color:#369}
+.CodeRay .decorator{color:#b0b}
+.CodeRay .definition{color:#099}
+.CodeRay .delimiter{color:#000}
+.CodeRay .doc{color:#970}
+.CodeRay .doctype{color:#34b}
+.CodeRay .doc-string{color:#d42}
+.CodeRay .escape{color:#666}
+.CodeRay .entity{color:#800}
+.CodeRay .error{color:#808}
+.CodeRay .exception{color:inherit}
+.CodeRay .filename{color:#099}
+.CodeRay .function{color:#900;font-weight:bold}
+.CodeRay .global-variable{color:#008080}
+.CodeRay .hex{color:#058}
+.CodeRay .integer,.CodeRay .float{color:#099}
+.CodeRay .include{color:#555}
+.CodeRay .inline{color:#00}
+.CodeRay .inline .inline{background:#ccc}
+.CodeRay .inline .inline .inline{background:#bbb}
+.CodeRay .inline .inline-delimiter{color:#d14}
+.CodeRay .inline-delimiter{color:#d14}
+.CodeRay .important{color:#555;font-weight:bold}
+.CodeRay .interpreted{color:#b2b}
+.CodeRay .instance-variable{color:#008080}
+.CodeRay .label{color:#970}
+.CodeRay .local-variable{color:#963}
+.CodeRay .octal{color:#40e}
+.CodeRay .predefined{color:#369}
+.CodeRay .preprocessor{color:#579}
+.CodeRay .pseudo-class{color:#555}
+.CodeRay .directive{font-weight:bold}
+.CodeRay .type{font-weight:bold}
+.CodeRay .predefined-type{color:inherit}
+.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
+.CodeRay .key{color:#808}
+.CodeRay .key .delimiter{color:#606}
+.CodeRay .key .char{color:#80f}
+.CodeRay .value{color:#088}
+.CodeRay .regexp .delimiter{color:#808}
+.CodeRay .regexp .content{color:#808}
+.CodeRay .regexp .modifier{color:#808}
+.CodeRay .regexp .char{color:#d14}
+.CodeRay .regexp .function{color:#404;font-weight:bold}
+.CodeRay .string{color:#d20}
+.CodeRay .string .string .string{background:#ffd0d0}
+.CodeRay .string .content{color:#d14}
+.CodeRay .string .char{color:#d14}
+.CodeRay .string .delimiter{color:#d14}
+.CodeRay .shell{color:#d14}
+.CodeRay .shell .delimiter{color:#d14}
+.CodeRay .symbol{color:#990073}
+.CodeRay .symbol .content{color:#a60}
+.CodeRay .symbol .delimiter{color:#630}
+.CodeRay .tag{color:#008080}
+.CodeRay .tag-special{color:#d70}
+.CodeRay .variable{color:#036}
+.CodeRay .insert{background:#afa}
+.CodeRay .delete{background:#faa}
+.CodeRay .change{color:#aaf;background:#007}
+.CodeRay .head{color:#f8f;background:#505}
+.CodeRay .insert .insert{color:#080}
+.CodeRay .delete .delete{color:#800}
+.CodeRay .change .change{color:#66f}
+.CodeRay .head .head{color:#f4f}
+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="http://deltaspike.apache.org/index.html";>Apache
+                                       DeltaSpike</a>
+                               <div class="nav-collapse">
+                                       <ul class="nav">
+                                               <li class="active"><a
+                                                       
href="http://deltaspike.apache.org/index.html";>Home</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/documentation";>Documentation</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/javadoc.html";>Javadoc</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/documentation/source.html";>Source</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/download.html";>Download</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/community.html";>Community</a></li>
+                                               <!-- <li><a 
href="./support.html">Support</a></li>  -->
+                                               <li><a 
href="http://deltaspike.apache.org/news.html";>News</a></li>
+                                               <li><a
+                                                       
href="http://deltaspike.apache.org/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>DeltaSpike ProjectStage</h1>
+                </div>
+
+                               <div id="toc" class="toc">
+                               <ul class="sectlevel1">
+<li><a href="#_introduction">Introduction</a>
+<ul class="sectlevel2">
+<li><a href="#_custom_project_stages">Custom Project Stages</a></li>
+<li><a 
href="#_projectstageproducer_for_3rd_party_portable_extensions">ProjectStageProducer
 (for 3rd party portable extensions)</a>
+<ul class="sectlevel3">
+<li><a href="#_setting_the_active_projectstage">Setting the active 
ProjectStage</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+                               <hr>    
+                               
+                               <div class="sect1">
+<h2 id="_introduction">Introduction</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Project stages allow to use implementations depending on the current
+environment. E.g. you can implement a bean which creates sample-data for
+system tests which gets activated only in case of project-stage
+<code>SystemTest</code>.</p>
+</div>
+<div class="paragraph">
+<p><em>Besides custom project-stages</em> it&#8217;s possible to use the 
following
+pre-defined project-stages:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>UnitTest</p>
+</li>
+<li>
+<p>Development</p>
+</li>
+<li>
+<p>SystemTest</p>
+</li>
+<li>
+<p>IntegrationTest</p>
+</li>
+<li>
+<p>Staging</p>
+</li>
+<li>
+<p>Production</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The core provides a pluggable and type-safe approach for using project
+stages in a project (it&#8217;s also used within the framework). Furthermore,
+<code>@Exclude</code> allows to use e.g. i mplementations annotated with
+<code>javax.enterprise.inject.Alternative</code> for specific project-stages.
+Besides the out-of-the-box project-stages it&#8217;s possible to implement
+<em>custom but type-safe</em> project-stages which will be exposed by
+DeltaSpike.</p>
+</div>
+<div class="paragraph">
+<p>Resolving and using the Project-Stage:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span 
class="annotation">@Inject</span>
+<span class="directive">private</span> ProjectStage projectStage;
+
+<span class="comment">//...</span>
+
+<span class="type">boolean</span> isDevProjectStage = 
ProjectStage.Development.equals(<span 
class="local-variable">this</span>.projectStage);</code></pre>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_custom_project_stages">Custom Project Stages</h3>
+<div class="paragraph">
+<p>It&#8217;s possible to provide custom project stage implementations.
+Therefore, you have to provide an implementation of the
+<code>ProjectStageHolder</code> interface. In this class you nest the custom
+project-stage implementations which have to be
+<code>public static final class</code> and it&#8217;s required to extend 
<code>ProjectStage</code>.
+It&#8217;s required to provide a <code>public static final</code> instance 
even though,
+you won&#8217;t use it directly.</p>
+</div>
+<div class="paragraph">
+<p>ProjectStageHolder for custom project stage implementations:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span 
class="directive">public</span> <span class="type">class</span> <span 
class="class">CustomProjectStageHolder</span> <span 
class="directive">implements</span> ProjectStageHolder
+{
+    <span class="directive">public</span> <span 
class="directive">static</span> <span class="directive">final</span> <span 
class="type">class</span> <span class="class">CustomProjectStage</span> <span 
class="directive">extends</span> ProjectStage
+    {
+        <span class="directive">private</span> <span 
class="directive">static</span> <span class="directive">final</span> <span 
class="type">long</span> serialVersionUID = <span 
class="integer">1029094387976167179L</span>;
+    }
+
+    <span class="directive">public</span> <span 
class="directive">static</span> <span class="directive">final</span> 
CustomProjectStage CustomProjectStage = <span class="keyword">new</span> 
CustomProjectStage();
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Configure your custom <code>ProjectStageHolder</code> in
+<code>META-INF/services/org.apache.deltaspike.core.api.projectstage.ProjectStageHolder</code>.
+The file has to provide the <em>fully qualified</em> class name of the custom
+implementation of the <code>ProjectStageHolder</code> interface.</p>
+</div>
+<div class="paragraph">
+<p>Usage of a custom project stage:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java">ProjectStage 
customProjectStage;
+customProjectStage = ProjectStage.valueOf(<span class="string"><span 
class="delimiter">&quot;</span><span 
class="content">CustomProjectStage</span><span 
class="delimiter">&quot;</span></span>);
+<span class="comment">//or</span>
+customProjectStage = CustomProjectStageHolder.CustomProjectStage;
+<span class="comment">//or</span>
+<span class="annotation">@Exclude</span>(ifProjectStage = 
CustomProjectStageHolder.CustomProjectStage.class)</code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 
id="_projectstageproducer_for_3rd_party_portable_extensions">ProjectStageProducer
 (for 3rd party portable extensions)</h3>
+<div class="paragraph">
+<p><code>ProjectStageProducer</code> provides the producer method which allows 
to
+inject the current project-stage. However, in some cases it&#8217;s needed to
+use project-stages also during the bootstrapping process of the CDI
+container and you can&#8217;t use injection. In such cases you can use
+<code>ProjectStageProducer.getInstance().getProjectStage()</code> to resolve 
the
+current project-stage. This helper also contains helpers for unit-tests
+- e.g. <code>#setProjectStage</code>. However, those methods shouldn&#8217;t 
be needed
+for users (we just need them for testing different project-stage
+scenarios).</p>
+</div>
+<div class="sect3">
+<h4 id="_setting_the_active_projectstage">Setting the active ProjectStage</h4>
+<div class="paragraph">
+<p>For setting the ProjectStage which shall get used in your application
+you can specify it in a few ways. The underlying mechanism used to
+determine the string is the ConfigResolver. E.g.:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre>-Dorg.apache.deltaspike.ProjectStage=Development</pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</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 -->
+
+</body>
+</html>
\ No newline at end of file

Added: 
websites/staging/deltaspike/trunk/content/staging/documentation/scheduler.html
==============================================================================
--- 
websites/staging/deltaspike/trunk/content/staging/documentation/scheduler.html 
(added)
+++ 
websites/staging/deltaspike/trunk/content/staging/documentation/scheduler.html 
Wed Nov 26 20:22:01 2014
@@ -0,0 +1,361 @@
+<!DOCTYPE html>
+<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>Scheduler Module</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="https://deltaspike.apache.org/resources/css/bootstrap.css"; 
rel="stylesheet">
+<link 
href="https://deltaspike.apache.org/resources/css/bootstrap-responsive.css"; 
rel="stylesheet">
+
+<style type="text/css">
+/* Stylesheet for CodeRay to match GitHub theme | MIT License | 
http://foundation.zurb.com */
+/*pre.CodeRay {background-color:#f7f7f8;}*/
+.CodeRay .line-numbers{border-right:1px solid #d8d8d8;padding:0 0.5em 0 .25em}
+.CodeRay 
span.line-numbers{display:inline-block;margin-right:.5em;color:rgba(0,0,0,.3)}
+.CodeRay .line-numbers strong{font-weight: normal}
+table.CodeRay{border-collapse:separate;border-spacing:0;margin-bottom:0;border:0;background:none}
+table.CodeRay td{vertical-align: top}
+table.CodeRay td.line-numbers{text-align:right}
+table.CodeRay td.line-numbers>pre{padding:0;color:rgba(0,0,0,.3)}
+table.CodeRay td.code{padding:0 0 0 .5em}
+table.CodeRay td.code>pre{padding:0}
+.CodeRay .debug{color:#fff !important;background:#000080 !important}
+.CodeRay .annotation{color:#007}
+.CodeRay .attribute-name{color:#000080}
+.CodeRay .attribute-value{color:#700}
+.CodeRay .binary{color:#509}
+.CodeRay .comment{color:#998;font-style:italic}
+.CodeRay .char{color:#04d}
+.CodeRay .char .content{color:#04d}
+.CodeRay .char .delimiter{color:#039}
+.CodeRay .class{color:#458;font-weight:bold}
+.CodeRay .complex{color:#a08}
+.CodeRay .constant,.CodeRay .predefined-constant{color:#008080}
+.CodeRay .color{color:#099}
+.CodeRay .class-variable{color:#369}
+.CodeRay .decorator{color:#b0b}
+.CodeRay .definition{color:#099}
+.CodeRay .delimiter{color:#000}
+.CodeRay .doc{color:#970}
+.CodeRay .doctype{color:#34b}
+.CodeRay .doc-string{color:#d42}
+.CodeRay .escape{color:#666}
+.CodeRay .entity{color:#800}
+.CodeRay .error{color:#808}
+.CodeRay .exception{color:inherit}
+.CodeRay .filename{color:#099}
+.CodeRay .function{color:#900;font-weight:bold}
+.CodeRay .global-variable{color:#008080}
+.CodeRay .hex{color:#058}
+.CodeRay .integer,.CodeRay .float{color:#099}
+.CodeRay .include{color:#555}
+.CodeRay .inline{color:#00}
+.CodeRay .inline .inline{background:#ccc}
+.CodeRay .inline .inline .inline{background:#bbb}
+.CodeRay .inline .inline-delimiter{color:#d14}
+.CodeRay .inline-delimiter{color:#d14}
+.CodeRay .important{color:#555;font-weight:bold}
+.CodeRay .interpreted{color:#b2b}
+.CodeRay .instance-variable{color:#008080}
+.CodeRay .label{color:#970}
+.CodeRay .local-variable{color:#963}
+.CodeRay .octal{color:#40e}
+.CodeRay .predefined{color:#369}
+.CodeRay .preprocessor{color:#579}
+.CodeRay .pseudo-class{color:#555}
+.CodeRay .directive{font-weight:bold}
+.CodeRay .type{font-weight:bold}
+.CodeRay .predefined-type{color:inherit}
+.CodeRay .reserved,.CodeRay .keyword {color:#000;font-weight:bold}
+.CodeRay .key{color:#808}
+.CodeRay .key .delimiter{color:#606}
+.CodeRay .key .char{color:#80f}
+.CodeRay .value{color:#088}
+.CodeRay .regexp .delimiter{color:#808}
+.CodeRay .regexp .content{color:#808}
+.CodeRay .regexp .modifier{color:#808}
+.CodeRay .regexp .char{color:#d14}
+.CodeRay .regexp .function{color:#404;font-weight:bold}
+.CodeRay .string{color:#d20}
+.CodeRay .string .string .string{background:#ffd0d0}
+.CodeRay .string .content{color:#d14}
+.CodeRay .string .char{color:#d14}
+.CodeRay .string .delimiter{color:#d14}
+.CodeRay .shell{color:#d14}
+.CodeRay .shell .delimiter{color:#d14}
+.CodeRay .symbol{color:#990073}
+.CodeRay .symbol .content{color:#a60}
+.CodeRay .symbol .delimiter{color:#630}
+.CodeRay .tag{color:#008080}
+.CodeRay .tag-special{color:#d70}
+.CodeRay .variable{color:#036}
+.CodeRay .insert{background:#afa}
+.CodeRay .delete{background:#faa}
+.CodeRay .change{color:#aaf;background:#007}
+.CodeRay .head{color:#f8f;background:#505}
+.CodeRay .insert .insert{color:#080}
+.CodeRay .delete .delete{color:#800}
+.CodeRay .change .change{color:#66f}
+.CodeRay .head .head{color:#f4f}
+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="http://deltaspike.apache.org/index.html";>Apache
+                                       DeltaSpike</a>
+                               <div class="nav-collapse">
+                                       <ul class="nav">
+                                               <li class="active"><a
+                                                       
href="http://deltaspike.apache.org/index.html";>Home</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/documentation";>Documentation</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/javadoc.html";>Javadoc</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/documentation/source.html";>Source</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/download.html";>Download</a></li>
+                                               <li><a 
href="http://deltaspike.apache.org/community.html";>Community</a></li>
+                                               <!-- <li><a 
href="./support.html">Support</a></li>  -->
+                                               <li><a 
href="http://deltaspike.apache.org/news.html";>News</a></li>
+                                               <li><a
+                                                       
href="http://deltaspike.apache.org/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>Scheduler Module</h1>
+                </div>
+
+                               <div id="toc" class="toc">
+                               <ul class="sectlevel1">
+<li><a href="#_intro">Intro</a></li>
+<li><a href="#_external_dependencies">External Dependencies</a></li>
+<li><a href="#__scheduled">@Scheduled</a></li>
+<li><a href="#_manual_scheduler_control">Manual Scheduler Control</a></li>
+<li><a href="#_custom_scheduler">Custom Scheduler</a></li>
+</ul>
+                               <hr>    
+                               
+                               <div class="sect1">
+<h2 id="_intro">Intro</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This module provides a simple integration with Quartz v2 (per default)
+or any other scheduler which supports cron-expressions for job-classes.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_external_dependencies">External Dependencies</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>If you would like to use the default-integration with quartz (which is
+optional), you have to add quartz 2.x.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="xml"><span 
class="tag">&lt;dependency&gt;</span>
+    <span class="tag">&lt;groupId&gt;</span>org.quartz-scheduler<span 
class="tag">&lt;/groupId&gt;</span>
+    <span class="tag">&lt;artifactId&gt;</span>quartz<span 
class="tag">&lt;/artifactId&gt;</span>
+    <span class="tag">&lt;version&gt;</span>2.2.1<span 
class="tag">&lt;/version&gt;</span>
+<span class="tag">&lt;/dependency&gt;</span></code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="__scheduled">@Scheduled</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Just annotate your Quartz-Jobs with <code>@Scheduled</code> and they will 
get
+picked up and passed to the scheduler automatically (during the
+bootstrapping process).</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span 
class="annotation">@Scheduled</span>(cronExpression = <span 
class="string"><span class="delimiter">&quot;</span><span class="content">0 
0/10 * * * ?</span><span class="delimiter">&quot;</span></span>)
+<span class="directive">public</span> <span class="type">class</span> <span 
class="class">CdiAwareQuartzJob</span> <span 
class="directive">implements</span> org.quartz.Job
+{
+    <span class="annotation">@Inject</span>
+    <span class="directive">private</span> MyService service;
+
+    <span class="annotation">@Override</span>
+    <span class="directive">public</span> <span class="type">void</span> 
execute(JobExecutionContext context) <span class="directive">throws</span> 
JobExecutionException
+    {
+        <span class="comment">//...</span>
+    }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In such Quartz-jobs CDI based dependency-injection is enabled.
+Furthermore, the request- and session-scope get started (and stopped)
+per job-execution. Therefore, the container-control module (of
+DeltaSpike) is required. That can be controlled via
+<code>@Scheduled#startScopes</code> (possible values: all scopes supported by 
the
+container-control module as well as <code>{}</code> for 'no scopes').</p>
+</div>
+<div class="paragraph">
+<p>With 'false' for <code>@Scheduled#onStartup</code> it&#8217;s even possible 
to
+schedule/install jobs dynamically - e.g.:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span 
class="annotation">@ApplicationScoped</span>
+<span class="directive">public</span> <span class="type">class</span> <span 
class="class">ProjectStageAwareSchedulerController</span>
+{
+    <span class="annotation">@Inject</span>
+    <span class="directive">private</span> Scheduler&lt;Job&gt; jobScheduler;
+
+    <span class="annotation">@Inject</span>
+    <span class="directive">private</span> ProjectStage projectStage;
+
+    <span class="directive">public</span> <span class="type">void</span> 
registerJobs()
+    {
+        <span class="keyword">if</span> (ProjectStage.Production.equals(<span 
class="local-variable">this</span>.projectStage))
+        {
+            <span class="comment">//see 'false' for @Scheduled#onStartup</span>
+            <span 
class="local-variable">this</span>.jobScheduler.scheduleJob(ManualCdiAwareQuartzJob.class);
+        }
+    }
+
+    <span class="annotation">@Scheduled</span>(cronExpression = <span 
class="string"><span class="delimiter">&quot;</span><span class="content">0 
0/10 * * * ?</span><span class="delimiter">&quot;</span></span>, onStartup = 
<span class="predefined-constant">false</span>)
+    <span class="directive">public</span> <span class="type">class</span> 
<span class="class">ManualCdiAwareQuartzJob</span> <span 
class="directive">implements</span> org.quartz.Job
+    {
+        <span class="annotation">@Inject</span>
+        <span class="directive">private</span> MyService service;
+
+        <span class="annotation">@Override</span>
+        <span class="directive">public</span> <span class="type">void</span> 
execute(JobExecutionContext context) <span class="directive">throws</span> 
JobExecutionException
+        {
+            <span class="comment">//...</span>
+        }
+    }
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_manual_scheduler_control">Manual Scheduler Control</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>This SPI allows to control the scheduler (or integrate any other
+compatible scheduler as an alternative to Quartz2)</p>
+</div>
+<div class="paragraph">
+<p>Via std. injection like</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span 
class="annotation">@Inject</span>
+<span class="directive">private</span> Scheduler&lt;Job&gt; 
jobScheduler;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>it&#8217;s possible to manually start/stop the scheduler,
+pause/resume/interrupt/check scheduled jobs, register jobs manually or
+start a job once (without registering it permanently).</p>
+</div>
+<div class="paragraph">
+<p><strong>Attention</strong>:</p>
+</div>
+<div class="paragraph">
+<p>With some versions of Weld you have to use</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span 
class="directive">public</span> <span class="type">class</span> <span 
class="class">QuartzSchedulerProducer</span>
+{
+    <span class="annotation">@Produces</span>
+    <span class="annotation">@ApplicationScoped</span>
+    <span class="directive">protected</span> Scheduler&lt;Job&gt; 
produceScheduler(Scheduler scheduler)
+    {
+        <span class="keyword">return</span> scheduler;
+    }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>or</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="xml"><span 
class="tag">&lt;alternatives&gt;</span>
+  <span 
class="tag">&lt;class&gt;</span>org.apache.deltaspike.scheduler.impl.QuartzSchedulerProducer<span
 class="tag">&lt;/class&gt;</span>
+<span class="tag">&lt;/alternatives&gt;</span></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>to use a typed injection-point. Otherwise the deployment will fail.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_custom_scheduler">Custom Scheduler</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>It&#8217;s possible to replace the default integration with Quartz. Any 
other
+scheduler which supports cron-expressions for job-classes can be used.
+Please have a look at <code>org.apache.deltaspike.test.scheduler.custom</code> 
for
+further details.</p>
+</div>
+</div>
+</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 -->
+
+</body>
+</html>
\ No newline at end of file


Reply via email to