<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Castor JDO and JBoss</title><link href="default.css" rel="stylesheet"></head><body marginwidth="0" marginheight="0" leftmargin="0" bottommargin="0" topmargin="0" vlink="#6763a9" link="#6763a9" bgcolor="#ffffff"><a name="top"></a><table height="400" cellspacing="0" cellpadding="0" border="0"><tr><td bgcolor="#7270c2" align="left" valign="top" width="10"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td bgcolor="#7270c2" align="left" valign="top" width="150"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="7"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" width="70"><img border="0" height="6" width="70" src="images/dotTrans.gif"></td><td align="left" valign="top" width="100%"><img border="0" height="6" width="100%" src="images/top_2.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="10"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="150"><img height="1" width="1" border="0" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#ffffff" width="7"></td><td align="left" valign="top" width="70"><img border="0" height="1" width="1" src="images/dotTrans.gif"></td><td align="left" valign="middle" width="100%"><a href="license.html"><span class="menuTopOff">License</span></a> <a href="http://www.codehaus.org"><span class="menuTopOff">Codehaus</span></a> <a href="http://openejb.org"><span class="menuTopOff">OpenEJB</span></a> <a href="http://openjms.sf.net"><span class="menuTopOff">OpenJMS</span></a> <a href="http://openorb.sf.net"><span class="menuTopOn">OpenORB</span></a> <a href="http://tyrex.sf.net"><span class="menuTopOff">Tyrex</span></a> <br><img border="0" height="2" width="1" src="images/dotTrans.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" width="10"><img border="0" height="3" width="10" src="images/dotTrans.gif"></td><td align="right" valign="top" bgcolor="#7270c2" width="150"><img border="0" height="3" width="105" src="images/line_sm.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="3" width="7" src="images/line_sm.gif"></td><td align="left" valign="top" width="70"><img border="0" height="3" width="70" src="images/line_light.gif"></td><td align="left" valign="top" width="100%"><img border="0" height="3" width="100%" src="images/line_light.gif"></td></tr><tr><td align="left" valign="top" bgcolor="#7270c2"><img border="0" height="10" width="10" src="images/dotTrans.gif"></td><td align="left" valign="top" bgcolor="#7270c2" width="150"><img border="0" height="2" width="1" src="images/dotTrans.gif"><br><table cellspacing="0" cellpadding="10" border="0"><tr><td><script src="http://www.ohloh.net/p/3635/widgets/project_users_logo.js" type="text/javascript"></script></td></tr></table><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Old releases</span></td></tr><tr><td align="left" valign="top"> <a href="releases-old.html"><span class="subMenuOff">General</span></a></td></tr><tr><td align="left" valign="top"> <a href="http://www.castor.org/1.3/index.html"><span class="subMenuOff">Release 1.3</span></a></td></tr><tr><td align="left" valign="top"> <a href="http://www.castor.org/1.3rc1/index.html"><span class="subMenuOff">Release 1.3rc1</span></a></td></tr><tr><td align="left" valign="top"> <a href="http://www.castor.org/1.2/index.html"><span class="subMenuOff">Release 1.2</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Main</span></td></tr><tr><td align="left" valign="top"> <a href="index.html"><span class="subMenuOff">Home</span></a></td></tr><tr><td align="left" valign="top"> <a href="about.html"><span class="subMenuOff">About</span></a></td></tr><tr><td align="left" valign="top"> <a href="features.html"><span class="subMenuOff">Features</span></a></td></tr><tr><td align="left" valign="top"> <a href="download.html"><span class="subMenuOff">Download</span></a></td></tr><tr><td align="left" valign="top"> <a href="dependencies.html"><span class="subMenuOff">Dependencies</span></a></td></tr><tr><td align="left" valign="top"> <a href="reference-guide.html"><span class="subMenuOffHighlighted">Reference guide</span></a></td></tr><tr><td align="left" valign="top"> <a href="presentations.html"><span class="subMenuOff">Publications</span></a></td></tr><tr><td align="left" valign="top"> <a href="javadoc/overview-summary.html"><span class="subMenuOff">JavaDoc</span></a></td></tr><tr><td align="left" valign="top"> <a href="maven-integration.html"><span class="subMenuOff">Maven 2 support</span></a></td></tr><tr><td align="left" valign="top"> <a href="maven-archetypes.html"><span class="subMenuOff">Maven 2 archetypes</span></a></td></tr><tr><td align="left" valign="top"> <a href="schema.html"><span class="subMenuOff">DTD & Schemas</span></a></td></tr><tr><td align="left" valign="top"> <a href="changes.html"><span class="subMenuOff">Recent HTML changes</span></a></td></tr><tr><td align="left" valign="top"> <a href="news.html"><span class="subMenuOff">News Archive</span></a></td></tr><tr><td align="left" valign="top"> <a href="http://castor.codehaus.org/rss/castor-announce.xml"><span class="subMenuOff">RSS news feed</span></a></td></tr><tr><td align="left" valign="top"> <a href="http://docs.codehaus.org/display/CASTOR/"><span class="subMenuOffHighlighted">Project Wiki</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Development/Support</span></td></tr><tr><td align="left" valign="top"> <a href="lists.html"><span class="subMenuOff">Mailing Lists</span></a></td></tr><tr><td align="left" valign="top"> <a href="scm.html"><span class="subMenuOff">SVN/JIRA</span></a></td></tr><tr><td align="left" valign="top"> <a href="contributing.html"><span class="subMenuOff">Contributing</span></a></td></tr><tr><td align="left" valign="top"> <a href="support.html"><span class="subMenuOff">Support</span></a></td></tr><tr><td align="left" valign="top"> <a href="http://bamboo.ci.codehaus.org/browse/CASTOR"><span class="subMenuOff">Continuous builds</span></a></td></tr><tr><td align="left" valign="top"> <a href="professional-services.html"><span class="subMenuOffHighlighted">Prof. services</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Related projects</span></td></tr><tr><td align="left" valign="top"> <a href="spring-orm-integration.html"><span class="subMenuOff">Spring ORM support</span></a></td></tr><tr><td align="left" valign="top"> <a href="spring-xml-intro.html"><span class="subMenuOff">Spring XML factories</span></a></td></tr><tr><td align="left" valign="top"> <a href="ws-integration.html"><span class="subMenuOff">WS frameworks</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">XML</span></td></tr><tr><td align="left" valign="top"> <a href="xml-link.html"><span class="subMenuOff">XML</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">XML Code Generator</span></td></tr><tr><td align="left" valign="top"> <a href="srcgen-link.html"><span class="subMenuOff">XML Code Generator</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">JDO</span></td></tr><tr><td align="left" valign="top"> <a href="jdo-introduction.html"><span class="subMenuOff">Introduction</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-starter-tutorial.html"><span class="subMenuOff">First steps</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo.html"><span class="subMenuOff">Using JDO</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-database-conf.html"><span class="subMenuOff">JDO Config</span></a></td></tr><tr><td align="left" valign="top"> <a href="types.html"><span class="subMenuOff">Types</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-mapping.html"><span class="subMenuOff">JDO Mapping</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-faq.html"><span class="subMenuOff">JDO FAQ</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-examples.html"><span class="subMenuOff">JDO Examples</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-howto.html"><span class="subMenuOffHighlighted">JDO HOW-TOs</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-tips-tricks.html"><span class="subMenuOffHighlighted">Tips & Tricks</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-other-features.html"><span class="subMenuOff">Other Features</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-self-executable-examples.html"><span class="subMenuOff">JDO sample JAR</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Tools</span></td></tr><tr><td align="left" valign="top"> <a href="schemaGen-anttask.html"><span class="subMenuOff">Schema generator</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">Advanced JDO</span></td></tr><tr><td align="left" valign="top"> <a href="jdo-caching-detail.html"><span class="subMenuOff">Caching</span></a></td></tr><tr><td align="left" valign="top"> <a href="oql.html"><span class="subMenuOff">OQL</span></a></td></tr><tr><td align="left" valign="top"> <a href="locking.html"><span class="subMenuOff">Trans. & Locks</span></a></td></tr><tr><td align="left" valign="top"> <a href="design-persist.html"><span class="subMenuOff">Design</span></a></td></tr><tr><td align="left" valign="top"> <a href="key-generator.html"><span class="subMenuOff">KeyGen</span></a></td></tr><tr><td align="left" valign="top"> <a href="long-transact.html"><span class="subMenuOff">Long Trans.</span></a></td></tr><tr><td align="left" valign="top"> <a href="nested-attr.html"><span class="subMenuOff">Nested Attrs.</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-pooling.html"><span class="subMenuOff">Pooling Examples</span></a></td></tr><tr><td align="left" valign="top"> <a href="postgresql-blobs.html"><span class="subMenuOff">LOBs</span></a></td></tr><tr><td align="left" valign="top"> <a href="jdo-best-practice.html"><span class="subMenuOff">Best practice</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">DDL Generator</span></td></tr><tr><td align="left" valign="top"> <a href="ddlgen.html"><span class="subMenuOff">Using DDL Generator</span></a></td></tr><tr><td align="left" valign="top"> <a href="ddlgen-properties.html"><span class="subMenuOff">Properties</span></a></td></tr><tr><td align="left" valign="top"> <a href="ddlgen-anttask.html"><span class="subMenuOff">Ant task</span></a></td></tr><tr><td align="left" valign="top"> <a href="ddlgen-mapping.html"><span class="subMenuOff">Type Mapping</span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">More</span></td></tr><tr><td align="left" valign="top"> <a href="examples.html"><span class="subMenuOff">The Examples</span></a></td></tr><tr><td align="left" valign="top"> <a href="extras.html"><span class="subMenuOff">3rd Party Tools</span></a></td></tr><tr><td align="left" valign="top"> <a href="test-framework.html"><span class="subMenuOff">JDO Tests</span></a></td></tr><tr><td align="left" valign="top"> <a href="ctf.html"><span class="subMenuOff">XML Tests</span></a></td></tr><tr><td align="left" valign="top"> <a href="conf-lib.html"><span class="subMenuOff">Configuration</span></a></td></tr><tr><td align="left" valign="top"> <a href=""><span class="subMenuOff"></span></a></td></tr><tr><td align="left" valign="top"> <a href="http://www.java.net/"><span class="subMenuOff"><img border="0" src="images/javanet_button_90.gif"></span></a></td></tr></table><br><table cellspacing="0" cellpadding="0" border="0"><tr><td align="left" valign="top"><span class="subMenuOn">About</span></td></tr><tr><td align="left" valign="top"> <a href="license.html"><span class="subMenuOff">License</span></a></td></tr><tr><td align="left" valign="top"> <a href="user-experience.html"><span class="subMenuOffHighlighted">User stories</span></a></td></tr><tr><td align="left" valign="top"> <a href="contributors.html"><span class="subMenuOff">Contributors</span></a></td></tr><tr><td align="left" valign="top"> <a href="marketplace.html"><span class="subMenuOff">Marketplace</span></a></td></tr><tr><td align="left" valign="top"> <a href="status.html"><span class="subMenuOff">Status, Todo</span></a></td></tr><tr><td align="left" valign="top"> <a href="release-notes.html"><span class="subMenuOff">Changelog</span></a></td></tr><tr><td align="left" valign="top"> <a href="library.html"><span class="subMenuOff">Library</span></a></td></tr><tr><td align="left" valign="top"> <a href="contacts.html"><span class="subMenuOff">Contact</span></a></td></tr><tr><td align="left" valign="top"> <a href="origins.html"><span class="subMenuOff">Project Name</span></a></td></tr></table><br></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"> </td><td align="left" valign="top" width="70"> </td><td valign="top" width="100%" rowspan="4"><table width="100%" cellspacing="0" cellpadding="0" border="0" rows="2" cols="2"><tr><td align="left" valign="top"><br><img width="115" vspace="0" src="images/castor.gif" hspace="0" height="34" border="0"><br><img src="images/dotTrans.gif" hspace="0" height="10" border="0"></td><td align="right" valign="top" height="5" width="120"></td></tr></table><p></p><p></p><br><h2 align="center">Castor JDO and JBoss</h2><p align="center"> Documentation Author(s):<br>Patrick van Kann<br>Bruce Snyder<br></p><HR size="1"><span class="bodyGrey"><b><a href="#Introduction">Introduction</a></b><br></span><span class="bodyGrey"><b><a href="#Dependencies">Dependencies</a></b><br></span><span class="bodyGrey"><b><a href="#Configuring-JBoss-3.2.1">Configuring JBoss 3.2.1</a></b><br></span><span class="bodyGrey"><a href="#Install-The-Dependencies"> Install The Dependencies</a><br></span><span class="bodyGrey"><a href="#Create-A-Datasource"> Create A Datasource</a><br></span><span class="bodyGrey"><a href="#Configure-Castor"> Configure Castor</a><br></span><span class="bodyGrey"><a href="#Configure-Castor-JDO-MBean"> Configure Castor JDO MBean</a><br></span><span class="bodyGrey"><a href="#Test-And-Troubleshoot"> Test And Troubleshoot</a><br></span><span class="bodyGrey"><b><a href="#Developing-Applications-With-Castor-JDO-and-JBoss-3.x">Developing Applications With Castor JDO and JBoss 3.x</a></b><br></span><span class="bodyGrey"><b><a href="#Frequently-Asked-Questions">Frequently Asked Questions</a></b><br></span><HR size="1"><br><a name="Introduction"><h2>Introduction</h2></a> <p><span class="bodyGrey"> This document describes the advantages of using Castor with JBoss, an overview of the JBoss MBean approach and directions on configuring JBoss to use Castor JDO. The advantage of using Castor JDO within JBoss is that you have access to key J2EE features such as JNDI, JDBC datasources and transaction management (JTA). Although it is possible in principle to achieve this with other commercial J2EE servers, a ready-to-use plug-in is available to integrate Castor JDO within JBoss. </span></p> <p><span class="bodyGrey"> Once integrated, Castor JDO can be used with session beans and BMP entity beans as an alternative to CMP entity beans and in many cases is faster and more efficient. An example of using Castor JDO with a stateless session bean has been created and is available <a href="/castor/examples/CastorJDO/rooms2.zip">here</a>. This is a demonstration of the transient entity design pattern, described <a href="http://theserverside.com/patterns/thread.jsp?thread_id=8536&article_count=19">here</a>. </span></p> <p><span class="bodyGrey"> Castor JDO is integrated with JBoss through the <a href="http://www.jboss.org/index.html?module=html&op=userdisplay&id=developers/projects/jboss/jbossmx">JMX</a> server environment provided by JBoss. The plug-in consists of a JMX MBean or managed bean that implements the Castor <a href="http://castor.codehaus.org/javadoc/org/exolab/castor/jdo/DataObjects.html">DataObjects</a> interface by wrapping a <a href="http://castor.codehaus.org/javadoc/org/exolab/castor/jdo/JDO.html">JDO</a> object. The MBean accomplishes the following tasks at the startup of JBoss 3.x: <ol> <li> Creates a Castor <a href="http://castor.codehaus.org/javadoc/org/exolab/castor/jdo/JDO.html">JDO</a> object </li> <li> Obtains the JDO configuration information (see below) and configures the JDO object. </li> <li>Registers itself in the JBoss JNDI tree using the name supplied in the configuration. As it implements DataObject, it therefore provides access to the JDO functionality. </li> <li> Calls setTransactionManager() on the JDO object with the JNDI address of the JBoss TransactionManager to provide Container Managed Transactions. </li> </ol> </span></p> <a name="Dependencies"><h2>Dependencies</h2></a> <p><span class="bodyGrey"> There are two jars needed to use Castor JDO with JBoss: <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey"> <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey"> Castor 0.9.5 (<a href="http://www.castor.org/download.html">download</a>) </span></td></tr> <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey"> Castor JDO plugin for JBoss 3.2.1 (<a href="ftp://ftp.exolab.org/pub/castor/examples/CastorJDO/">download</a>) </span></td></tr> </span></table> Note: Xerces is required also, but is distributed with JBoss 3.2.1. </span></p> <a name="Configuring-JBoss-3.2.1"><h2>Configuring JBoss 3.2.1</h2></a> <p><span class="bodyGrey"> This section details the steps required to integrate Castor JDO with JBoss 3.x. In brief, these are: <ol> <li>Install the dependencies</li> <li>Configuring a datasource in JBoss. Many people automatically assume that it is necessary to get a <tt>java.sql.Datasource</tt> from JBoss. This is an incorrect assumption... Explain further</li> <li>Put Castor's configuration files for your application in the correct location</li> <li>Configuring the Castor JDO Mbean</li> <li>Test and troubleshoot</li> </ol> </span></p> <a name="Install-The-Dependencies"><h3>Install The Dependencies</h3></a> <p><span class="bodyGrey"> Installing JBoss 3.x is outside of the scope of this discussion and is adequately covered by the JBoss documentation. Once JBoss is installed it is necessary to copy the two other dependencies (Castor and the Castor plugin) to the <tt>lib</tt> directory of the JBoss server instance you wish to install Castor for. The following path assumes you wish to install Castor on the "default" server: <tt>(JBOSS_HOME/server/default/lib)</tt>. </span></p> <a name="Create-A-Datasource"><h3>Create A Datasource</h3></a> <p><span class="bodyGrey"> It is desirable to use Castor with a javax.sql.Datasource as this will allow you to use connection pooling and distributed transactions, assuming your driver supports these. Datasources are configured by placing a config file ending in -ds.xml in the <tt>deploy</tt> directory of the server instance you wish to use. For example, to configure a Microsoft SQL Server XADatasource for the default server using the InetSoft Opta 2000 driver you would place a file with the information below in the <tt>JBOSS_HOME/server/default/deploy</tt> directory: <span class="bodyBlack"><pre> <datasources> <xa-datasource> <jndi-name>MSSQLXaDS</jndi-name> <xa-datasource-class>com.inet.tds.XDataSource</xa-datasource-class> <xa-datasource-property name="ServerName">10.1.8.100</xa-datasource-property> <xa-datasource-property name="DatabaseName">mydatabase</xa-datasource-property> <xa-datasource-property name="SelectMethod">cursor</xa-datasource-property> <user-name>secret</user-name> <password>squirrel</password> </xa-datasource> </datasources> </pre></span> </span></p> <a name="Configure-Castor"><h3>Configure Castor</h3></a> <p><span class="bodyGrey"> Copy your database.xml and mapping.xml to the configuration directory for your JBoss server instance: for example, <tt>JBOSS_HOME/server/default/conf</tt>. </span></p> <p><span class="bodyGrey"> Your database.xml should reference the datasource you created in the previous step. For the datasource above: <span class="bodyBlack"><pre> <database name="test" engine="sql-server" > <jndi name="java:/MSSQLXaDS"/> <mapping href="mapping.xml" /> </database> </pre></span> Note that if you are not using Microsoft SQL Server, you should not use the sql-server engine - consult the Castor documents <a href="jdo-database-conf.html">here</a> to find out what engine you should use for your RDBMS. </span></p> <a name="Configure-Castor-JDO-MBean"><h3>Configure Castor JDO MBean</h3></a> <p><span class="bodyGrey"> The JBoss MBean server looks for MBean configuration files in the deploy directory of a server instance: <tt>JBOSS_HOME/server/default/deploy</tt>. These files will end in -service.xml. The MBean parses the xml file, creates the MBean instance and uses introspection to set properties on the MBean based on the attributes in the configuration. </span></p> <p><span class="bodyGrey"> To configure the JBoss MBean, place a file called <tt>castor-jdo-service.xml</tt> in <tt>JBOSS_HOME/server/default/deploy</tt> with the following contents: <span class="bodyBlack"><pre> <server> <mbean code="org.jboss.jdo.castor.CastorJDOImpl" name="jboss:service=CastorJDO,name=CookietimeJDO"> <attribute name="Configuration">../conf/database.xml</attribute> <attribute name="JndiName">MyAppJDO</attribute> <attribute name="LockTimeout">10000</attribute> <attribute name="LoggingEnabled">true</attribute> <attribute name="CommonClassPath">false</attribute> <attribute name="AutoStore">true</attribute> <attribute name="DatabasePooling">true</attribute> </mbean> </server> </pre></span> Note the following features of the configuration: <table cellspacing="2" cellpadding="2" border="0"><tr><td height="5" colspan="2"></td></tr><span class="bodyGrey"> <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">the <tt>org.jboss.jdo.castor.CastorJDOImpl</tt> is inside the castor-jdo-plugin.jar.</span></td></tr> <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">the use of a relative path to the <tt>database.xml</tt> configuration from the previous step.</span></td></tr> <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">JndiName is the name by which you will obtain your JDO object from JNDI within your EJB or DAO.</span></td></tr> <tr><td width="10" valign="top" align="left">-</td><td valign="top" align="left"><span class="bodyGrey">Autostore will cause castor to automatically "walk" the object graph on updates in long transactions and attempt to persist every reachable class.</span></td></tr> </span></table> </span></p> <a name="Test-And-Troubleshoot"><h3>Test And Troubleshoot</h3></a> <p><span class="bodyGrey"> To test your configuration, try and start the JBoss server instance you are attempting to configure. Watch the console carefully for any stacktraces or other error messages. With any luck, at some stage you should see something like: <span class="bodyBlack"><pre> 11:12:59,025 INFO [MainDeployer] Starting deployment of package: file:/C:/jboss /server/default/deploy/castor-jdo-service.xml 11:12:59,181 INFO [CastorJDOImpl] Creating 11:12:59,196 INFO [CastorJDOImpl] Created 11:12:59,212 INFO [CastorJDOImpl] Starting 11:13:00,759 INFO [CastorJDOImpl] Started </pre></span> Go to the JMX Console (http://localhost:8080/jmx-console) of your JBoss machine. You should see the following link under the jboss entry: <span class="bodyBlack"><pre>name=MyAppJDO,service=CastorJDO</pre></span> Click on the link to see the status of the service. It should be started. </span></p> <p><span class="bodyGrey"> You can also check the status of your datasource by looking for it under the jca entry in the console. </span></p> <a name="Developing-Applications-With-Castor-JDO-and-JBoss-3.x"><h2>Developing Applications With Castor JDO and JBoss 3.x</h2></a> <p><span class="bodyGrey"> To do: <ol> <li>Transient Entity (better description of Rooms example) </li> <li>Entity Bean with delegates (An example of this needs to be created.)</li> </ol> </span></p> <a name="Frequently-Asked-Questions"><h2>Frequently Asked Questions</h2></a> <p><span class="bodyGrey">Check the JDO FAQ <a href="http://www.castor.org/jdo-faq.html">here</a> for common questions regarding JDO usage. </span></p> </td></tr><tr height="5"><td align="left" valign="top" bgcolor="#7270c2" height="5" width="10"> </td><td valign="top" bgcolor="#7270c2" height="5" width="150"><img border="0" height="15" width="1" src="images/dotTrans.gif"><br><img align="right" border="0" height="3" width="105" src="images/line_sm.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" height="5" width="7"> </td><td align="left" valign="top" height="5" width="70"> </td><td align="left" valign="top" height="5" width="120"> </td></tr><tr><td align="left" valign="top" bgcolor="#7270c2" height="5" width="10"> </td><td align="left" valign="top" bgcolor="#7270c2" width="150"></td><td align="left" valign="top" bgcolor="#a9a5de" width="7"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="70"><img border="0" height="25" width="1" src="images/dotTrans.gif"></td><td align="left" valign="top" width="120"> </td></tr><tr height="5"><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="10"><img border="0" height="125" width="10" src="images/stripes1.gif"></td><td align="left" valign="bottom" bgcolor="#7270c2" height="100%" rowspan="2" width="150"><img border="0" height="125" width="105" src="images/stripe105.gif"></td><td align="left" valign="top" bgcolor="#a9a5de" height="100%" rowspan="2" width="7"> </td><td align="left" valign="top" height="100%" width="70"> </td><td align="left" valign="top" height="100%" width="120"> </td></tr><tr height="5"><td align="left" valign="top" height="25" width="70"> </td><td align="left" valign="bottom" height="25" width="400"><br><br><img height="3" width="400" border="0" src="images/line_light.gif"><br><p></p><span class="bodyGrey"><small><notice> Copyright © 1999-2005 <a href="http://www.exolab.org">ExoLab Group</a>, Intalio Inc., and Contributors. All rights reserved. </notice><br> <br></small><small><notice> Java, EJB, JDBC, JNDI, JTA, Sun, Sun Microsystems are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and in other countries. XML, XML Schema, XSLT and related standards are trademarks or registered trademarks of MIT, INRIA, Keio or others, and a product of the World Wide Web Consortium. All other product names mentioned herein are trademarks of their respective owners. </notice><br> <br></small></span><p></p> </td><td align="left" valign="top" height="25" width="120"> </td></tr></table><script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script><script type="text/javascript"> var pageTracker = _gat._getTracker("UA-3544187-1"); pageTracker._trackPageview(); </script></body></html>