I still don't know the Roller code, but...

I think the Spring declarative transaction approach could be a good fit for Roller. The transactions would be implemented in proxied versions of the manager classes and would be defined in an XML file and not require any explicit code.

The same declarations should be able to be used for Hibernate, JDO, OJB, or EJB3/JPA.

Wiring up the Managers with Spring would facilitate plugging in alternate implementations of the Managers as well and make it easier to co-ordinate the different back-end projects in process or under consideration.

David M Johnson wrote:


- While refactoring is going on it will be more difficult for others to work on EJB3 or JDO stuff. For example, now that I'm getting my free time back (book is done next week) I'm personally interested in pursuing the EJB3 alternative.

I assume you mean the JPA part of EJB3 that can work outside of a J2EE server, right?


But there are also technical issues:

- We don't want to do things that will reduce our ability to move to JDO or EJB3 in the future (e.g. Matt mentioned Spring's declarative transactions, would that cause problems or redundancy if we moved to EJB3 at some point?)

It looks like Spring 2.0 has support for JPA, so it should be possible to use Spring transactions for Hibernate, JDO, and EJB3/JPA.

There's some discussion of Spring + EJB3/JPA here:
http://www.theserverside.com/news/thread.tss?thread_id=38538

-- Sean




Reply via email to