User: kunle
Date: 01/03/28 02:32:48
Modified: src/docs howtomssql.xml
Log:
fixed build errors and misuse of <table> for layout ;-)
Revision Changes Path
1.2 +543 -696 manual/src/docs/howtomssql.xml
Index: howtomssql.xml
===================================================================
RCS file: /cvsroot/jboss/manual/src/docs/howtomssql.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- howtomssql.xml 2001/03/28 04:44:44 1.1
+++ howtomssql.xml 2001/03/28 10:32:48 1.2
@@ -1,4 +1,6 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XML Spy v3.0 NT (http://www.xmlspy.com) by XML Spy (XML Spy) -->
+<!-- <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"docbookx/docbookx.dtd"> -->
<section>
<title>HOWTO: Using MS SQL Server with JBoss</title>
<para>
@@ -23,7 +25,7 @@
application server suite to develop, deploy and
run Enterprise Java
applications that with CMP or BMP.
</para>
- <para>
+ <para>
<ulink url="http://www.jboss.org/">JBoss</ulink>
is the brand name of the leading, Open Source,
standards-compliant J2EE
application server suite. The suite includes the JBossServer
EJB v1.1
@@ -35,7 +37,7 @@
with features including a much admired modular construction
and an advanced
plug-in architecture.
</para>
- <para>
+ <para>
<ulink url="http://www.microsoft.com/sql/">Microsoft SQL
Server</ulink>
is a robust, high performance and secure platforms for
building and managing relational
databases. It is a Windows application that runs on the Windows
95, 98,
@@ -43,7 +45,7 @@
but I guess it is safe to assume you aren't using that version
with JBoss.
Or is it?
</para>
- <para>
+ <para>
The combination of the JBoss suite of high performance, Open
Source, 100%
Pure Java J2EE application servers and the ultra-high performance
Microsoft
SQL Server RDBMS offers you a J2EE development and deployment
environment
@@ -62,10 +64,26 @@
rest of this document covers the following tasks:
</para>
<orderedlist>
- <listitem><link linkend="INSTALL-DRIVER">Install a
JDBC Driver for MS SQL Server</listitem>
- <listitem><link linkend="CONFIGURE-JBOSS">Configure
JBoss to use the JDBC driver</listitem>
- <listitem><link linkend="CONFIGURE-CMP">Specify
appropriate MS SQL Server datatypes for CMP</listitem>
- <listitem><link
linkend="TROUBLE-SHOOTING">Troubleshoot any problems</listitem>
+ <listitem>
+ <para>
+ <link linkend="INSTALL-DRIVER">Install
a JDBC Driver for MS SQL Server</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link
linkend="CONFIGURE-JBOSS">Configure JBoss to use the JDBC driver</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link linkend="CONFIGURE-CMP">Specify
appropriate MS SQL Server datatypes for CMP</link>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <link
linkend="TROUBLE-SHOOTING">Troubleshoot any problems</link>
+ </para>
+ </listitem>
</orderedlist>
<para>
Now it is important to be aware that both the JBoss
application server suite and MS SQL Server
@@ -75,11 +93,11 @@
This is even more likely to be the case if you are using
the latest CVS or developer version of
JBoss or a beta of MS SQL Server.
</para>
- <para>
+ <para>
If this is the case with you or, if you have any
further comments or suggestions about this document
- or JBoss then please join the <link
url="../business/list.html">JBoss mailing list</link>. You will
+ or JBoss then please join the <ulink
url="../business/list.html">JBoss mailing list</ulink>. You will
then be able to contribute to the production of this
document and the development of JBoss.
- </para>
+ </para>
</section>
</section>
<section id="INSTALL-DRIVER">
@@ -89,6 +107,7 @@
a compatible JDBC driver. Some of the many JDBC drivers that
exist for Microsoft SQL Server are listed below.
</para>
<table>
+ <title>Partial list of available MS SQL Server JBDC
drivers</title>
<tgroup cols="4" align="center" colsep="1" rowsep="1">
<thead>
<row>
@@ -101,38 +120,52 @@
<tbody>
<row>
<entry>FreeTDS</entry>
- <entry><ulink
url="htttp:/www.freetds.org/>www.freetds.org</ulink></entry>
+ <entry>
+ <ulink
url="http:/www.freetds.org/">www.freetds.org</ulink>
+ </entry>
<entry>Type 4</entry>
<entry>Free/Open Source</entry>
</row>
<row>
<entry>Merant DataDirect Connect
JDBC</entry>
- <entry><ulink
url="htttp:/www.merant.com/>www.merant.com</ulink></entry>
+ <entry>
+ <ulink
url="http:/www.merant.com/">www.merant.com</ulink>
+ </entry>
<entry>Type 4</entry>
<entry>Commercial</entry>
</row>
<row>
<entry>i-net Opta JDBC</entry>
- <entry><ulink
url="htttp:/www.inetsoftware.de/>www.inetsoftware.de</ulink></entry>
+ <entry>
+ <ulink
url="http:/www.inetsoftware.de/">www.inetsoftware.de</ulink>
+ </entry>
<entry>Type 4</entry>
<entry>Commercial</entry>
</row>
<row>
<entry>Atinav aveConnect JDBC</entry>
- <entry><ulink
url="htttp:/www.atinav.com/>www.atinav.com</ulink></entry>
+ <entry>
+ <ulink
url="http:/www.atinav.com/">www.atinav.com</ulink>
+ </entry>
<entry>Type 4</entry>
<entry>Commercial</entry>
</row>
<row>
- <entry>Sun JDBC-ODBC
Bridge<superscript>*</superscript></entry>
- <entry><ulink
url="htttp:/java.sun.com/jdbc/>java.sun.com</ulink></entry>
+ <entry>Sun JDBC-ODBC
Bridge<superscript>*</superscript>
+ </entry>
+ <entry>
+ <ulink
url="http:/java.sun.com/jdbc/">java.sun.com</ulink>
+ </entry>
<entry>Type 4</entry>
<entry>Free</entry>
</row>
</tbody>
</tgroup>
- <table>
- <note><superscript>*</superscript> The Sun JBDC-ODBC Bridge driver is
NOT recommended for serious J2EE development or deployment</note>
+ </table>
+ <note>
+ <para>
+ <superscript>*</superscript> The Sun JBDC-ODBC Bridge
driver is NOT recommended for serious J2EE development or deployment</para>
+ </note>
<para>
For the remainder of this document, the Sun JDBC-ODBC bridge,
the Merant DataDirect Connect JDBC 2.0 Client
and the i-net OPTA 2000 JDBC drivers will be used to
illustrate the use of MS SQL Server with JBoss.
@@ -145,61 +178,74 @@
for any application that uses the JDBC-ODBC bridge.
For this tutorial it will be assumed that the Sun
JDBC-ODBC bridge is properly installed on your system.
</para>
- <para>
+ <para>
To use the Sun JDBC-ODBC bridge with JBoss and MS SQL
Server you need to create an ODBC datasource that
references your MS SQL Server database. For this
tutorial it will be assumed that a datasource named
- <replaceable>jboss_odbc</replaceable> has been created
that points to an MS SQL Server database.
- </section>
+ <replaceable>jboss_odbc</replaceable> has been created
that points to an MS SQL Server database.
+ </para>
+ </section>
<section>
<title>Installing the Merant DataDirect Connect JDBC
driver</title>
<para>
According to the blurb on Merant's site:
</para>
- <blockquote>
+ <blockquote>
+ <para>
"Connect JDBC are optimized and reliable Type 4 JDBC
drivers for accessing data from Java applets or
applications. Connect JDBC supports the latest Sun
JDBC specification and the J2EE framework, providing
highly scalable data access from heterogeneous
platforms, and offering greater flexibility for today's
demanding corporate environment."
- </blockquote>
+ </para>
+ </blockquote>
<para>
The Merant DataDirect Connect JDBC driver's .jar files
must be accessible to JBoss. There are two ways to
accomplish this, you should choose one of the
following options:
</para>
- <orderedlist>
- <listitem><para>
+ <orderedlist>
+ <listitem>
+ <para>
Run Merant's installation program then add the
<filename>base.jar</filename>, <filename>util.jar</filename>
and <filename>sqlserver.jar</filename> files
to the <envar>CLASSPATH</envar>. The files are located in the
<filename>%MERANT_HOME%/lib</filename>
directory on Windows.
- </para></listitem>
- <listitem><para>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
Copy the <filename>base.jar</filename>,
<filename>util.jar</filename> and <filename>sqlserver.jar</filename>
files from the
<filename>%MERANT_HOME%/lib</filename> directory to the
<filename>%JBOSS_HOME%/lib/ext</filename>
directory. This is the recommended option.
- </para></listitem>
+ </para>
+ </listitem>
</orderedlist>
- </section>
+ </section>
<section>
<title>Installing the i-net OPTA 2000 JDBC driver</title>
<para>
According to the blurb on i-net's site:
</para>
- <blockquote>
+ <blockquote>
+ <para>
"i-net software announces the availability of i-net
OPTA™ 2000. This version features i-net
- PLEXA&trade, a pool manager that comes with i-net
OPTA&trade free of charge. The easy to use pool manager
+ PLEXA™, a pool manager that comes with i-net
OPTA™ free of charge. The easy to use pool manager
is a means of seamlessly employing connection pooling
with i-net OPTA."
- </blockquote>
+ </para>
+ </blockquote>
<para>
The i-net OPTRA 2000 JDBC driver's .jar files must be
accessible to JBoss. There are two ways to
accomplish this, you should choose one of the
following options:
</para>
- <orderedlist>
- <listitem><para>
+ <orderedlist>
+ <listitem>
+ <para>
Add the <filename>Optra2000.jar</filename>
file to your <envar>CLASSPATH</envar> when running JBoss.
- </para></listitem>
- <listitem><para>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
Copy the <filename>Optra2000.jar</filename>
file to the <filename>%JBOSS_HOME%/lib/ext</filename>
directory. This is the recommended option.
- </para></listitem>
+ </para>
+ </listitem>
</orderedlist>
<para>
Back to <link linkend="INSTALL-MENU">install
menu</link>
@@ -208,682 +254,483 @@
</section>
<section id="CONFIGURE-JBOSS">
<title>Configure JBoss to use the JDBC driver</title>
- <para>
+ <para>
The instructions for configuring JBoss to use your
JDBC driver is different depending on the
version of JBoss you have. Please select the
appropriate link for your version:
</para>
- <itemizedlist>
- <listitem><para>
- <link linkend="CONFIGURE-JBOSS2"
endterm="CONFIGURE-JBOSS2"></link>
- </para></listitem>
- <listitem><para>
- <link linkend="CONFIGURE-JBOSS2"
endterm="CONFIGURE-JBOSS2X"></link>
- </para></listitem>
- </itemizedlist>
- <section id="CONFIGURE-JBOSS2">
- <title>Configure JBoss 2.0 FINAL</title>
- <section>
- <title>Tell JBoss about the new JDBC driver</title>
- <para>
- Now that you have installed a JDBC driver for
MS SQL Server, you need to tell JBoss that you would
- like it to use this driver. Do this by adding
an entry for the driver to the list of JDBC drivers
- that JBoss loads at startup. This list is
stored in the <filename>jbdc.drivers</filename> entry in the
- <filename>jboss.properties</filename> file. The
<filename>jboss.properties</filename> file can be
- found in
<filename>%JBOSS_HOME%/conf/</filename><replaceable><config-name></replaceable>.
- For a standard distribution of JBoss,
<replaceable><config-name></replaceable> is
- <filename>default</filename> whilst for the
JBoss-Jetty it is <filename>jetty</filename>. The
- <filename>jbdc.drivers</filename> entry should
be a single, continuous string of JDBC driver names
- separated with a comma.
- </para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Sun JDBC-ODBC
bridge JDBC driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
-
jdbc.drivers=org.hsql.jdbcDriver,jdbc.idbDriver,<replaceable>sun.jdbc.odbc.JdbcOdbcDriver</replaceable>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Merant
DataDirect Connect JDBC 2.0 driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
-
jdbc.drivers=org.hsql.jdbcDriver,jdbc.idbDriver,<replaceable>com.merant.datadirect.jdbc.sqlserver.SQLServerDriver</replaceable>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>i-net OPTA 2000
<replaceable>(v2.05 or higher)</replaceable></entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
-
jdbc.drivers=org.hsql.jdbcDriver,jdbc.idbDriver,<replaceable>com.inet.tds.TdsDriver</replaceable>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- </section>
- <section>
- <title>Check that JBoss now loads the new JDBC
driver</title>
- <para>
- Start JBoss and ensure that the JDBC driver is
found (the relevant output would be similar to
- the output shown below). Stop JBoss afterwards.
- </para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Sun JDBC-ODBC
bridge JDBC driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- [JDBC] Loaded
JDBC-driver:org.hsql.jdbcDriver
- [JDBC] Loaded
JDBC-driver:org.enhydra.instantdb.jdbc.idbDriver
- [JDBC] Loaded
JDBC-driver:<replaceable>sun.jdbc.odbc.JdbcOdbcDriver</replaceable>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Merant
DataDirect Connect JDBC 2.0 driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- [JDBC] Loaded
JDBC-driver:org.hsql.jdbcDriver
- [JDBC] Loaded
JDBC-driver:org.enhydra.instantdb.jdbc.idbDriver
- [JDBC] Loaded
JDBC-driver:<replaceable>com.merant.datadirect.jdbc.sqlserver.SQLServerDriver</replaceable>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>i-net OPTA 2000
<replaceable>(v2.05 or higher)</replaceable></entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- [JDBC] Loaded
JDBC-driver:org.hsql.jdbcDriver
- [JDBC] Loaded
JDBC-driver:org.enhydra.instantdb.jdbc.idbDriver
- [JDBC] Loaded
JDBC-driver:<replaceable>com.inet.tds.TdsDriver</replaceable>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- </section>
- <section>
- <title>Declare a DB Connection pool</title>
- <para>
- At this point, you know that the driver is
correctly installed. You will now set up a connection pool
- that your EJBeans can connect to. Add an MLET
entry into the <filename>jboss.conf</filename> file as
- shown below. The file can be found in
<filename>%JBOSS_HOME%/conf/</filename>
- <replaceable><config-name></replaceable>.
- </para>
+ <itemizedlist>
+ <listitem>
<para>
- For this tutorial, you will create a
connection pool named <replaceable>SQLServerPool</replaceable> as
- specified in the first argument in the MLET
entry. The second argument in the MLET entry should be your
- driver's <filename>XADataSource</filename>
classname. If your driver doesn't support
- <filename>XADataSource</filename> use
<filename>org.jboss.minerva.xa.XADataSourceImpl</filename> instead.
+ <link linkend="CONFIGURE-JBOSS2">Configure
JBoss 2.0 FINAL</link>
</para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Sun JDBC-ODBC
bridge JDBC driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <MLET
CODE="org.jboss.jdbc.XADataSourceLoader" ARCHIVE="jboss.jar,rt.jar"
CODEBASE="../lib/ext/">
-
<ARG TYPE="java.lang.String"
VALUE="<replaceable>SQLServerPool</replaceable>">
-
<ARG TYPE="java.lang.String"
VALUE="org.jboss.minerva.xa.XADataSourceImpl">
- </MLET>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Merant
DataDirect Connect JDBC 2.0 driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <MLET
CODE="org.jboss.jdbc.XADataSourceLoader"
ARCHIVE="jboss.jar,base.jar,util.jar,sqlserver.jar" CODEBASE="../lib/ext/">
-
<ARG TYPE="java.lang.String"
VALUE="<replaceable>SQLServerPool</replaceable>">
-
<ARG TYPE="java.lang.String"
VALUE="org.jboss.minerva.xa.XADataSourceImpl">
- </MLET>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>i-net OPTA 2000
<replaceable>(v2.05 or higher)</replaceable></entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <MLET
CODE="org.jboss.jdbc.XADataSourceLoader" ARCHIVE="jboss.jar,Opta200.jar"
CODEBASE="../lib/ext/">
-
<ARG TYPE="java.lang.String"
VALUE="<replaceable>SQLServerPool</replaceable>">
-
<ARG TYPE="java.lang.String" VALUE="com.inet.tds.XDataSource">
- </MLET>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- </section>
- <section>
- <title>Configure the DB Connection pool</title>
+ </listitem>
+ <listitem>
<para>
- Before you can use your spanking new
connection pool, you need to tell it how to find your
- database server (you can also take this chance
to specifiy other configuration parameters
- for the pool like
<envar>LoggingEnabled</envar>). Tell your pool how to connect to your
- database server by adding an MBEAN entry into
the <filename>jboss.jcml</filename> file as
- shown below. The file can be found in
-
<filename>%JBOSS_HOME%/conf/</filename><replaceable><config-name></replaceable>.
+ <link linkend="CONFIGURE-JBOSS2">Configure
JBoss 2.1 and later</link>
</para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Sun JDBC-ODBC
bridge JDBC driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <mbean
name=";DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>";>
-
<attribute
name="URL">jdbc:odbc:<replaceable>jboss_odbc</replaceable></attribute>
-
<attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
-
<attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
- </mbean>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Merant
DataDirect Connect JDBC 2.0 driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <mbean
name="DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>";>
-
<attribute
name="URL">jdbc:sqlserver://<replaceable>servername</replaceable>:1433</attribute>
-
<attribute
name="Properties">DatabaseName=<replaceable>DatabaseName</replaceable></attribute>
-
<attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
-
<attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
-
<attribute name="MinSize">0</attribute>
-
<attribute name="MaxSize">10</attribute>
-
<attribute name="GCEnabled">false</attribute>
-
<attribute name="GCMinIdleTime">1200000</attribute>
-
<attribute name="GCInterval">120000</attribute>
-
<attribute name="InvalidateOnError">false</attribute>
-
<attribute name="TimestampUsed">false</attribute>
-
<attribute name="Blocking">true</attribute>
-
<attribute name="LoggingEnabled">false</attribute>
-
<attribute name="IdleTimeoutEnabled">false</attribute>
-
<attribute name="IdleTimeout">1800000</attribute>
-
<attribute name="MaxIdleTimeoutPercent">1.0</attribute>
- </mbean>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>i-net OPTA 2000
<replaceable>(v2.05 or higher)</replaceable></entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <mbean
name="DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>";>
-
<attribute
name="Properties">host=<replaceable>ServerName</replaceable>;
-
database=<replaceable>DatabaseName</replaceable></attribute>
-
<attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
-
<attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
-
<attribute name="MinSize">0</attribute>
-
<attribute name="MaxSize">10</attribute>
-
<attribute name="GCEnabled">false</attribute>
-
<attribute name="GCMinIdleTime">1200000</attribute>
-
<attribute name="GCInterval">120000</attribute>
-
<attribute name="InvalidateOnError">false</attribute>
-
<attribute name="TimestampUsed">false</attribute>
-
<attribute name="Blocking">true</attribute>
-
<attribute name="LoggingEnabled">false</attribute>
-
<attribute name="IdleTimeoutEnabled">false</attribute>
-
<attribute name="IdleTimeout">1800000</attribute>
-
<attribute name="MaxIdleTimeoutPercent">1.0</attribute>
- </mbean>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- </section>
- <section>
- <title>Check the DB Connection pool</title>
- <para>
- Start JBoss and ensure that the JDBC driver is
found (the relevant output would be similar to
- the output shown below). Stop JBoss afterwards.
- </para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <tbody>
- <row>
- <entry><programlisting>
-
[SQLServerPool] Starting
- [SQLServerPool] XA
Connection pool SQLServerPool bound to java:/SQLServerPool
- [SQLServerPool]
Started
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- </section>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Back to <link linkend="INSTALL-MENU">install menu</link>
+ </para>
+ </section>
+ <section id="CONFIGURE-JBOSS2">
+ <title>Configure JBoss 2.0 FINAL</title>
+ <section>
+ <title>Tell JBoss about the new JDBC driver</title>
<para>
- Back to <link linkend="INSTALL-MENU">install
menu</link>
+ Now that you have installed a JDBC driver for MS SQL Server,
you need to tell JBoss that you would
+ like it to use this driver. Do this by adding an entry for the
driver to the list of JDBC drivers
+ that JBoss loads at startup. This list is stored in the
<filename>jbdc.drivers</filename> entry in the
+ <filename>jboss.properties</filename> file. The
<filename>jboss.properties</filename> file can be
+ found in <filename>%JBOSS_HOME%/conf/</filename>
+ <replaceable><config-name></replaceable>.
+ For a standard distribution of JBoss,
<replaceable><config-name></replaceable> is
+ <filename>default</filename> whilst for the JBoss-Jetty it is
<filename>jetty</filename>. The
+ <filename>jbdc.drivers</filename> entry should be a single,
continuous string of JDBC driver names
+ separated with a comma.
+ </para>
+ <example>
+ <title>Adding the Sun JDBC-ODBC bridge driver to the
JBoss JDBC driver list</title>
+ <programlisting>
+jdbc.drivers=org.hsql.jdbcDriver,jdbc.idbDriver,<replaceable>sun.jdbc.odbc.JdbcOdbcDriver</replaceable>
+ </programlisting>
+ </example>
+ <example>
+ <title>Adding the Merant DataDirect Connect JDBC
driver to the JBoss JDBC driver list</title>
+ <programlisting>
+jdbc.drivers=org.hsql.jdbcDriver,jdbc.idbDriver,<replaceable>com.merant.datadirect.jdbc.sqlserver.SQLServerDriver</replaceable>
+ </programlisting>
+ </example>
+ <example>
+ <title>Adding the i-net OPTA 2000 JDBC driver to the
JBoss JDBC driver list</title>
+ <programlisting>
+jdbc.drivers=org.hsql.jdbcDriver,jdbc.idbDriver,<replaceable>com.inet.tds.TdsDriver</replaceable>
+ </programlisting>
+ </example>
+ </section>
+ <section>
+ <title>Check that JBoss now loads the new JDBC driver</title>
+ <para>
+ Start JBoss and ensure that the JDBC driver is found (the
relevant output would be similar to
+ the output shown below). Stop JBoss afterwards.
+ </para>
+ <example>
+ <title>JBoss startup output showing loaded Sun
JDBC-ODBC bridge driver</title>
+ <programlisting>
+[JDBC] Loaded JDBC-driver:org.hsql.jdbcDriver
+[JDBC] Loaded JDBC-driver:org.enhydra.instantdb.jdbc.idbDriver
+[JDBC] Loaded JDBC-driver:<replaceable>sun.jdbc.odbc.JdbcOdbcDriver</replaceable>
+ </programlisting>
+ </example>
+ <example>
+ <title>JBoss startup output showing loaded Merant
DataDirect Connect JDBC driver</title>
+ <programlisting>
+[JDBC] Loaded JDBC-driver:org.hsql.jdbcDriver
+[JDBC] Loaded JDBC-driver:org.enhydra.instantdb.jdbc.idbDriver
+[JDBC] Loaded
JDBC-driver:<replaceable>com.merant.datadirect.jdbc.sqlserver.SQLServerDriver</replaceable>
+ </programlisting>
+ </example>
+ <example>
+ <title>JBoss startup output showing loaded i-net OPTA
2000 JDBC driver</title>
+ <programlisting>
+[JDBC] Loaded JDBC-driver:org.hsql.jdbcDriver
+[JDBC] Loaded JDBC-driver:org.enhydra.instantdb.jdbc.idbDriver
+[JDBC] Loaded JDBC-driver:<replaceable>com.inet.tds.TdsDriver</replaceable>
+ </programlisting>
+ </example>
+ </section>
+ <section>
+ <title>Declare a DB Connection pool</title>
+ <para>
+ At this point, you know that the driver is correctly
installed. You will now set up a connection pool
+ that your EJBeans can connect to. Add an MLET entry into the
<filename>jboss.conf</filename> file as
+ shown below. The file can be found in
<filename>%JBOSS_HOME%/conf/</filename>
+ <replaceable><config-name></replaceable>.
+ </para>
+ <para>
+ For this tutorial, you will create a connection pool named
<replaceable>SQLServerPool</replaceable> as
+ specified in the first argument in the MLET entry. The second
argument in the MLET entry should be your
+ driver's <filename>XADataSource</filename> classname. If your
driver doesn't support
+ <filename>XADataSource</filename> use
<filename>org.jboss.minerva.xa.XADataSourceImpl</filename> instead.
+ </para>
+ <example>
+ <title>Connection pool MLET declaration for Sun
JDBC-ODBC bridge driver</title>
+ <programlisting>
+<MLET CODE="org.jboss.jdbc.XADataSourceLoader" ARCHIVE="jboss.jar,rt.jar"
CODEBASE="../lib/ext/">
+ <ARG TYPE="java.lang.String"
VALUE="<replaceable>SQLServerPool</replaceable>">
+ <ARG TYPE="java.lang.String"
VALUE="org.jboss.minerva.xa.XADataSourceImpl">
+</MLET>
+ </programlisting>
+ </example>
+ <example>
+ <title>Connection pool MLET declaration for Merant
DataDirect Connect JDBC driver</title>
+ <programlisting>
+<MLET CODE="org.jboss.jdbc.XADataSourceLoader"
ARCHIVE="jboss.jar,base.jar,util.jar,sqlserver.jar" CODEBASE="../lib/ext/">
+ <ARG TYPE="java.lang.String"
VALUE="<replaceable>SQLServerPool</replaceable>">
+ <ARG TYPE="java.lang.String"
VALUE="org.jboss.minerva.xa.XADataSourceImpl">
+</MLET>
+ </programlisting>
+ </example>
+ <example>
+ <title>Connection pool MLET declaration for i-net OPTA
2000 JDBC driver</title>
+ <programlisting>
+<MLET CODE="org.jboss.jdbc.XADataSourceLoader" ARCHIVE="jboss.jar,Opta200.jar"
CODEBASE="../lib/ext/">
+ <ARG TYPE="java.lang.String"
VALUE="<replaceable>SQLServerPool</replaceable>">
+ <ARG TYPE="java.lang.String"
VALUE="com.inet.tds.XDataSource">
+</MLET>
+ </programlisting>
+ </example>
+ </section>
+ <section>
+ <title>Configure the DB Connection pool</title>
+ <para>
+ Before you can use your spanking new connection pool, you need
to tell it how to find your
+ database server (you can also take this chance to specifiy
other configuration parameters
+ for the pool like <envar>LoggingEnabled</envar>). Tell your
pool how to connect to your
+ database server by adding an MBEAN entry into the
<filename>jboss.jcml</filename> file as
+ shown below. The file can be found in
+ <filename>%JBOSS_HOME%/conf/</filename>
+ <replaceable><config-name></replaceable>.
+ </para>
+ <example>
+ <title>Connection pool MBEAN declaration for Sun
JDBC-ODBC bridge JDBC driver</title>
+ <programlisting>
+<mbean
name=";DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>">
+ <attribute
name="URL">jdbc:odbc:<replaceable>jboss_odbc</replaceable></attribute>
+ <attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
+ <attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
+</mbean>
+ </programlisting>
+ </example>
+ <example>
+ <title>Connection pool MBEAN declaration for Merant
DataDirect Connect JDBC driver</title>
+ <programlisting>
+<mbean
name="DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>">
+ <attribute
name="URL">jdbc:sqlserver://<replaceable>servername</replaceable>:1433</attribute>
+ <attribute
name="Properties">DatabaseName=<replaceable>DatabaseName</replaceable></attribute>
+ <attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
+ <attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
+ <attribute name="MinSize">0</attribute>
+ <attribute name="MaxSize">10</attribute>
+ <attribute name="GCEnabled">false</attribute>
+ <attribute name="GCMinIdleTime">1200000</attribute>
+ <attribute name="GCInterval">120000</attribute>
+ <attribute name="InvalidateOnError">false</attribute>
+ <attribute name="TimestampUsed">false</attribute>
+ <attribute name="Blocking">true</attribute>
+ <attribute name="LoggingEnabled">false</attribute>
+ <attribute name="IdleTimeoutEnabled">false</attribute>
+ <attribute name="IdleTimeout">1800000</attribute>
+ <attribute
name="MaxIdleTimeoutPercent">1.0</attribute>
+</mbean>
+ </programlisting>
+ </example>
+ <example>
+ <title>Connection pool MBEAN declaration for i-net
OPTA 2000 JDBC driver</title>
+ <programlisting>
+<mbean
name="DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>">
+ <attribute
name="Properties">host=<replaceable>ServerName</replaceable>;
database=<replaceable>DatabaseName</replaceable></attribute>
+ <attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
+ <attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
+ <attribute name="MinSize">0</attribute>
+ <attribute name="MaxSize">10</attribute>
+ <attribute name="GCEnabled">false</attribute>
+ <attribute name="GCMinIdleTime">1200000</attribute>
+ <attribute name="GCInterval">120000</attribute>
+ <attribute name="InvalidateOnError">false</attribute>
+ <attribute name="TimestampUsed">false</attribute>
+ <attribute name="Blocking">true</attribute>
+ <attribute name="LoggingEnabled">false</attribute>
+ <attribute name="IdleTimeoutEnabled">false</attribute>
+ <attribute name="IdleTimeout">1800000</attribute>
+ <attribute
name="MaxIdleTimeoutPercent">1.0</attribute>
+</mbean>
+ </programlisting>
+ </example>
+ </section>
+ <section>
+ <title>Check the DB Connection pool</title>
+ <para>
+ Start JBoss and ensure that the JDBC driver is found (the
relevant output would be similar to
+ the output shown below). Stop JBoss afterwards.
+ </para>
+ <informalexample>
+ <programlisting>
+[SQLServerPool] Starting
+[SQLServerPool] XA Connection pool SQLServerPool bound to java:/SQLServerPool
+[SQLServerPool] Started
+ </programlisting>
+ </informalexample>
+ <para>
+ Back to <link linkend="INSTALL-MENU">install menu</link>
</para>
</section>
- <section id="CONFIGURE-JBOSS2X">
- <title>Configure JBoss 2.1 and later</title>
- <section>
- <title>Tell JBoss about the new JBDC driver</title>
- <para>
- Now that you have installed a JDBC driver for
MS SQL Server, you need to tell JBoss that you would
- like it to use this driver. Add an entry for
the driver to the list of drivers that JBoss loads at
- startup. This list is stored in the
<filename>jboss.jcml</filename> file. The file can be found in
-
<filename>%JBOSS_HOME%/conf/</filename><replaceable><config-name></replaceable>.
- For a standard distribution of JBoss,
<replaceable><config-name></replaceable> is
- <filename>default</filename> whilst for the
JBoss-Jetty it is <filename>jetty</filename>.
- The entry should be a single, continuous list of
comma-separated JDBC driver names.
- </para>
- <para>
- Open the file and look for the entry that
begins with the following <filename>mbean</filename> tag:
- </para>
- <para>
- <prompt><mbean
code="org.jboss.jdbc.JdbcProvider"
name="DefaultDomain:service=JdbcProvider"></prompt>
- </para>
- <para>
- The list of drivers is kept in an
<filename><attribute></filename> sub-tag of this entry named
- <filename>Drivers</filename>. Add your JBDC
driver to the list as shown below. When you've finished,
- keep the file open in your editor.
- </para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Sun JDBC-ODBC
bridge JDBC driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <mbean
code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider">
-
<attribute name="<replaceable>Drivers</replaceable>">
-
org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,<replaceable>sun.jdbc.odbc.JdbcOdbcDriver</replaceable>
-
</attribute>
- </mbean>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Merant
DataDirect Connect JDBC 2.0 driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <mbean
code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider">
-
<attribute name="<replaceable>Drivers</replaceable>">
-
org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,<replaceable>com.merant.datadirect.jdbc.sqlserver.SQLServerDriver</replaceable>
-
</attribute>
- </mbean>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>i-net OPTA 2000
<replaceable>(v2.05 or higher)</replaceable></entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <mbean
code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider">
-
<attribute name="<replaceable>Drivers</replaceable>">
-
org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,<replaceable>com.inet.tds.TdsDriver</replaceable>
-
</attribute>
- </mbean>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- </section>
- <section>
- <title>Create a DB Connection pool</title>
- <para>
- At this point, you have told JBoss about your
driver. You will now set up a connection pool that your
- EJBeans can connect to. For this tutorial, you
will create a connection pool named
- <replaceable>SQLServerPool</replaceable>. To
create the connection pool, locate the
- <filename>mbean</filename> entry that begins
with the following line in the
- <filename>jboss.jcml</filename> file (you
should have kept it open as advised in the last step):
- </para>
- <para>
- <prompt><mbean
code="org.jboss.jdbc.XADataSourceLoader"
name="DefaultDomain:service=XADataSource,name=DefaultDS"></prompt>
- </para>
- <para>
- Add the <filename>mbean</filename> entry given
below to the file just <emphasis>below</emphasis> the
- <filename>mbean</filename> entry you have just
located above. This should be added after the closing
- <filename></mbean></filename> tag!!.
- </para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Sun JDBC-ODBC
bridge JDBC driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <mbean
code="<replaceable>org.jboss.jdbc.XADataSourceLoader</replaceable>"
name="DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>">
-
<attribute
name="DataSourceClass"><replaceable>org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</replaceable></attribute>
-
<attribute
name="PoolName"><replaceable>SQLServerPool</replaceable></attribute>
-
<attribute
name="URL">jdbc:odbc:<replaceable>jboss_odbc</replaceable></attribute>
-
<attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
-
<attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
- </mbean>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>Merant
DataDirect Connect JDBC 2.0 driver</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <mbean
code="<replaceable>org.jboss.jdbc.XADataSourceLoader</replaceable>"
name="DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>">
-
<attribute
name="DataSourceClass"><replaceable>org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</replaceable></attribute>
-
<attribute
name="PoolName"><replaceable>SQLServerPool</replaceable></attribute>
-
<attribute
name="URL">jdbc:sqlserver://<replaceable>servername</replaceable>:1433</attribute>
-
<attribute
name="Properties">DatabaseName=<replaceable>DatabaseName</replaceable></attribute>
-
<attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
-
<attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
-
<attribute name="MinSize">0</attribute>
-
<attribute name="MaxSize">10</attribute>
-
<attribute name="GCEnabled">false</attribute>
-
<attribute name="GCMinIdleTime">1200000</attribute>
-
<attribute name="GCInterval">120000</attribute>
-
<attribute name="InvalidateOnError">false</attribute>
-
<attribute name="TimestampUsed">false</attribute>
-
<attribute name="Blocking">true</attribute>
-
<attribute name="LoggingEnabled">false</attribute>
-
<attribute name="IdleTimeoutEnabled">false</attribute>
-
<attribute name="IdleTimeout">1800000</attribute>
-
<attribute name="MaxIdleTimeoutPercent">1.0</attribute>
- </mbean>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <thead>
- <row>
- <entry>i-net OPTA 2000
<replaceable>(v2.05 or higher)</replaceable></entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><programlisting>
- <mbean
code="<replaceable>org.jboss.jdbc.XADataSourceLoader</replaceable>"
name="DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>">
-
<attribute
name="DataSourceClass"><replaceable>com.inet.tds.XDataSource</replaceable></attribute>
-
<attribute
name="PoolName"><replaceable>SQLServerPool</replaceable></attribute>
-
<attribute
name="Properties">host=<replaceable>ServerName</replaceable>;
-
database=<replaceable>DatabaseName</replaceable></attribute>
-
<attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
-
<attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
-
<attribute name="MinSize">0</attribute>
-
<attribute name="MaxSize">10</attribute>
-
<attribute name="GCEnabled">false</attribute>
-
<attribute name="GCMinIdleTime">1200000</attribute>
-
<attribute name="GCInterval">120000</attribute>
-
<attribute name="InvalidateOnError">false</attribute>
-
<attribute name="TimestampUsed">false</attribute>
-
<attribute name="Blocking">true</attribute>
-
<attribute name="LoggingEnabled">false</attribute>
-
<attribute name="IdleTimeoutEnabled">false</attribute>
-
<attribute name="IdleTimeout">1800000</attribute>
-
<attribute name="MaxIdleTimeoutPercent">1.0</attribute>
- </mbean>
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- </section>
- <section>
- <title>Check the DB Connection pool</title>
- <para>
- Start JBoss and ensure that the JDBC driver is
found and the connection pool is created.
- The relevant out put is shown below for
successful JBDC driver load.
- </para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <tbody>
- <row>
- <entry><programlisting>
- [Transaction
manager] Initializing
- [Transaction
manager] Loaded JDBC-driver:org.hsql.jdbcDriver
- [Transaction
manager] Loaded JDBC-driver:org.enhydra.instantdb.jdbc.idbDriver
- [Transaction
manager] Loaded JDBC-driver:com.merant.datadirect.jdbc.sqlserver.SQLServerDriver
- [Transaction
manager] Initialized
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <para>
- And a litte later...the output for the
connection pool. Stop JBoss afterwards.
- </para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <tbody>
- <row>
- <entry><programlisting>
-
[SQLServerPool] Starting
- [SQLServerPool] XA
Connection pool SQLServerPool bound to java:/SQLServerPool
- [SQLServerPool]
Started
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- </section>
+ </section>
+ <section id="CONFIGURE-JBOSS2X">
+ <title>Configure JBoss 2.1 and later</title>
+ <section>
+ <title>Tell JBoss about the new JBDC driver</title>
<para>
- Back to <link linkend="INSTALL-MENU">install
menu</link>
+ Now that you have installed a JDBC driver for MS SQL Server,
you need to tell JBoss that you would
+ like it to use this driver. Add an entry for the driver to the
list of drivers that JBoss loads at
+ startup. This list is stored in the
<filename>jboss.jcml</filename> file. The file can be found in
+ <filename>%JBOSS_HOME%/conf/</filename>
+ <replaceable><config-name></replaceable>.
+ For a standard distribution of JBoss,
<replaceable><config-name></replaceable> is
+ <filename>default</filename> whilst for the JBoss-Jetty it is
<filename>jetty</filename>.
+ The entry should be a single, continuous list of comma-separated
JDBC driver names.
+ </para>
+ <para>
+ Open the file and look for the entry that begins with the
following <filename>mbean</filename> tag:
+ </para>
+ <para>
+ <prompt><mbean
code="org.jboss.jdbc.JdbcProvider"
name="DefaultDomain:service=JdbcProvider"></prompt>
</para>
+ <para>
+ The list of drivers is kept in an
<filename><attribute></filename> sub-tag of this entry named
+ <filename>Drivers</filename>. Add your JBDC driver to the list
as shown below. When you've finished,
+ keep the file open in your editor.
+ </para>
+ <example>
+ <title>Adding the Sun JDBC-ODBC bridge driver to the
JBoss JDBC driver list</title>
+ <programlisting>
+<mbean code="org.jboss.jdbc.JdbcProvider"
name="DefaultDomain:service=JdbcProvider">
+ <attribute name="<replaceable>Drivers</replaceable>">
+ org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,<replaceable>sun.jdbc.odbc.JdbcOdbcDriver</replaceable>
+ </attribute>
+</mbean>
+ </programlisting>
+ </example>
+ <example>
+ <title>Adding the Merant DataDirect Connect JDBC
driver to the JBoss JDBC driver list</title>
+ <programlisting>
+<mbean code="org.jboss.jdbc.JdbcProvider"
name="DefaultDomain:service=JdbcProvider">
+ <attribute name="<replaceable>Drivers</replaceable>">
+ org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,<replaceable>com.merant.datadirect.jdbc.sqlserver.SQLServerDriver</replaceable>
+ </attribute>
+</mbean>
+ </programlisting>
+ </example>
+ <example>
+ <title>Adding the i-net OPTA 2000 JDBC driver to the
JBoss JDBC driver list</title>
+ <programlisting>
+<mbean code="org.jboss.jdbc.JdbcProvider"
name="DefaultDomain:service=JdbcProvider">
+ <attribute name="<replaceable>Drivers</replaceable>">
+ org.hsql.jdbcDriver,org.enhydra.instantdb.jdbc.idbDriver,<replaceable>com.inet.tds.TdsDriver</replaceable>
+ </attribute>
+</mbean>
+ </programlisting>
+ </example>
</section>
- <section id="CONFIGURE-CMP">
- <title>Configure DataType Mappings for CMP</title>
+ <section>
+ <title>Create a DB Connection pool</title>
<para>
- To configure JBoss so that it uses your MS SQL Server
connection pool as the default data source for
- CMP operations, provide a
<filename>jaws.xml</filename> file as shown below.
+ At this point, you have told JBoss about your driver. You will
now set up a connection pool that your
+ EJBeans can connect to. For this tutorial, you will create a
connection pool named
+ <replaceable>SQLServerPool</replaceable>. To create the
connection pool, locate the
+ <filename>mbean</filename> entry that begins with the
following line in the
+ <filename>jboss.jcml</filename> file (you should have kept it
open as advised in the last step):
+ </para>
+ <para>
+ <prompt><mbean
code="org.jboss.jdbc.XADataSourceLoader"
name="DefaultDomain:service=XADataSource,name=DefaultDS"></prompt>
</para>
- <table>
- <tgroup cols="1" align="center" colsep="1" rowsep="1">
- <tbody>
- <row>
- <entry><programlisting>
- <![CDATA[
- <?xml version="1.0"
encoding="UTF-8"?>
- <jaws>
-
<datasource>java:/SQLServerPool</datasource>
-
<type-mapping>MS SQLSERVER</type-mapping>
-
<default-entity>
-
<remove-table>false</remove-table>
-
</default-entity>
-
<type-mappings>
-
<type-mapping>
-
<name>MS SQLSERVER</name>
-
-
<!-- INSERT MAPPINGS FROM standardjaws.xml HERE -->
-
-
</type-mapping>
-
</type-mappings>
- </jaws>
- ]]>
- </programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- </section>
- <section id="TROUBLE-SHOOTING">
- <title>Troubleshooting</title>
- <section id="TROUBLE-DRIVER-LOAD">
- <title>JDBC driver not loaded error</title>
- <para>
- Error message shown on start-up:
- </para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <tbody>
- <row>
- <entry><programlisting>
- [JDBC] Could
not load driver:sun.jdbc.odbc.JdbcOdbcDrivers
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <para>
- This error can occur in the following
situations:
- </para>
- <orderedlist>
- <listitem><para>
- the spelling of a JDBC driver name in
the <filename>jboss.properties</filename> configuration
- file (or
<filename>jboss.jcml</filename> for JBoss 2.1 and later) is incorrect. In the example
above
- it should have been
<filename>sun.jdbc.odbc.JdbcOdbcDriver</filename>.
- </para></listitem>
- <listitem><para>
- a JDBC driver has not been properly
installed - it's class files or .jar file(s) are not in
- the <envar>CLASSPATH</envar>
- </para></listitem>
- </orderedlist>
- </section>
- <section>
- <title>JBoss hangs while starting connection
pool</title>
- <para>
- When JBoss is started, the sequence of
messages that is shown on the console stops midway.
- The last displayed message refers to a
connection pool as shown below.
- </para>
- <table>
- <tgroup cols="1" align="center" colsep="1"
rowsep="1">
- <tbody>
- <row>
- <entry><programlisting>
- [Hypersonic]
Press [Ctrl]+[C] to abort
- [InstantDB]
Started
- [DefaultDS]
Starting
- [DefaultDS] XA
Connection pool DefaultDS bound to java:/DefaultDS
- [DefaultDS]
Started[SQLServerPool] Starting
-
[SQLServerPool] XA Connection pool SQLServerPool bound to java:/SQLServerPool
-
</programlisting></entry>
- </row>
- </tbody>
- </tgroup>
- <table>
- <para>
- Check that your JDBC driver is loaded
correctly. If not then see <xref linkend="TROUBLE-DRIVER-LOAD"></xref>
- for possible clues. If your JDBC driver is
loading correctly then this error indicates that JBoss is unable
- to communicate with your database server.
- </para>
- <para>
- It can occur in the following situations:
+ <para>
+ Add the <filename>mbean</filename> entry given below to the
file just <emphasis>below</emphasis> the
+ <filename>mbean</filename> entry you have just located above.
This should be added after the closing
+ <filename></mbean></filename> tag!!.
+ </para>
+ <example>
+ <title>Connection pool MBEAN declaration for Sun
JDBC-ODBC bridge JDBC driver</title>
+ <programlisting>
+<mbean code="<replaceable>org.jboss.jdbc.XADataSourceLoader</replaceable>"
name="DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>">
+ <attribute
name="DataSourceClass"><replaceable>org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</replaceable></attribute>
+ <attribute
name="PoolName"><replaceable>SQLServerPool</replaceable></attribute>
+ <attribute
name="URL">jdbc:odbc:<replaceable>jboss_odbc</replaceable></attribute>
+ <attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
+ <attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
+</mbean>
+ </programlisting>
+ </example>
+ <example>
+ <title>Connection pool MBEAN declaration for Merant
DataDirect Connect JDBC driver</title>
+ <programlisting>
+<mbean code="<replaceable>org.jboss.jdbc.XADataSourceLoader</replaceable>"
name="DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>">
+ <attribute
name="DataSourceClass"><replaceable>org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl</replaceable></attribute>
+ <attribute
name="PoolName"><replaceable>SQLServerPool</replaceable></attribute>
+ <attribute
name="URL">jdbc:sqlserver://<replaceable>servername</replaceable>:1433</attribute>
+ <attribute
name="Properties">DatabaseName=<replaceable>DatabaseName</replaceable></attribute>
+ <attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
+ <attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
+ <attribute name="MinSize">0</attribute>
+ <attribute name="MaxSize">10</attribute>
+ <attribute name="GCEnabled">false</attribute>
+ <attribute name="GCMinIdleTime">1200000</attribute>
+ <attribute name="GCInterval">120000</attribute>
+ <attribute name="InvalidateOnError">false</attribute>
+ <attribute name="TimestampUsed">false</attribute>
+ <attribute name="Blocking">true</attribute>
+ <attribute name="LoggingEnabled">false</attribute>
+ <attribute name="IdleTimeoutEnabled">false</attribute>
+ <attribute name="IdleTimeout">1800000</attribute>
+ <attribute
name="MaxIdleTimeoutPercent">1.0</attribute>
+</mbean>
+ </programlisting>
+ </example>
+ <example>
+ <title>Connection pool MBEAN declaration for i-net
OPTA 2000 JDBC driver</title>
+ <programlisting>
+<mbean code="<replaceable>org.jboss.jdbc.XADataSourceLoader</replaceable>"
name="DefaultDomain:service=XADataSource,name=<replaceable>SQLServerPool</replaceable>">
+ <attribute
name="DataSourceClass"><replaceable>com.inet.tds.XDataSource</replaceable></attribute>
+ <attribute
name="PoolName"><replaceable>SQLServerPool</replaceable></attribute>
+ <attribute
name="Properties">host=<replaceable>ServerName</replaceable>;
database=<replaceable>DatabaseName</replaceable></attribute>
+ <attribute
name="JDBCUser"><replaceable>dbusername</replaceable></attribute>
+ <attribute
name="Password"><replaceable>dbpassword</replaceable></attribute>
+ <attribute name="MinSize">0</attribute>
+ <attribute name="MaxSize">10</attribute>
+ <attribute name="GCEnabled">false</attribute>
+ <attribute name="GCMinIdleTime">1200000</attribute>
+ <attribute name="GCInterval">120000</attribute>
+ <attribute name="InvalidateOnError">false</attribute>
+ <attribute name="TimestampUsed">false</attribute>
+ <attribute name="Blocking">true</attribute>
+ <attribute name="LoggingEnabled">false</attribute>
+ <attribute name="IdleTimeoutEnabled">false</attribute>
+ <attribute name="IdleTimeout">1800000</attribute>
+ <attribute
name="MaxIdleTimeoutPercent">1.0</attribute>
+</mbean>
+ </programlisting>
+ </example>
+ </section>
+ <section>
+ <title>Check the DB Connection pool</title>
+ <para>
+ Start JBoss and ensure that the JDBC driver is found and the
connection pool is created.
+ The relevant out put is shown below for successful JBDC driver
load.
+ </para>
+ <informalexample>
+ <programlisting>
+[Transaction manager] Initializing
+[Transaction manager] Loaded JDBC-driver:org.hsql.jdbcDriver
+[Transaction manager] Loaded JDBC-driver:org.enhydra.instantdb.jdbc.idbDriver
+[Transaction manager] Loaded
JDBC-driver:<replaceable>sun.jdbc.odbc.JdbcOdbcDriver</replaceable>
+[Transaction manager] Loaded
JDBC-driver:<replaceable>com.merant.datadirect.jdbc.sqlserver.SQLServerDriver</replaceable>
+[Transaction manager] Loaded
JDBC-driver:<replaceable>com.inet.tds.TdsDriver</replaceable>
+[Transaction manager] Initialized
+ </programlisting>
+ </informalexample>
+ <para>
+ And a litte later...the output for the connection pool. Stop
JBoss afterwards.
+ </para>
+ <informalexample>
+ <programlisting>
+[SQLServerPool] Starting
+[SQLServerPool] XA Connection pool SQLServerPool bound to java:/SQLServerPool
+[SQLServerPool] Started
+ </programlisting>
+ </informalexample>
+ <para>
+ Back to <link linkend="INSTALL-MENU">install menu</link>
+ </para>
+ </section>
+ </section>
+ <section id="CONFIGURE-CMP">
+ <title>Configure DataType Mappings for CMP</title>
+ <para>
+ To configure JBoss so that it uses your MS SQL Server
connection pool as the default data source for
+ CMP operations, provide a <filename>jaws.xml</filename> file
as shown below.
+ </para>
+ <example>
+ <title>jaws.xml - CMP datatype mappings for MS SQL
Server</title>
+ <programlisting>
+ <![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<jaws>
+<datasource>java:/SQLServerPool</datasource>
+<type-mapping>MS SQLSERVER</type-mapping>
+<default-entity>
+ <remove-table>false</remove-table>
+</default-entity>
+<type-mappings>
+ <type-mapping>
+ <name>MS SQLSERVER</name>
+
+ <!-- INSERT MAPPINGS FROM standardjaws.xml HERE -->
+
+ </type-mapping>
+</type-mappings>
+</jaws>
+ ]]>
+ </programlisting>
+ </example>
+ </section>
+ <section id="TROUBLE-SHOOTING">
+ <title>Troubleshooting</title>
+ <section id="TROUBLE-DRIVER-LOAD">
+ <title>JDBC driver not loaded error</title>
+ <para>
+ Error message shown on start-up:
+ </para>
+ <informalexample>
+ <programlisting>
+[JDBC] Could not load driver:sun.jdbc.odbc.JdbcOdbcDrivers
+ </programlisting>
+ </informalexample>
+ <para>
+ This error can occur in the following situations:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ the spelling of a JDBC driver name in the
<filename>jboss.properties</filename> configuration
+ file (or <filename>jboss.jcml</filename> for
JBoss 2.1 and later) is incorrect. In the example above
+ it should have been
<filename>sun.jdbc.odbc.JdbcOdbcDriver</filename>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ a JDBC driver has not been properly installed
- it's class files or .jar file(s) are not in
+ the <envar>CLASSPATH</envar>
+ </para>
+ </listitem>
+ </orderedlist>
+ </section>
+ <section>
+ <title>JBoss hangs while starting connection pool</title>
+ <para>
+ When JBoss is started, the sequence of messages that
is shown on the console stops midway.
+ The last displayed message refers to a connection pool
as shown below.
+ </para>
+ <informalexample>
+ <programlisting>
+[Hypersonic] Press [Ctrl]+[C] to abort
+[InstantDB] Started
+[DefaultDS] Starting
+[DefaultDS] XA Connection pool DefaultDS bound to java:/DefaultDS
+[DefaultDS] Started[SQLServerPool] Starting
+[SQLServerPool] XA Connection pool SQLServerPool bound to java:/SQLServerPool
+ </programlisting>
+ </informalexample>
+ <para>
+ Check that your JDBC driver is loaded correctly. If
not then see <xref linkend="TROUBLE-DRIVER-LOAD"/>
+ for possible clues. If your JDBC driver is loading
correctly then this error indicates that JBoss is unable
+ to communicate with your database server.
+ </para>
+ <para>
+ It can occur in the following situations:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ the spelling of one or more of the parameters
needed to connect to the database server is mispelled
+ or missing. Please check that you have
specified the correct hostname, database, username, password
+ etc for the connection pool.
</para>
- <orderedlist>
- <listitem><para>
- the spelling of one or more of the
parameters needed to connect to the database server is mispelled
- or missing. Please check that you have
specified the correct hostname, database, username, password
- etc for the connection pool.
- </para></listitem>
- </orderedlist>
- </section>
+ </listitem>
+ </orderedlist>
<para>
Back to <link linkend="INSTALL-MENU">install
menu</link>
</para>
</section>
</section>
-</section>
\ No newline at end of file
+</section>
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development