--- On Fri, 3/12/10, Adam Heath <doo...@brainfood.com> wrote:
> Adrian Crum wrote:
> > --- On Fri, 3/12/10, Adam Heath <doo...@brainfood.com>
> wrote:
> >> Adrian Crum wrote:
> >>> --- On Fri, 3/12/10, Adam Heath <doo...@brainfood.com>
> >> wrote:
> >>>> Search for synchronized in
> >>>> ShoppingCart.  You'll fine a couple
> of
> >>>> spots that lock on cartLines, a few that
> lock in
> >> the class
> >>>> instance
> >>>> itself.  But then no other hits.
> >>>>
> >>>> However, tons of internal variables all
> need to be
> >> kept
> >>>> self-consistent with each other, so
> locking
> >> against just
> >>>> one or the
> >>>> other of those variables won't work.
> >>> These same problems exist in a number of
> classes - not
> >> just the shopping cart (take a look at
> SequenceUtil for some
> >> really scary code). That's why I suggested a
> synchronization
> >> best practices page that the community can
> follow.
> >>
> >> I have looked at SequenceUtil, and have a version
> lying
> >> around that is
> >> non-blocking.  I need to pull that out of the
> attic,
> >> and put it in my
> >> staging tree, and run with it for a while.
> > 
> > It would be cool if you could send it to me. I can get
> SequenceUtil to break fairly easily with my multi-threaded
> data loading modification - so I think it would be a good
> test for your code.
> 
> I'm having a hard time finding it.
> 
> However, I'll take the time to ask a question.  Why
> does
> SequenceUtil.SequenceBank.fillBank do direct sql calls, and
> not use
> the delegator to update values?
> 
> I'm thinking about adding test cases for SequenceUtil, but
> I'd like to
> be able to test it in stand-alone mode.  Would being
> able to do small
> ofbiz startups, ie, with all components upto and including
> the current
> one, just to run the current components test cases, be a
> useful feature?

Of course it would be useful! Is that possible?




Reply via email to