Code generator that uses one box per object

12 views
Skip to first unread message

Joao Cachopo

unread,
Nov 1, 2009, 4:20:51 PM11/1/09
to fenix-f...@googlegroups.com

Hi!

Today I've committed a new version of the fenix-framework that includes
a new code generator that uses a much more compact representation of
domain objects in memory.

To use this new code generator set the value of the property
fenix.framework.codeGenerator to
"pt.ist.fenixframework.pstm.dml.FenixCodeGeneratorOneBoxPerObject"
before loading the dml-generate.xml in your build file.

This new code generator uses a single box per object, rather than a box
for each slot of an object. Moreover, it uses a lazy approach to the
creation of the collections that implement the relations with
multiplicity greater than 1 that further may help to reduce the size of
the objects in memory. Yet, the effectiveness of this approach depends
very much both on the structure of your domain model and the workload of
your application.

So, the best way to see whether this is good for you is to try it.
Using this code generator affects only the in-memory layout of objects
and has no influence in either the database schema or data. So, you may
try it and revert to the other code generator with no problem whatsoever.

IMPORTANT WARNING: even though you may change back and forth, you should
not use two different instances of the same or different applications
that use different in-memory layouts at the same time against the same
database (this phrase is strange...). Otherwise, the distributed
transactions may not work as expected.

Best regards,
--
João Cachopo

Stephane Le Dorze

unread,
Nov 4, 2009, 4:10:35 AM11/4/09
to fenix-framework
Thanks!
We'll do the switch in the forthcoming week.

2009/11/1 Joao Cachopo <joao.c...@ist.utl.pt>
Reply all
Reply to author
Forward
0 new messages