[jboss-cvs] JBossAS SVN: r105090 - in projects/snowdrop/branches/enterprise: Snowdrop_1.1_User_Guide/en-US and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri May 21 09:02:41 EDT 2010
Author: marius.bogoevici
Date: 2010-05-21 09:02:40 -0400 (Fri, 21 May 2010)
New Revision: 105090
Modified:
projects/snowdrop/branches/enterprise/Snowdrop_1.0_User_Guide/en-US/Configuration.xml
projects/snowdrop/branches/enterprise/Snowdrop_1.0_User_Guide/en-US/This_Guide.xml
projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Author_Group.xml
projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Book_Info.xml
projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Configuration.xml
projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Feedback.xml
projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Introduction.xml
projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Revision_History.xml
projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Snowdrop_1.1_User_Guide.xml
projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/This_Guide.xml
Log:
restored to rev 104917 + a few minor changes
Modified: projects/snowdrop/branches/enterprise/Snowdrop_1.0_User_Guide/en-US/Configuration.xml
===================================================================
--- projects/snowdrop/branches/enterprise/Snowdrop_1.0_User_Guide/en-US/Configuration.xml 2010-05-21 12:43:37 UTC (rev 105089)
+++ projects/snowdrop/branches/enterprise/Snowdrop_1.0_User_Guide/en-US/Configuration.xml 2010-05-21 13:02:40 UTC (rev 105090)
@@ -1,73 +1,88 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.0_User_Guide.ent">
%BOOK_ENTITIES;
]>
+
<chapter>
<title>How to use Snowdrop components</title>
- <para>This chapter details how to use each of the components included in
- Snowdrop.</para>
+ <para>
+ This chapter details how to use each of the components included
+ in Snowdrop.
+ </para>
<section>
<title>VFS-enabled Application Contexts</title>
- <para>The <filename>snowdrop-vfs.jar</filename> library supports resource
- scanning in the JBoss Virtual File System (VFS). It must be included in
- Spring-based applications that use classpath and resource scanning.</para>
+ <para>
+ The <filename>snowdrop-vfs.jar</filename> library supports resource
+ scanning in the JBoss Virtual File System (VFS).
+ </para>
- <para>When the Spring framework performs resource scanning, it assumes
- that resources are either from a directory or a packaged JAR, and treats
- any URLs it encounters accordingly.</para>
+ <para>
+ When the Spring framework performs resource scanning, it assumes that
+ resources are either from a directory or a packaged JAR, and treats
+ any URLs it encounters accordingly.
+ </para>
+
+ <para>
+ This assumption is not correct for the JBoss VFS, so Snowdrop implements
+ a different underlying resource resolution mechanism by amending the
+ functionality of the
+ <classname>PathMatchingResourcePatternResolver</classname>.
+ </para>
- <para>This assumption is not correct for the JBoss VFS, so Snowdrop
- implements a different underlying resource resolution mechanism by
- amending the functionality of the
- <classname>PathMatchingResourcePatternResolver</classname>.</para>
+ <para>
+ This is done by using one of two <classname>ApplicationContext</classname>
+ implementations provided by the <filename>snowdrop-vfs.jar</filename>:
+ </para>
- <para>This is done by using one of two
- <classname>ApplicationContext</classname> implementations provided by the
- <filename>snowdrop-vfs.jar</filename>:</para>
-
<variablelist>
<varlistentry>
<term><classname>org.jboss.spring.vfs.context.VFSClassPathXmlApplicationContext</classname></term>
-
<listitem>
- <para>Replaces the Spring
- <classname>org.springframework.context.support.ClassPathXmlApplicationContext</classname>.</para>
+ <para>
+ Replaces the Spring
+ <classname>org.springframework.context.support.ClassPathXmlApplicationContext</classname>.
+ </para>
</listitem>
</varlistentry>
-
<varlistentry>
<term><classname>org.jboss.spring.vfs.context.VFSXmlWebApplicationContext</classname></term>
-
<listitem>
- <para>Replaces the Spring
- <classname>org.springframework.web.context.support.XmlWebApplicationContext</classname>.</para>
+ <para>
+ Replaces the Spring
+ <classname>org.springframework.web.context.support.XmlWebApplicationContext</classname>.
+ </para>
</listitem>
</varlistentry>
</variablelist>
- <para>In many cases, the
- <classname>VFSClassPathXmlApplicationContext</classname> is instantiated
- on its own, using something like:</para>
+ <para>
+ In many cases, the
+ <classname>VFSClassPathXmlApplicationContext</classname> is
+ instantiated on its own, using something like:
+ </para>
<programlisting language="Java">ApplicationContext context =
new VFSClassPathXmlApplicationContext("classpath:/context-definition-file.xml");</programlisting>
- <para>The <classname>XmlWebApplicationContext</classname> is not
- instantiated directly. Instead, it is bootstrapped by either the
- <classname>ContextLoaderListener</classname> or the
- <classname>DispatcherServlet</classname>. Each of these classes have
- configuration options that allow to replace the default application
- context type with a custom one.</para>
+ <para>
+ The <classname>XmlWebApplicationContext</classname> is not
+ instantiated directly. Instead, it is bootstrapped by either the
+ <classname>ContextLoaderListener</classname> or the
+ <classname>DispatcherServlet</classname>. In this case, the class used
+ for bootstrapping must be used to trigger an instantiation of the
+ VFS-enabled context.
+ </para>
- <para>To change the type of application context created by the
- <classname>ContextLoaderListener</classname>, add the
- <varname>contextClass</varname> parameter as shown in the following
- example code:</para>
+ <para>
+ To change the type of application context created by the
+ <classname>ContextLoaderListener</classname>, add the
+ <varname>contextClass</varname> parameter as shown in the
+ following example code:
+ </para>
<!--<?dbfo-need height="5in" ?>-->
@@ -85,13 +100,14 @@
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener></programlisting>
- <para>For changing the type of application context created by the
- <code>DispatcherServlet</code>, use the <code>contextClass</code>
- parameter again, but this time on the
- <classname>DispatcherServlet</classname> definition (emphasized portion
- again):</para>
+ <para>
+ For changing the type of application context created by the
+ DispatcherServlet, use the contextClass parameter again, but this time
+ on the <classname>DispatcherServlet</classname> definition (emphasized
+ portion again):
+ </para>
- <programlisting lang="XML" language="XML"><servlet>
+ <programlisting language="XML"><servlet>
<servlet-name>spring-mvc-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
@@ -114,13 +130,14 @@
<!--<?dbfo-need height="5in" ?>-->
<important>
- <title><exceptionname>ZipException</exceptionname></title>
+ <title>Important: <exceptionname>ZipException</exceptionname></title>
+ <para>
+ If you encounter the <exceptionname>ZipException</exceptionname> when
+ attempting to start the application, you need to replace the default
+ <classname>ApplicationContext</classname> with one of the VFS-enabled
+ implementations.
+ </para>
- <para>If you encounter the <exceptionname>ZipException</exceptionname>
- when attempting to start the application, you need to replace the
- default <classname>ApplicationContext</classname> with one of the
- VFS-enabled implementations.</para>
-
<programlisting language="Java">Caused by: java.util.zip.ZipException: error in opening zip file
...
at org.springframework.core.io.support.PathMatchingResourcePatternResolver
@@ -131,18 +148,24 @@
<section>
<title>Load-time weaving</title>
- <para>Load-time weaving support is provided by the
- <filename>snowdrop-weaving.jar</filename> library.</para>
+ <para>
+ Load-time weaving support is provided by the
+ <filename>snowdrop-weaving.jar</filename> library.
+ </para>
- <para>To perform load-time weaving for the application classes in Spring
- (either for using load-time support for AspectJ or for JPA support), the
- Spring framework needs to install its own transformers in the classloader.
- For JBoss Enterprise Application Platform, JBoss Enterprise Web Platform
- and JBoss Enterprise Web Server, a classloader-specific
- <classname>LoadTimeWeaver</classname> is necessary.</para>
+ <para>
+ To perform load-time weaving for the application classes in Spring
+ (either for using load-time support for AspectJ or for JPA support),
+ the Spring framework needs to install its own transformers in
+ the classloader. For JBoss Enterprise Application Platform,
+ JBoss Enterprise Web Platform and JBoss Enterprise Web Server,
+ a classloader-specific <classname>LoadTimeWeaver</classname> is necessary.
+ </para>
- <para>Define the <classname>JBoss5LoadTimeWeaver</classname> in the
- <literal>www</literal> Spring application context as shown here:</para>
+ <para>
+ Define the <classname>JBoss5LoadTimeWeaver</classname> in the
+ Spring application context as shown here:
+ </para>
<programlisting language="Java"><context:load-time-weaver
weaver-class="org.jboss.instrument.classloading.JBoss5LoadTimeWeaver"/></programlisting>
@@ -151,22 +174,28 @@
<section>
<title>The Spring Deployer</title>
- <para>The role of the Spring deployer is to allow you to bootstrap a
- Spring application context, bind it in JNDI, and use it to provide
- Spring-configured business object instances.</para>
+ <para>
+ The role of the Spring deployer is to allow you to bootstrap a
+ Spring application context, bind it in JNDI, and use it to
+ provide Spring-configured business object instances.
+ </para>
<section>
<title>JBoss + Spring + EJB 3.0 Integration</title>
- <para>Snowdrop contains a JBoss deployer that supports Spring packaging
- in JBoss Enterprise Application Platform, JBoss Enterprise Web Platform
- and JBoss Enterprise Web Server. This means it is possible to create JAR
- archives with a <filename>META-INF/jboss-spring.xml</filename> file to
- have your Spring bean factories deploy automatically.</para>
+ <para>
+ Snowdrop contains a JBoss deployer that supports Spring
+ packaging in JBoss Enterprise Application Platform and
+ JBoss Enterprise Web Platform.This means it is possible to create
+ JAR archives with a <filename>META-INF/jboss-spring.xml</filename>
+ file to have your Spring bean factories deploy automatically.
+ </para>
- <para>EJB 3.0 integration is also supported. You can deploy Spring
- archives and inject beans created in these deployments directly into an
- EJB by using the <varname>@Spring</varname> annotation.</para>
+ <para>
+ EJB 3.0 integration is also supported. You can deploy Spring archives
+ and inject beans created in these deployments directly into an EJB by
+ using the <varname>@Spring</varname> annotation.
+ </para>
</section>
<section>
@@ -176,8 +205,8 @@
To install the Snowdrop JBoss deployer, unzip the
<filename>jboss-spring-deployer.zip</filename> in the
<filename>$JBOSS_HOME/server/$PROFILE/deployers</filename> directory of
- your JBoss Enterprise Application Platform or JBoss Enterprise Web
- Platform installation.
+ your JBoss Enterprise Application Platform or JBoss Enterprise Web Platform
+ installation.
</para>
<note>
@@ -203,61 +232,67 @@
</note>
</section>
- <section>
+ <section>
<title>Spring deployments</title>
- <para>You can create Spring deployments that work similarly to JARs,
- EARs, and WARs with the JBoss Spring deployer. Spring JARs are created
- with the following structure:</para>
+ <para>
+ You can create Spring deployments that work similarly to JARs, EARs, and WARs
+ with the JBoss Spring deployer. Spring JARs are created with the following
+ structure:
+ </para>
- <screen>my-app.spring/
- org/
+ <screen>my-app.jar/
+ org/
acme/
- MyBean.class
- MyBean2.class
- META-INF/
- jboss-spring.xml</screen>
+ MyBean.class
+ MyBean2.class
+ META-INF/
+ jboss-spring.xml</screen>
- <para><filename>my-app.spring</filename> is a JAR that contains classes.
- A <filename>jboss-spring.xml</filename> file exists in the
- <filename>META-INF</filename> directory of the JAR. By default, the
- JBoss Spring deployer registers the bean factory defined in
- <filename>jboss-spring.xml</filename> into JNDI in a non-serialized
- form. The default JNDI name is the short name of the deployment file —
- in this case, <literal>my-app</literal>.</para>
+ <para>
+ <filename>my-app.jar</filename> is a JAR that contains classes. A
+ <filename>jboss-spring.xml</filename> file exists in the
+ <filename>META-INF</filename> directory of the JAR. By default, the
+ JBoss Spring deployer registers the bean factory defined in
+ <filename>jboss-spring.xml</filename> into JNDI in a non-serialized
+ form. The default JNDI name is the short name of the deployment file —
+ in this case, <literal>my-app</literal>.
+ </para>
- <para>You do not have to create an archive. Instead, you can place your
- JAR libraries under <filename>$JBOSS_HOME/server/$PROFILE/lib</filename>
- and add an XML file of the form
- <literal><name>-spring.xml</literal>, for example,
- <filename>my-app-spring.xml</filename>, into the
- <filename>deploy</filename> directory of your JBoss Enterprise
- Application Platform or JBoss Enterprise Web Platform installation. The
- default JNDI name will be the short name of the XML file; in this case,
- <literal>my-app</literal>.</para>
-
- <para>As well, you can include the <literal><name>-spring.xml</literal>
- file in the <filename>META-INF</filename> directory of an EAR.</para>
+ <para>
+ You do not have to create an archive. Instead, you can place your JAR
+ libraries under <filename>$JBOSS_HOME/server/$PROFILE/lib</filename> and
+ add an XML file of the form <literal><name>-spring.xml</literal>,
+ for example, <filename>my-app-spring.xml</filename>, into the
+ <filename>deploy</filename> directory of your JBoss Enterprise Application
+ Platform or JBoss Enterprise Web Platform installation. The default JNDI
+ name will be the short name of the XML file; in this case,
+ <literal>my-app</literal>.
+ </para>
</section>
<section>
<title>Deployment</title>
- <para>Once you have created a <filename>.jar</filename> or a <!--.spring file info here-->
- <emphasis>-spring.xml</emphasis> file, copy it into the
- <filename>deploy</filename> directory of your JBoss Enterprise
- Application Platform or JBoss Enterprise Web Platform installation to
- deploy it into the JBoss runtime. You can also embed these deployments
- in an EAR, EJB-SAR, SAR, etc. since JBoss Enterprise Application
- Platform and JBoss Enterprise Web Platform support nested
- archives.</para>
+ <para>
+ Once you have created a <filename>.jar</filename> or a
+ <!--.spring file info here-->
+ <emphasis>-spring.xml</emphasis> file, copy it into the
+ <filename>deploy</filename> directory of your JBoss Enterprise Application
+ Platform or JBoss Enterprise Web Platform installation to deploy
+ it into the JBoss runtime. You can also embed these deployments in an
+ EAR, EJB-SAR, SAR, etc. since JBoss Enterprise Application Platform and
+ JBoss Enterprise Web Platform support nested archives.
+ </para>
</section>
<section>
<title>Defining the JNDI name</title>
- <para>You can specify the JNDI name explicitly by putting it in the
- description element of the Spring XML.</para>
+ <para>
+ You can specify the JNDI name explicitly by putting it in the
+ description element of the Spring XML.
+ </para>
<!--<?dbfo-need height="5in" ?>-->
@@ -267,17 +302,20 @@
<bean id="springBean" class="example.SpringBean"/>
</beans></programlisting>
- <para><literal>MyApp</literal> will be used as the JNDI name in this
- example.</para>
+ <para>
+ <literal>MyApp</literal> will be used as the JNDI name in this example.
+ </para>
</section>
<section>
<title>Parent Bean factories</title>
- <para>Sometimes you want your deployed Spring bean factory to be able to
- reference beans deployed in another Spring deployment. You can do this
- by declaring a parent bean factory in the description element in the
- Spring XML, like so:</para>
+ <para>
+ Sometimes you want your deployed Spring bean factory to be able
+ to reference beans deployed in another Spring deployment. You can do
+ this by declaring a parent bean factory in the description element in
+ the Spring XML, like so:
+ </para>
<programlisting language="XML"><beans>
<description>BeanFactory=(AnotherApp) ParentBeanFactory=(MyApp)</description>
@@ -288,11 +326,12 @@
<section>
<title>Injection into EJBs</title>
- <para>Once an <classname>ApplicationContext</classname> has been
- successfully bootstrapped, the Spring beans defined in it can be used
- for injection into EJBs. To do this, the EJBs must be intercepted with
- the <classname>SpringLifecycleInterceptor</classname>, as in the
- following example:</para>
+ <para>
+ Once an <classname>ApplicationContext</classname> has been successfully bootstrapped,
+ the Spring beans defined in it can be used for injection into EJBs.
+ To do this, the EJBs must be intercepted with the
+ <classname>SpringLifecycleInterceptor</classname>, as in the following example:
+ </para>
<programlisting>@Stateless
@Interceptors(SpringLifecycleInterceptor.class)
@@ -304,10 +343,12 @@
/* rest of the class definition ommitted */
}</programlisting>
- <para>In this example, the EJB <classname>InjectedEjbImpl</classname>
- will be injected with the bean named <literal>springBean</literal>,
- which is defined in the <classname>ApplicationContext</classname><!-- described in
- <xref linkend="3.3"/> and <xref linkend="3.5"/>-->.</para>
+ <para>
+ In this example, the EJB <classname>InjectedEjbImpl</classname> will be
+ injected with the bean named <literal>springBean</literal>, which is defined in
+ the <classname>ApplicationContext</classname><!-- described in
+ <xref linkend="3.3"/> and <xref linkend="3.5"/>-->.
+ </para>
</section>
</section>
</chapter>
Modified: projects/snowdrop/branches/enterprise/Snowdrop_1.0_User_Guide/en-US/This_Guide.xml
===================================================================
--- projects/snowdrop/branches/enterprise/Snowdrop_1.0_User_Guide/en-US/This_Guide.xml 2010-05-21 12:43:37 UTC (rev 105089)
+++ projects/snowdrop/branches/enterprise/Snowdrop_1.0_User_Guide/en-US/This_Guide.xml 2010-05-21 13:02:40 UTC (rev 105090)
@@ -1,43 +1,41 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.0_User_Guide.ent">
%BOOK_ENTITIES;
]>
+
<chapter>
<title>What This Guide Covers</title>
- <para>Snowdrop is a utility package that contains JBoss-specific extensions
- to the Spring Framework. These extensions are either:</para>
-
+ <para>
+ Snowdrop is a utility package that contains JBoss-specific
+ extensions to the Spring Framework. These extensions are
+ either:
+ </para>
<itemizedlist>
<listitem>
- <para>extensions to Spring Framework classes that can be used wherever
- the generic implementations provided by the framework do not integrate
- correctly with JBoss Web Framework Kit.</para>
+ <para>
+ extensions to Spring Framework classes that can be used
+ wherever the generic implementations provided by the framework do
+ not integrate correctly with JBoss Web Framework Kit.
+ </para>
</listitem>
-
<listitem>
- <para>extensions for deploying and running Spring applications with
- JBoss Enterprise Application Platform, JBoss Enterprise Web Platform,
- and JBoss Enterprise Web Server.</para>
+ <para>
+ extensions for deploying and running Spring applications with
+ JBoss Enterprise Application Platform and JBoss Enterprise Web
+ Platform.
+ </para>
</listitem>
</itemizedlist>
- <para>This user guide aims to cover the functionality of Snowdrop, to
- describe its components, and to provide information on how to use it
- optimally for running Spring applications in JBoss Enterprise Application
- Platform, JBoss Enterprise Web Platform, and JBoss Enterprise Web
- Server.</para>
+ <para>
+ This user guide aims to cover the functionality of Snowdrop, to
+ describe its components, and to provide information on how to use it
+ optimally for running Spring applications in JBoss Enterprise Application
+ Platform and JBoss Enterprise Web Platform.
+ </para>
- <simplesect>
- <title>Supported Spring Version</title>
-
- <para>Snowdrop 1.0 and subsequent micro-release versions (1.0.1, 1.0.2,
- etc.) should be used with Spring 2.5 (preferred version being
- 2.5.6.SEC01).</para>
- </simplesect>
-
<!--<para>
The current version of the package is supporting the following
configuration:
Modified: projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Author_Group.xml
===================================================================
--- projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Author_Group.xml 2010-05-21 12:43:37 UTC (rev 105089)
+++ projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Author_Group.xml 2010-05-21 13:02:40 UTC (rev 105090)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.1_User_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.0_User_Guide.ent">
%BOOK_ENTITIES;
]>
<authorgroup>
Modified: projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Book_Info.xml
===================================================================
--- projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Book_Info.xml 2010-05-21 12:43:37 UTC (rev 105089)
+++ projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Book_Info.xml 2010-05-21 13:02:40 UTC (rev 105090)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.1_User_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.0_User_Guide.ent">
%BOOK_ENTITIES;
]>
<bookinfo id="book-Snowdrop_1.0_User_Guide-Snowdrop_1.0_User_Guide">
Modified: projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Configuration.xml
===================================================================
--- projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Configuration.xml 2010-05-21 12:43:37 UTC (rev 105089)
+++ projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Configuration.xml 2010-05-21 13:02:40 UTC (rev 105090)
@@ -1,84 +1,100 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.1_User_Guide.ent">
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.0_User_Guide.ent">
%BOOK_ENTITIES;
]>
+
<chapter>
<title>Component usage</title>
- <para>This chapter details how to use each of the components included in
- Snowdrop.</para>
+ <para>
+ This chapter details how to use each of the components
+ included in Snowdrop.
+ </para>
<section>
<title>VFS-enabled Application Contexts</title>
<note>
- <para>From Spring 3.0 onward, the
- <classname>ApplicationContext</classname> implementations shipped with
- the Spring framework are VFS-compatible. The components described in
- this section are included with Snowdrop to provide backwards
- compatibility, but are not necessarily required.</para>
+ <para>
+ From Spring 3.0 onward, the <classname>ApplicationContext</classname>
+ implementations shipped with the Spring framework are VFS-compatible.
+ The components described in this section are included with Snowdrop
+ to provide backwards compatibility, but are not necessarily required.
+ </para>
</note>
- <para>The <filename>snowdrop-vfs.jar</filename> library supports resource
- scanning in the JBoss Virtual File System (VFS).</para>
+ <para>
+ The <filename>snowdrop-vfs.jar</filename> library supports resource
+ scanning in the JBoss Virtual File System (VFS).
+ </para>
- <para>When Spring 2.5 performs resource scanning, it assumes that
- resources are either from a directory or a packaged JAR, and treats any
- URLs it encounters accordingly.</para>
+ <para>
+ When Spring 2.5 performs resource scanning, it assumes that resources
+ are either from a directory or a packaged JAR, and treats any URLs
+ it encounters accordingly.
+ </para>
- <para>This assumption is not correct for the JBoss VFS, so Snowdrop
- provides a different underlying resource resolution mechanism by amending
- the functionality of the
- <classname>PathMatchingResourcePatternResolver</classname>.</para>
+ <para>
+ This assumption is not correct for the JBoss VFS, so Snowdrop provides
+ a different underlying resource resolution mechanism by amending the
+ functionality of the <classname>PathMatchingResourcePatternResolver</classname>.
+ </para>
- <para>This is done by using one of two
- <classname>ApplicationContext</classname> implementations provided by
- <filename>snowdrop-vfs.jar</filename>:</para>
+ <para>
+ This is done by using one of two <classname>ApplicationContext</classname>
+ implementations provided by <filename>snowdrop-vfs.jar</filename>:
+ </para>
<variablelist>
<varlistentry>
<term><classname>org.jboss.spring.vfs.context.VFSClassPathXmlApplicationContext</classname></term>
-
<listitem>
- <para>Replaces the Spring
- <classname>org.springframework.context.support.ClassPathXmlApplicationContext</classname>.</para>
+ <para>
+ Replaces the Spring
+ <classname>org.springframework.context.support.ClassPathXmlApplicationContext</classname>.
+ </para>
</listitem>
</varlistentry>
-
<varlistentry>
<term><classname>org.jboss.spring.vfs.context.VFSXmlWebApplicationContext</classname></term>
-
<listitem>
- <para>Replaces the Spring
- <classname>org.springframework.web.context.support.XmlWebApplicationContext</classname>.</para>
+ <para>
+ Replaces the Spring
+ <classname>org.springframework.web.context.support.XmlWebApplicationContext</classname>.
+ </para>
</listitem>
</varlistentry>
</variablelist>
- <para>In many cases, the
- <classname>VFSClassPathXmlApplicationContext</classname> is instantiated
- on its own, using something like:</para>
+ <para>
+ In many cases, the
+ <classname>VFSClassPathXmlApplicationContext</classname> is
+ instantiated on its own, using something like:
+ </para>
<programlisting language="Java">ApplicationContext context =
new VFSClassPathXmlApplicationContext("classpath:/context-definition-file.xml");</programlisting>
- <para>The <classname>XmlWebApplicationContext</classname> is not
- instantiated directly. Instead, it is bootstrapped by either the
- <classname>ContextLoaderListener</classname> or the
- <classname>DispatcherServlet</classname>. Each of these classes have
- configuration options that allow to replace the default application
- context type with a custom one.</para>
+ <para>
+ The <classname>XmlWebApplicationContext</classname> is not
+ instantiated directly. Instead, it is bootstrapped by either the
+ <classname>ContextLoaderListener</classname> or the
+ <classname>DispatcherServlet</classname>. In this case, the class used
+ for bootstrapping must be used to trigger an instantiation of the
+ VFS-enabled context.
+ </para>
- <para>To change the type of application context created by the
- <classname>ContextLoaderListener</classname>, add the
- <varname>contextClass</varname> parameter as shown in the following
- example code:</para>
+ <para>
+ To change the type of application context created by the
+ <classname>ContextLoaderListener</classname>, add the
+ <varname>contextClass</varname> parameter as shown in the
+ following example code:
+ </para>
<?dbfo-need height="5in" ?>
- <programlisting lang="XML" language="XML"><context-param>
+ <programlisting language="XML"><context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring-contexts/*.xml</param-value>
</context-param>
@@ -94,10 +110,12 @@
</listener-class>
</listener></programlisting>
- <para>To change the type of application context created by the
- <classname>DispatcherServlet</classname>, use the same
- <classname>contextClass</classname> parameter on the
- <classname>DispatcherServlet</classname> definition as shown:</para>
+ <para>
+ To change the type of application context created by the
+ <classname>DispatcherServlet</classname>, use the same
+ <classname>contextClass</classname> parameter on the
+ <classname>DispatcherServlet</classname> definition as shown:
+ </para>
<programlisting language="XML"><servlet>
<servlet-name>spring-mvc-servlet</servlet-name>
@@ -120,13 +138,14 @@
<?dbfo-need height="5in" ?>-->
<important>
- <title><exceptionname>ZipException</exceptionname></title>
+ <title>Important: <exceptionname>ZipException</exceptionname></title>
+ <para>
+ If you encounter the <exceptionname>ZipException</exceptionname> when
+ attempting to start the application, you need to replace the default
+ <classname>ApplicationContext</classname> with one of the VFS-enabled
+ implementations.
+ </para>
- <para>If you encounter the <exceptionname>ZipException</exceptionname>
- when attempting to start the application, you need to replace the
- default <classname>ApplicationContext</classname> with one of the
- VFS-enabled implementations.</para>
-
<programlisting language="Java">Caused by: java.util.zip.ZipException: error in opening zip file
...
at org.springframework.core.io.support.PathMatchingResourcePatternResolver
@@ -138,25 +157,33 @@
<title>Load-time weaving</title>
<note>
- <para>From Spring 3.0 onward, load-time weaving on JBoss Enterprise
- Application Platform and JBoss Enterprise Web Platform is supported out
- of the box. The component described in this section can be used to
- facilitate backwards compatibility, but configuring a custom load-time
- weaver is not required when using Spring 3.0.</para>
+ <para>
+ From Spring 3.0 onward, load-time weaving on JBoss Enterprise Application
+ Platform and JBoss Enterprise Web Platform is supported out of the box.
+ The component described in this section can be used to facilitate backwards
+ compatibility, but configuring a custom load-time weaver is not required
+ when using Spring 3.0.
+ </para>
</note>
- <para>Load-time weaving support is provided by the
- <filename>snowdrop-weaving.jar</filename> library.</para>
+ <para>
+ Load-time weaving support is provided by the
+ <filename>snowdrop-weaving.jar</filename> library.
+ </para>
- <para>To perform load-time weaving for the application classes in Spring
- (either for using load-time support for AspectJ or for JPA support), the
- Spring framework needs to install its own transformers in the classloader.
- For JBoss Enterprise Application Platform, JBoss Enterprise Web Platform
- and JBoss Enterprise Web Server, a classloader-specific
- <classname>LoadTimeWeaver</classname> is necessary.</para>
+ <para>
+ To perform load-time weaving for the application classes in Spring
+ (either for using load-time support for AspectJ or for JPA support),
+ the Spring framework needs to install its own transformers in
+ the classloader. For JBoss Enterprise Application Platform,
+ JBoss Enterprise Web Platform and JBoss Enterprise Web Server,
+ a classloader-specific <classname>LoadTimeWeaver</classname> is necessary.
+ </para>
- <para>Define the <classname>JBoss5LoadTimeWeaver</classname> in the
- <literal>www</literal> Spring application context as shown here:</para>
+ <para>
+ Define the <classname>JBoss5LoadTimeWeaver</classname> in the
+ Spring application context as shown here:
+ </para>
<programlisting language="Java"><context:load-time-weaver weaver-class="org.jboss.instrument.classloading.JBoss5LoadTimeWeaver"/></programlisting>
</section>
@@ -164,22 +191,29 @@
<section>
<title>The Spring Deployer</title>
- <para>The Spring deployer allows you to bootstrap a Spring application
- context, bind it in JNDI, and use it to provide Spring-configured business
- object instances.</para>
+ <para>
+ The Spring deployer allows you to bootstrap a
+ Spring application context, bind it in JNDI, and use it to
+ provide Spring-configured business object instances.
+ </para>
<section>
<title>JBoss + Spring + EJB 3.0 Integration</title>
- <para>Snowdrop contains a JBoss deployer that supports Spring packaging
- in JBoss Enterprise Application Platform, JBoss Enterprise Web Platform
- and JBoss Enterprise Web Server. This means it is possible to create JAR
- archives with a <filename>META-INF/jboss-spring.xml</filename> file to
- have your Spring bean factories deploy automatically.</para>
-
- <para>EJB 3.0 integration is also supported. You can deploy Spring
- archives and inject beans created in these deployments directly into an
- EJB by using the <varname>@Spring</varname> annotation.</para>
+ <para>
+ Snowdrop contains a JBoss deployer that supports Spring
+ packaging in JBoss Enterprise Application Platform,
+ JBoss Enterprise Web Platform and JBoss Enterprise Web Server.
+ This means it is possible to create JAR archives with a
+ <filename>META-INF/jboss-spring.xml</filename> file to have your
+ Spring bean factories deploy automatically.
+ </para>
+
+ <para>
+ EJB 3.0 integration is also supported. You can deploy Spring archives
+ and inject beans created in these deployments directly into an EJB by
+ using the <varname>@Spring</varname> annotation.
+ </para>
</section>
<section>
@@ -189,37 +223,33 @@
To install the Snowdrop JBoss deployer, unzip the
<filename>jboss-spring-deployer.zip</filename> in the
<filename>$JBOSS_HOME/server/$PROFILE/deployers</filename> directory of
- your JBoss Enterprise Application Platform or JBoss Enterprise Web
- Platform installation.
+ your JBoss Enterprise Application Platform or JBoss Enterprise Web Platform
+ installation.
</para>
- <para>
- The distribution of Snowdrop does not include the Spring JARs.Please add the following
- files from the Spring 3.0 distribution in the <code>spring.deployer</code> folder:
- </para>
- <itemizedlist>
+
+<!-- <itemizedlist>
<listitem>
- <para>org.springframework.beans-3.0.x.RELEASE.jar;</para>
+ <para>org.springframework.beans-3.0.2.RELEASE.jar;</para>
</listitem>
<listitem>
- <para>org.springframework.context-3.0.x.RELEASE.jar;</para>
+ <para>org.springframework.context-3.0.2.RELEASE.jar;</para>
</listitem>
<listitem>
- <para>org.springframework.core-3.0.x.RELEASE.jar;</para>
+ <para>org.springframework.core-3.0.2.RELEASE.jar.</para>
</listitem>
- <listitem>
- <para>org.springframework.web-3.0.x.RELEASE.jar.</para>
- </listitem>
- </itemizedlist>
+ </itemizedlist>-->
</section>
<section>
<title>Spring deployments</title>
- <para>You can create Spring deployments that work similarly to JARs,
- EARs, and WARs with the JBoss Spring deployer. Spring JARs are created
- with the following structure:</para>
+ <para>
+ You can create Spring deployments that work similarly to JARs, EARs, and WARs
+ with the JBoss Spring deployer. Spring JARs are created with the following
+ structure:
+ </para>
<screen>my-app.spring/
org/
@@ -229,26 +259,26 @@
META-INF/
jboss-spring.xml</screen>
- <para><filename>my-app.spring</filename> is a JAR that contains classes.
- A <filename>jboss-spring.xml</filename> file exists in the
- <filename>META-INF</filename> directory of the JAR. By default, the
- JBoss Spring deployer registers the bean factory defined in
- <filename>jboss-spring.xml</filename> into JNDI in a non-serialized
- form. The default JNDI name is the short name of the deployment file —
- in this case, <literal>my-app</literal>.</para>
+ <para>
+ <filename>my-app.spring</filename> is a JAR that contains classes. A
+ <filename>jboss-spring.xml</filename> file exists in the
+ <filename>META-INF</filename> directory of the JAR. By default, the
+ JBoss Spring deployer registers the bean factory defined in
+ <filename>jboss-spring.xml</filename> into JNDI in a non-serialized
+ form. The default JNDI name is the short name of the deployment file —
+ in this case, <literal>my-app</literal>.
+ </para>
- <para>You do not have to create an archive. Instead, you can place your
- JAR libraries under <filename>$JBOSS_HOME/server/$PROFILE/lib</filename>
- and add an XML file of the form
- <literal><name>-spring.xml</literal>, for example,
- <filename>my-app-spring.xml</filename>, into the
- <filename>deploy</filename> directory of your JBoss Enterprise
- Application Platform or JBoss Enterprise Web Platform installation. The
- default JNDI name will be the short name of the XML file; in this case,
- <literal>my-app</literal>.</para>
-
- <para>As well, you can include the <literal><name>-spring.xml</literal>
- file in the <filename>META-INF</filename> directory of an EAR.</para>
+ <para>
+ You do not have to create an archive. Instead, you can place your JAR
+ libraries under <filename>$JBOSS_HOME/server/$PROFILE/lib</filename> and
+ add an XML file of the form <literal><name>-spring.xml</literal>,
+ for example, <filename>my-app-spring.xml</filename>, into the
+ <filename>deploy</filename> directory of your JBoss Enterprise Application
+ Platform or JBoss Enterprise Web Platform installation. The default JNDI
+ name will be the short name of the XML file; in this case,
+ <literal>my-app</literal>.
+ </para>
</section>
<section>
@@ -267,8 +297,10 @@
<section>
<title>Defining the JNDI name</title>
- <para>You can specify the JNDI name explicitly by putting it in the
- description element of the Spring XML.</para>
+ <para>
+ You can specify the JNDI name explicitly by putting it in the
+ description element of the Spring XML.
+ </para>
<!--<?dbfo-need height="5in" ?>-->
@@ -278,17 +310,20 @@
<bean id="springBean" class="example.SpringBean"/>
</beans></programlisting>
- <para><literal>MyApp</literal> will be used as the JNDI name in this
- example.</para>
+ <para>
+ <literal>MyApp</literal> will be used as the JNDI name in this example.
+ </para>
</section>
<section>
<title>Parent Bean factories</title>
- <para>Sometimes you want your deployed Spring bean factory to be able to
- reference beans deployed in another Spring deployment. You can do this
- by declaring a parent bean factory in the description element in the
- Spring XML, like so:</para>
+ <para>
+ Sometimes you want your deployed Spring bean factory to be able
+ to reference beans deployed in another Spring deployment. You can do
+ this by declaring a parent bean factory in the description element in
+ the Spring XML, like so:
+ </para>
<programlisting language="XML"><beans>
<description>BeanFactory=(AnotherApp) ParentBeanFactory=(MyApp)</description>
@@ -299,11 +334,12 @@
<section>
<title>Injection into EJBs</title>
- <para>Once an <classname>ApplicationContext</classname> has been
- successfully bootstrapped, the Spring beans defined in it can be used
- for injection into EJBs. To do this, the EJBs must be intercepted with
- the <classname>SpringLifecycleInterceptor</classname>, as in the
- following example:</para>
+ <para>
+ Once an <classname>ApplicationContext</classname> has been successfully bootstrapped,
+ the Spring beans defined in it can be used for injection into EJBs.
+ To do this, the EJBs must be intercepted with the
+ <classname>SpringLifecycleInterceptor</classname>, as in the following example:
+ </para>
<programlisting>@Stateless
@Interceptors(SpringLifecycleInterceptor.class)
Modified: projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Feedback.xml
===================================================================
--- projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Feedback.xml 2010-05-21 12:43:37 UTC (rev 105089)
+++ projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Feedback.xml 2010-05-21 13:02:40 UTC (rev 105090)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.1_User_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "../Snowdrop_1.0_User_Guide.ent">
%BOOK_ENTITIES;
]>
<section>
Modified: projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Introduction.xml
===================================================================
--- projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Introduction.xml 2010-05-21 12:43:37 UTC (rev 105089)
+++ projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Introduction.xml 2010-05-21 13:02:40 UTC (rev 105090)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.1_User_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.0_User_Guide.ent">
%BOOK_ENTITIES;
]>
Modified: projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Revision_History.xml
===================================================================
--- projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Revision_History.xml 2010-05-21 12:43:37 UTC (rev 105089)
+++ projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Revision_History.xml 2010-05-21 13:02:40 UTC (rev 105090)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.1_User_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.0_User_Guide.ent">
%BOOK_ENTITIES;
]>
<appendix id="appe-Snowdrop_1.0_User_Guide-Revision_History">
Modified: projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Snowdrop_1.1_User_Guide.xml
===================================================================
--- projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Snowdrop_1.1_User_Guide.xml 2010-05-21 12:43:37 UTC (rev 105089)
+++ projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/Snowdrop_1.1_User_Guide.xml 2010-05-21 13:02:40 UTC (rev 105090)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.1_User_Guide.ent">
+<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.0_User_Guide.ent">
%BOOK_ENTITIES;
]>
<book>
Modified: projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/This_Guide.xml
===================================================================
--- projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/This_Guide.xml 2010-05-21 12:43:37 UTC (rev 105089)
+++ projects/snowdrop/branches/enterprise/Snowdrop_1.1_User_Guide/en-US/This_Guide.xml 2010-05-21 13:02:40 UTC (rev 105090)
@@ -1,43 +1,41 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.1_User_Guide.ent">
+<?xml version='1.0' encoding='utf-8' ?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+<!ENTITY % BOOK_ENTITIES SYSTEM "Snowdrop_1.0_User_Guide.ent">
%BOOK_ENTITIES;
]>
+
<chapter>
<title>What This Guide Covers</title>
- <para>Snowdrop is a utility package that contains JBoss-specific extensions
- to the Spring Framework. These extensions are either:</para>
-
+ <para>
+ Snowdrop is a utility package that contains JBoss-specific
+ extensions to the Spring Framework. These extensions are
+ either:
+ </para>
<itemizedlist>
<listitem>
- <para>extensions to Spring Framework classes that can be used wherever
- the generic implementations provided by the framework do not integrate
- correctly with JBoss Web Framework Kit.</para>
+ <para>
+ extensions to Spring Framework classes that can be used
+ wherever the generic implementations provided by the framework do
+ not integrate correctly with JBoss Web Framework Kit.
+ </para>
</listitem>
-
<listitem>
- <para>extensions for deploying and running Spring applications with
- JBoss Enterprise Application Platform, JBoss Enterprise Web Platform,
- and JBoss Enterprise Web Server.</para>
+ <para>
+ extensions for deploying and running Spring applications with
+ JBoss Enterprise Application Platform, JBoss Enterprise Web Platform,
+ and JBoss Enterprise Web Server.
+ </para>
</listitem>
</itemizedlist>
- <para>This user guide aims to cover the functionality of Snowdrop, to
- describe its components, and to provide information on how to use it
- optimally for running Spring applications in JBoss Enterprise Application
- Platform, JBoss Enterprise Web Platform, and JBoss Enterprise Web
- Server.</para>
+ <para>
+ This user guide aims to cover the functionality of Snowdrop, to
+ describe its components, and to provide information on how to use it
+ optimally for running Spring applications in JBoss Enterprise Application
+ Platform, JBoss Enterprise Web Platform, and JBoss Enterprise Web Server.
+ </para>
- <simplesect>
- <title>Supported Spring Version</title>
-
- <para>Snowdrop 1.1 and subsequent micro-release versions (1.1.1, 1.1.2,
- etc.) should be used with Spring 3.0 (preferred being 3.0.2.RELEASE and
- later).</para>
- </simplesect>
-
<!--<para>
The current version of the package is supporting the following
configuration:
More information about the jboss-cvs-commits
mailing list