Hi, I am running castor inside JBoss using the MBean implementation provided
by the castor folks. Our application uses castor to the extreme, and we've
built a set of junit tests we certify builds against. With castor0.9.2 we
run 100%, no errors. With the current cvs snapshot we're starting to see
rollbacks when trying to update objects.
calendaryears refer to periods and periods refer to calendaryears. This was
not a problem with 0.9.2.
I just tested and our code tests 100% no errors with the release version of
0.9.3. I'm assuming this change in functionality (bug?) was added since the
release of 0.9.3
[CastorJDOImpl] org.exolab.castor.jdo.PersistenceException: Object,
com.againtech.ce.calendar.PeriodImpl@531380, links t
o another object, com.againtech.ce.calendar.CalendarYearImpl@254a1a that is
not loaded/updated/created in this transacti
on
[CastorJDOImpl] at
org.exolab.castor.persist.ClassMolder.preStore(ClassMolder.java:1267)
[CastorJDOImpl] at
org.exolab.castor.persist.LockEngine.preStore(LockEngine.java:724)
[CastorJDOImpl] at
org.exolab.castor.persist.TransactionContext.prepare(TransactionContext.java
:1358)
[CastorJDOImpl] at
org.exolab.castor.jdo.engine.DatabaseImpl.beforeCompletion(DatabaseImpl.java
:542)
[CastorJDOImpl] at
org.jboss.tm.TxCapsule.doBeforeCompletion(TxCapsule.java:1210)
[CastorJDOImpl] at org.jboss.tm.TxCapsule.commit(TxCapsule.java:304)
[CastorJDOImpl] at
org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:76)
[CastorJDOImpl] at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.
java:364)
[CastorJDOImpl] at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:99)
[CastorJDOImpl] at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:12
8)
[CastorJDOImpl] at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:195)
[CastorJDOImpl] at
org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.jav
a:286)
[CastorJDOImpl] at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerI
nvoker.java:393)
[CastorJDOImpl] at java.lang.reflect.Method.invoke(Native Method)
[CastorJDOImpl] at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
[CastorJDOImpl] at
sun.rmi.transport.Transport$1.run(Transport.java:152)
[CastorJDOImpl] at
java.security.AccessController.doPrivileged(Native Method)
[CastorJDOImpl] at
sun.rmi.transport.Transport.serviceCall(Transport.java:148)
[CastorJDOImpl] at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:465)
[CastorJDOImpl] at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:7
06)
[CastorJDOImpl] at java.lang.Thread.run(Thread.java:484)
period mapping
<!-- period mapping -->
<class name="com.againtech.ce.calendar.PeriodImpl" identity="UUID">
<cache-type type="unlimited"/>
<description>Period Implementation</description>
<map-to table="PERIOD" xml="Period"/>
<!--the primary key field -->
<field name="UUID" type="string">
<sql name="period_uuid" type="varchar"/>
</field>
<!-- attributes -->
<field name="calendar" type="com.againtech.ce.calendar.CalendarImpl">
<sql name="calendar_uuid"/>
</field>
<field name="absolutePeriodNumber" type="integer">
<sql name="abs_period_no" type="integer"/>
</field>
<field name="periodNumber" type="integer">
<sql name="period_no" type="integer"/>
</field>
<field name="calendarYear"
type="com.againtech.ce.calendar.CalendarYearImpl">
<sql name="calendar_year_uuid"/>
</field>
<field name="hours" type="integer">
<sql name="hours" type="integer"/>
</field>
<field name="days" type="integer">
<sql name="days" type="integer"/>
</field>
<field name="beginDate" type="date">
<sql name="begin_date" type="timestamp"/>
</field>
<field name="endDate" type="date">
<sql name="end_date" type="timestamp"/>
</field>
<field name="payPeriod" type="com.againtech.ce.calendar.PeriodImpl">
<sql name="pay_period_uuid"/>
</field>
<field name="activationDate" type="date">
<sql name="activation_date" type="timestamp"/>
</field>
</class>
calendaryear mapping
<class name="com.againtech.ce.calendar.CalendarYearImpl" identity="UUID">
<cache-type type="unlimited" />
<description>
Calendar Year Implementation: can NOT use key generators for
dependent objects.
</description>
<map-to table="CALENDAR_YEAR" xml="CalendarYear"/>
<field name="UUID" type="string">
<sql name="calendar_year_uuid" type="varchar"/>
</field>
<field name="calendar" type="com.againtech.ce.calendar.CalendarImpl">
<sql name="calendar_uuid"/>
</field>
<field name="code" type="string">
<sql name="calendar_year_code" type="varchar"/>
</field>
<field name="name" type="string">
<sql name="calendar_year_name" type="varchar"/>
</field>
<field name="segmentType"
type="com.againtech.ce.calendar.CalendarSegmentTypeImpl">
<sql name="period_segment_type_uuid"/>
</field>
<field name="beginPeriod" type="com.againtech.ce.calendar.PeriodImpl">
<sql name="begin_period_uuid"/>
</field>
<field name="endPeriod" type="com.againtech.ce.calendar.PeriodImpl">
<sql name="end_period_uuid"/>
</field>
<field name="activationDate" type="date">
<sql name="activation_date" type="timestamp"/>
</field>
</class>
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev