Author: ron.sigal(a)jboss.com
Date: 2009-09-12 17:03:11 -0400 (Sat, 12 Sep 2009)
New Revision: 5461
Modified:
remoting2/branches/2.2/docs/guide/en/chap4.xml
Log:
JBREM-1151: Updated dependencies.
Modified: remoting2/branches/2.2/docs/guide/en/chap4.xml
===================================================================
--- remoting2/branches/2.2/docs/guide/en/chap4.xml 2009-09-12 16:27:21 UTC (rev 5460)
+++ remoting2/branches/2.2/docs/guide/en/chap4.xml 2009-09-12 21:03:11 UTC (rev 5461)
@@ -9,7 +9,8 @@
<para><emphasis role="bold">jboss-remoting.jar</emphasis>
- this binary
contains all the remoting classes. This is the only remoting jar that is
- needed to perform any remoting function within JBoss Remoting.</para>
+ needed to perform any remoting function within JBoss Remoting. Of course,
+ third party jars will be required.</para>
<para>Since some may want to better control size of the binary footprint
needed to use remoting, the remoting classes have been broken out into
@@ -63,8 +64,7 @@
<para><emphasis
role="bold">jboss-remoting-multiplex.jar</emphasis> -
contains all the classes needed for the multiplex and sslmultiplex
- transports to function as a client and a server. Use of this jar also
- requires jboss-remoting-socket.jar be on classpath as well.</para>
+ transports to function as a client and a server.</para>
<para><emphasis
role="bold">jboss-remoting-bisocket.jar</emphasis> -
contains all the classes needed for the bisocket and sslbisocket transports
@@ -87,72 +87,194 @@
functions.</para>
<section>
- <title>Thirdparty libraries</title>
+ <title>Third party libraries</title>
<para>This section covers which thirdparty jars are required based on
- the feature or transport to be used. Remember, whenever see
- jboss-remoting-XXX.jar mentioned, they can all be replaced with just the
+ the feature or transport to be used. Remember, any
+ jboss-remoting-XXX.jar can be replaced with just the
jboss-remoting.jar.</para>
+
+ <para> Table 1 gives the direct dependencies of the Remoting jars on
+ third party jars (and jboss-remoting-core.jar, in most cases). Table 2
+ gives the transitive closure of Table 1.</para>
- <para><emphasis role="bold">All remoting
servers:</emphasis>
- jboss-remoting-core.jar, jboss-common.jar, jboss-jmx.jar,
- log4j.jar</para>
+ <table frame="all" id="JarDependencyTable"
xreflabel="Table 1">
+ <title>Jar dependencies.</title>
- <para><emphasis role="bold">All remoting clients:
- </emphasis>jboss-remoting-core.jar, jboss-common.jar, jboss-jmx.jar,
- log4j.jar, concurrent.jar</para>
+ <tgroup cols="2">
+ <colspec align="left" colname="c1" colnum="1"
/>
+ <colspec align="left" colname="c2" colnum="2"
/>
- <para>Note: concurrent.jar needed because of org.jboss.util.id.GUID used
- to create session id within Client
- (
http://jira.jboss.com/jira/browse/JBREM-549)</para>
+ <thead>
+ <row>
+ <entry
align="center"><para>jar</para></entry>
+ <entry align="center"><para>depends
on</para></entry>
+ </row>
+ </thead>
- <para>Remoting requires the use of JMX classes. It does not require the
+ <tbody>
+ <row>
+
<entry><para>jboss-remoting-bisocket-client.jar:</para></entry>
+ <entry><para>concurrent.jar, jboss-common.jar,
jboss-remoting-core.jar, jboss-serialization.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-bisocket.jar:</para></entry>
+ <entry><para>concurrent.jar, jboss-common.jar,
jboss-remoting-core.jar, jboss-serialization.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-core.jar:</para></entry>
+ <entry><para>concurrent.jar, jboss-common.jar, jboss-jmx.jar,
jboss-serialization.jar, log4j.jar, saxon.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-detection.jar:</para></entry>
+ <entry><para>jboss-common.jar, jboss-jmx.jar,
jboss-remoting-core.jar, jnpserver.jar, log4j.jar, saxon.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-http-client.jar:</para></entry>
+ <entry><para>jboss-common.jar,
jboss-remoting-core.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-http.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, jboss-common.jar,
jboss-jmx.jar, jboss-remoting-core.jar, tomcat-coyote.jar,
tomcat-util.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-multiplex.jar:</para></entry>
+ <entry><para>concurrent.jar, jboss-common.jar, jboss-jmx.jar,
jboss-remoting-core.jar, jboss-serialization.jar, log4j.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-rmi.jar:</para></entry>
+ <entry><para>jboss-common.jar,
jboss-remoting-core.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-samples.jar:</para></entry>
+ <entry><para>dom4j.jar, jboss-common.jar, jboss-jmx.jar,
jboss-remoting-core.jar, jboss-remoting-detection.jar, jboss-remoting-multiplex.jar,
jnpserver.jar, junit.jar, saxon.jar, servlet-api.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-serialization.jar:</para></entry>
+ <entry><para>jboss-common.jar, jboss-remoting-core.jar,
jboss-serialization.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-servlet.jar:</para></entry>
+ <entry><para>jboss-common.jar, jboss-remoting-core.jar,
servlet-api.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-socket-client.jar:</para></entry>
+ <entry><para>concurrent.jar, jboss-common.jar,
jboss-remoting-core.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-socket.jar:</para></entry>
+ <entry><para>concurrent.jar, jboss-common.jar,
jboss-remoting-core.jar, jboss-serialization.jar</para></entry>
+ </row>
+ <row>
+ <entry><para>jboss-remoting.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, concurrent.jar, dom4j.jar,
jboss-common.jar, jboss-jmx.jar, jboss-serialization.jar, jnpserver.jar, junit.jar,
log4j.jar, saxon.jar, servlet-api.jar, tomcat-coyote.jar,
tomcat-util.jar</para></entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+
+ <table frame="all" id="JarTransitiveDependencyTable"
xreflabel="Table 1">
+ <title>Transitive closure of jar dependencies.</title>
+
+ <tgroup cols="2">
+ <colspec align="left" colname="c1" colnum="1"
/>
+ <colspec align="left" colname="c2" colnum="2"
/>
+
+ <thead>
+ <row>
+ <entry
align="center"><para>jar</para></entry>
+ <entry align="center"><para>depends
on</para></entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+
<entry><para>jboss-remoting-bisocket-client.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar], log4j.jar,
trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-bisocket.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar], log4j.jar,
trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-core.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar], log4j.jar,
trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-detection.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
jboss-serialization.jar, jnpserver.jar, log4j.jar, trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-http-client.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar],
log4j.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-http.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar], log4j.jar,
trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-multiplex.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar], log4j.jar,
trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-rmi.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar], log4j.jar,
trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-samples.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
jboss-remoting-detection.jar, jboss-remoting-multiplex.jar, jboss-serialization.jar,
jnpserver.jar, junit.jar, log4j.jar, servlet-api.jar,
trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-serialization.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar], log4j.jar,
trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-servlet.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar], log4j.jar,
servlet-api.jar, trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-socket-client.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar], log4j.jar,
trove.jar</para></entry>
+ </row>
+ <row>
+
<entry><para>jboss-remoting-socket.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-core.jar,
[jboss-remoting-detection.jar], jboss-serialization.jar, [jnpserver.jar], log4j.jar,
trove.jar</para></entry>
+ </row>
+ <row>
+ <entry><para>jboss-remoting.jar:</para></entry>
+ <entry><para>commons-httpclient.jar, commons-logging-api.jar,
concurrent.jar, dom4j.jar, jboss-common.jar, jboss-jmx.jar, jboss-remoting-detection.jar,
jboss-serialization.jar, jnpserver.jar, junit.jar, log4j.jar, servlet-api.jar,
tomcat-apr.jar, tomcat-coyote.jar, tomcat-util.jar, trove.jar</para></entry>
+ </row>
+
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para><emphasis
role="bold">Notes.</emphasis></para>
+
+ <para>1. jboss-common.jar needs commons-httpclient.jar, which explains
+ the transitive dependency of all Remoting jars on commons-httpclient.jar.
+ Also, commons-httpclient.jar needs commons-logging-api.jar.</para>
+
+ <para>2. Remoting requires the use of JMX classes. It does not require the
JBoss implementation (jboss-jmx.jar) of JMX in order to function
correctly, so can replace jboss-jmx.jar with another JMX implementation
library (or exclude it if using jdk 1.5 or higher, which has JMX
implementation built in).</para>
-
- <para><emphasis role="bold">Multicast detection:
- </emphasis>jboss-remoting-detection.jar, concurrent.jar,
- dom4j.jar</para>
-
- <para><emphasis role="bold">JNDI detection:</emphasis>
+
+ <para>3. Multicast detection requires jboss-remoting-detection.jar,
concurrent.jar,
+ dom4j.jar. JNDI detection: requires
jboss-remoting-detection.jar, concurrent.jar, dom4j.jar, jnpserver.jar
- (for jndi api classes)</para>
-
- <para>The dom4j.jar for use of detection is required because using
+ (for jndi api classes). dom4j.jar for use of detection is required by
jboss-jmx.jar.</para>
+
+ <para>4. jboss-remoting-core contains the transporter classes, and some of
those
+ need jboss-remoting-detection.jar, which explains the proliferation of
+ jboss-remoting-detection.jar in Table 2. If transporters are not used,
+ then jboss-remoting-detection.jar can be omitted. Moreover, JNDI detection
+ requires jnpserver.jar, so that, if transporters are not used, jnpserver.jar
+ can be omitted.</para>
- <para><emphasis role="bold">Socket server:</emphasis>
- jboss-remoting-socket.jar</para>
-
- <para><emphasis role="bold">Socket client:</emphasis>
- jboss-remoting-socket-client.jar</para>
-
- <para><emphasis role="bold">HTTP server:</emphasis>
- jboss-remoting-http.jar, tomcat-coyote.jar, tomcat-util.jar,
- commons-logging-api.jar, tomcat-http.jar</para>
-
- <para>Note: need tomcat-apr.jar and tcnative-1.dll/tcnative-1.so on
- system path if want to use APR based tomcat connector</para>
-
- <para><emphasis role="bold">HTTP client:</emphasis>
- jboss-remoting-http-client.jar</para>
-
- <para><emphasis role="bold">Servlet server:</emphasis>
- servlet-invoker.war (deployed in web container),
- jboss-remoting-servlet.jar</para>
-
- <para><emphasis role="bold">Servlet client:</emphasis>
- jboss-remoting-http-client.jar</para>
-
- <para><emphasis role="bold">RMI server and
client:</emphasis>
- jboss-remoting-rmi.jar</para>
-
- <para><emphasis role="bold">Multiplex server and
client:</emphasis>
- jboss-remoting-socket.jar, jboss-remoting-multiplex.jar</para>
-
- <para><emphasis role="bold">JBoss
serialization:</emphasis>
- jboss-serialization.jar, trove.jar</para>
</section>
</chapter>
\ No newline at end of file