All,
following up my own email from yesterday, please note that all issues with Castor JDO
in CVS have been resolved.
For the sake of clarity, contrary to what I have been saying, it was possible to build
Castor JDO with Ant. Due to some minor issues, the build was only
broken for people using IDEs such as Eclipse without wanting to rely on Ant.
I think that this is a perfect time to address some of the issues briefly mentioned
below by Bruce in more detail. Whilst we are still working to get the
updates pushed to the website, here's a brief overview over what changed. Detailed
docs - once pushed out - will be published to the Javadocs, but
for the time being please have a look at
src/main/org/exolab/castor/jdo/transactionmanager/package.html.
Basically, the way we interface to J2EE/JTS/JTA transaction managers has been
completely refactored. Gone are the days where users deploying
Castor JDO as part of an EJB deployment unit used
JDO.setTransactionManagerName(String) to specify global transaction demarcation. This
mechanism will be replaced by two things:
a) specification of the desired <transaction-demarcation> element (incl.
sub-information) as part of Castor JDO's main configuration file, jdo-conf.xml.
Please note that as part of this change, we have decided to rename the configuration
file from database.xml to jdo-conf.xml. In addition, the structure
has changed as well as pointed out below.
Here's a short example as taken from src/tests/jdo/mysql.xml that uses LOCAL
demarcation, iow all transactions are managed by Castor itself.
<!DOCTYPE jdo-conf PUBLIC "-//EXOLAB/Castor JDO Configuration DTD Version 1.0//EN"
"http://castor.exolab.org/jdo-conf.xsd">
<jdo-conf>
<database name="mysql" engine="mysql" >
<driver url="jdbc:mysql://localhost/castor_tests"
class-name="org.gjt.mm.mysql.Driver">
<param name="user" value="test" />
<param name="password" value="test" />
</driver>
<mapping href="jdo/mapping.xml" />
</database>
<transaction-demarcation mode="local" />
</jdo-conf>
Here's a short sample with GLOBAL demarcation, using Websphere 5 as transaction
manager/app server.
<jdo-conf>
<database name="mysql" engine="mysql" >
<driver url="jdbc:mysql://localhost/castor_tests"
class-name="org.gjt.mm.mysql.Driver">
<param name="user" value="test" />
<param name="password" value="test" />
</driver>
<mapping href="jdo/mapping.xml" />
</database>
<transaction-demarcation mode="global">
<transaction-manager name="websphere5" />
</transaction-demarcation></jdo-conf>
</jdo-conf>
b) the specification of all available TransactionManagerFactories in
src/main/org/exolab/castor/castor.properties. For the time being, by default this
will include the following list:
#
# TransactionManagerFactory implementations
#
org.exolab.castor.jdo.spi.transactionManagerFactories=\
org.exolab.castor.jdo.transactionmanager.spi.WebSphereTransactionManagerFactory,\
org.exolab.castor.jdo.transactionmanager.spi.WebSphere5TransactionManagerFactory,\
org.exolab.castor.jdo.transactionmanager.spi.LocalTransactionManagerFactory,\
org.exolab.castor.jdo.transactionmanager.spi.JNDIENCTransactionManagerFactory
By definition, it is possible to provide additional (custom) TransactionManagerFactory
instances, and I'll be adding some more information on this to the
JavaDocs soon.
Having said that, so far we've only been able to test things on Tomcat 4.x and JBoss.
Anybody with commercial app servers out there (e.g. WebLogic,
Websphere, Websphere 5, etc.), please try this new feature and let us know whether it
works for you.
If you happen to have any questions related to this, please let us know by pushing a
short email to this mailing list.
Regards
Werner
==================BEGIN FORWARDED MESSAGE==================
My previous message made light of some trouble I'm having completing a
big checkin to CVS and I want to let the community know about some of
the changes.
-----------------------------------------------------------
Until the next release, anyone checking out code from CVS will need to
be aware of this because your existing database descriptor will NO
LONGER WORK. It will need to be changed to match the new schema.
-----------------------------------------------------------
Included in the checkin are two big changes to the database descriptor.
The database descriptor's root element has changed from <databases> to
<jdo-conf>. Also included in the new database descriptor is an element
named <transaction-demarcation>. This is for use with the new
transaction manager API.
I will be updating the website very soon to reflect this change. Until
that time, an example of the new jdo-conf.xml instance of the
jdo-conf.xsd schema can be found in src/tests/jdo/mysql.xml and
src/examples/jdo/jdo-conf.xml.
Also, not all of the old database descriptors have been changed over to
the new style yet, so please bear with us while we complete this change.
If you've got the time to fix anything, please do so and submit patches
using the following the Guidelines for Code Contribution found here:
http://www.castor.org/cvs.html#Guidelines-For-Code-Contribution
If you have any questions about these changes or need some assistance,
please send email to the castor-dev list, NOT to me directly.
Thanks for all your support!
Bruce
--
perl -e 'print
unpack("u30","<0G)[EMAIL PROTECTED]&5R\"F9E<G)E=\$\!F<FEI+F-O;0\`\`");'
The Castor Project
http://www.castor.org/
Apache Geronimo
http://incubator.apache.org/projects/geronimo.html
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev
===================END FORWARDED MESSAGE===================
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev