• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How does concurrency control work in WO?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How does concurrency control work in WO?


  • Subject: Re: How does concurrency control work in WO?
  • From: Andrew Lindesay <email@hidden>
  • Date: Mon, 30 Mar 2009 11:51:33 +1300

Hello Kevin;

Also try to understand what's diff between multi-EOF and DB connection pool in J2EE, (like weblogic, tomcat or webshpere). Further how is J2EE world solve this concurrency issue?

Using a number of object-store-coordinators (OSCs) will create snapshot-storage for each. This means that you may need more memory because for commonly accessed EO's, their snapshots will have to reside in each of the OSC's snapshot storage. This is perhaps memory- inefficient, but may or may not actually be a problem for a specific project. The usual means of gaining concurrent throughput through a WOA deployment is of course, to deploy a number of instances. Each instance then gets it's own default OSC and because you have different virtual machines, the memory required to support this can be distributed over additional hosts. As has been eluded to by other people, a common problem is that each OSC's snapshots can then get out of sync with each other and the realities of the database. To solve this, people either fetch some data often or use a "change notification" system to spread the changes around the deployment and try to keep all the OSC's and the database in sync.


I am not familiar with how other java object-relational systems like TopLink, Hibernate and Cayenne (Andrus - can you elaborate?) deal with "connection pooling" and persistence-layer concurrency in J2EE, but if you are doing raw SQL (gasp) and abandoning everything that a relational-modeller can do for you then at a low level, different threads are able to grab a SQL connection, use it and then return it to the pool for another thread to use. In this way, a number of threads are able to access the database at the same time.

Problems, if there are any at all, will most likely be very different for different sorts of projects. In using a change-notification system, I've only actually had a couple of cases where other concrete issues in this area have arisen for me.

cheers.

___
Andrew Lindesay
www.lindesay.co.nz

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >RE: How does concurrency control work in WO? (From: "Ren, Kevin" <email@hidden>)

  • Prev by Date: RE: How does concurrency control work in WO?
  • Next by Date: modeling problem
  • Previous by thread: RE: How does concurrency control work in WO?
  • Next by thread: Re: How does concurrency control work in WO?
  • Index(es):
    • Date
    • Thread