Author: veithen
Date: Tue Jun 21 21:42:32 2011
New Revision: 1138203
URL: http://svn.apache.org/viewvc?rev=1138203&view=rev
Log:
AXIS2-4917: Added documentation explaining how to deploy Axis2 on WebSphere,
especially WAS 7.0.
Modified:
axis/axis2/java/core/trunk/src/site/xdoc/docs/app_server.xml
Modified: axis/axis2/java/core/trunk/src/site/xdoc/docs/app_server.xml
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/src/site/xdoc/docs/app_server.xml?rev=1138203&r1=1138202&r2=1138203&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/src/site/xdoc/docs/app_server.xml (original)
+++ axis/axis2/java/core/trunk/src/site/xdoc/docs/app_server.xml Tue Jun 21
21:42:32 2011
@@ -28,10 +28,10 @@
<p>This document provides configuration information required for
your Application Server to run Apache Axis2 to its fullest
potential.</p>
- <section name="WebLogic/ WebSphere">
+ <section name="WebLogic">
<subsection name="Use exploded configuration to deploy Axis2 WAR">
<p>We recommend using the exploded configuration to deploy
Axis2
- WAR in WebLogic and WebSphere application servers to support
the
+ WAR in WebLogic application server to support the
hotupdate/ hotdeployment features in Axis2. However, if you
want to
deploy custom WARs, say in a clustering environment, you need
to
add two additional files into the WEB-INF named
"services.list" and
@@ -62,7 +62,7 @@
directory of a Web application in preference to application or
system classes. This is a recommended approach since it only
impacts a single Web module.</p>
- <p>Please refer to the following documents in WebLogic/
WebSphere
+ <p>Please refer to the following documents in WebLogic
for more information:</p>
<ul>
<li><a href=
@@ -72,9 +72,6 @@
<li><a href=
"http://e-docs.bea.com/wls/docs81/webapp/deployment.html">Redeploying
a Web Application in Exploded Directory Format</a></li>
- <li><a href=
-
"http://publib.boulder.ibm.com/infocenter/wsiihelp/v8r3/index.jsp?topic=/com.ibm.websphere.ii.product.ce.doc/configuring/iiyviigdepwebexpl.htm">
- Deploying the Web application in exploded form</a></li>
</ul>
</subsection>
<subsection name="Lack of namespacing on serialised items">
@@ -95,5 +92,52 @@
to be on the application classpath.</p>
</subsection>
</section>
+ <section name="WebSphere">
+ <subsection name="Avoiding conflicts with WebSphere's JAX-WS
runtime">
+ <p>
+ The JAX-WS runtime in WebSphere Application Server is
based on a modified version of Axis2 and these
+ classes are visible to application class loaders. This
means that when deploying
+ a standard version of Axis2 on WAS 7.0 (and WAS 6.1 with
the Web Services feature pack installed),
+ special configuration is required to avoid conflicts with
the Axis2 classes used internally by WebSphere.
+ In particular it is necessary to change the class loader
policy of the Web module to parent last. However,
+ this is not sufficient because Axis2 creates additional
class loaders for modules and services, and
+ these use parent first class loading by default.
Therefore, two things must be done to make a standard
+ Axis2 distribution work with WebSphere:
+ </p>
+ <ol>
+ <li>
+ Before deploying the Axis2 WAR, edit the
<tt>axis2.xml</tt> file and set the
+ <tt>EnableChildFirstClassLoading</tt> parameter to
<tt>true</tt>.
+ Please note that this parameter is only supported in
Axis2 1.5.5 or higher.
+ </li>
+ <li>
+ After deployment, modify the application configuration
to enable parent last class loading
+ for the Web module: in the WebSphere admin console, go
the the configuration page for
+ the enterprise application, click on <em>Manage
Modules</em> and locate the WAR containing
+ Axis2 (in the default WAR distribution, the module is
called <em>Apache-Axis2</em>), then
+ change the <em>Class loader order</em> option to
<em>Classes loaded with local class
+ loader first (parent last)</em>. Note that the class
loader policy for the enterprise
+ application itself (which can be specified under
<em>Class loading and update detection</em>)
+ is irrelevant, unless a custom EAR distribution is
used that includes the Axis2 libraries
+ in the EAR instead of the WAR.
+ </li>
+ </ol>
+ </subsection>
+ <subsection name="Deploying services and modules">
+ <p>
+ By default (i.e. if the <em>Distribute application</em>
option has not been disabled explicitly)
+ WebSphere will deploy the application in exploded form.
The standard location for these files is
+ in the <tt>installedApps</tt> subdirectory in the
WebSphere profile directory. This means that AAR
+ and MAR files can simply be deployed by dropping them into
the corresponding folders. In this
+ scenario, hot deployment is supported and there is no need
to update the <tt>services.list</tt>
+ and <tt>modules.list</tt> files.
+ </p>
+ <p>
+ However, the directory is still under control of WebSphere
and manually deployed AAR and MAR files
+ will be removed e.g. when the application is upgraded. It
may therefore be a good idea to configure
+ Axis2 to use a repository location outside of the
<tt>installedApps</tt> directory.
+ </p>
+ </subsection>
+ </section>
</body>
</document>