I'm definitely -1 on part item 2 of your proposal.

I do not understand what you are proposing to do and I'd like to see specifically how each action and method in the back-end will change. There are many multi-step queries, updates, inserts, etc. in the code and application logic is expressed in both Struts actions and in the back-end. I don't think you are adequately explaining how you will keep transaction demarcation in place. And I don't understand how you can move begin() and commit() the back-end without moving lots of code from the Struts actions into the manager classes.

To do this right you'll have to do some trail and error experimentation and in the end I believe you'll have to make extensive changes. I'd like to have community review of those changes before they goes in trunk. For that reason, I strongly suggest doing item 2 in a separate branch.

- Dave


On Mar 8, 2006, at 6:40 PM, Allen Gilliland wrote:

just a reminder, silence == consent. i am planning to move forward with development on this.

-- Allen


On Mon, 2006-03-06 at 13:25, Allen Gilliland wrote:
Okay, here is a more flushed out proposal of what I think should be done ...

http://rollerweblogger.org/wiki/Wiki.jsp? page=Proposal_BackendRefactorings

Note that the driving force behind these changes is to 1) prevent direct access to the PersistenceStrategy from outside the business layer and 2) limit persistence logic (like transaction details) to the business layer.

I think those are very appropriate goals to have for the architecture of our code.

-- Allen


On Sun, 2006-03-05 at 10:10, Anil Gangolli wrote:
Anil Gangolli wrote:

Actually, you want those two queries to be in one transaction, not
two; otherwise they can see inconsistent state if there is another
transaction committed between the two.

Red herring on my part. Not really a new issue for us though since we
are typically using default READ_COMMITTED isolation anyway.

--a.



Reply via email to