|
Thanks Vince,
This sounds excellent. For me, I can wait, and will
continue using Castor to build a distributed J2EE application. I think Castor's
design is the most correct/simple model.
On the other hand, caching too much affects
performance, as the caches must keep consistent. Without thinking about
reputition, maybe 1 JDO instance to handle a few related database
tables, and the other JDO instances to handle other set of related tables is a
better choice.
I'm looking forward to see your work, great
:)
Thomas
----- Original Message -----
Sent: Monday, July 15, 2002 10:35
PM
Subject: Re: [castor-dev] Performance
cache in a clustered environment
Thomas,
I have a modified version of castor that
provides the ability to expire a single object, or a class of objects, from
the performance cache. I have attached a javadoc page that contains a
description of the method "expireCache" that I added to class "Database"
that exposes this functionality. This is a modified version of a
similar enhancement I posted awhile back. This enhancement has been
tested using the base set of tests provided by the castor test framework,
in addition to two new test cases I developed specifically to test this
functionality. I have also tested it in our internal development
environment under load.
I have not submitted this enhancement for
integration into the castor project since we are not yet using this code in
a production environment. I would prefer to wait until it has been
proven in a production environment before submitting it for integration
into the project. But, I will provide the code and/or a modified set
of 0.9.3.19 jars, to whomever requests a copy. Please let me know if
you are interested.
Vince
-----Original
Message----- From: Thomas Phan [mailto:[EMAIL PROTECTED]] Sent:
Monday, July 15, 2002 12:57 AM To: [EMAIL PROTECTED] Subject:
[castor-dev] Performance cache in a clustered
environment
Hi,
> Got the below from a previous post on
Thu, 16 Aug 2001 01:37:32 -0700 by Tim Fox: > > We're
considering building clustering on top of castor using JMS - just in the
ideas stage at the moment but goes something like the following: > 1.
Object is inserted/update/deleted in the db (Castor cache is write-through
so all changes committed in db at end of transaction) > 2. Send a
message via JMS topic - with the object class and id > 3. When message
arrives at other instances of Castor - invalidate object from cache so it
is reread when next requested. > This should be quite easy to
set-up > > Only problem is there doesn't seem to be a Castor
method that invalidates an object from the cache as far as I know (anyone
please correct me if I'm wrong) - see (one of my) previous mails. > I
guess you could explicitly load the object using an OQL query (apparently
this always bypasses the cache and goes straight to the db) - although I
don't see how this would deal with the case when the object has been
deleted - (since the object won't be in the results of the query in that
case). > So the question is.. does such a method exist??
I wonder
about the clustering feature in Castor? Will something like the above be
implemented, or has been implemented? I personally think that the above
design is great for a distributed J2EE application. It'd be cool to use
Castor with JBoss 3 Cluster. Otherwise, we will consider OJB, or
EJB2
Thanks
Thomas
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail
to [EMAIL PROTECTED] with a subject of: unsubscribe
castor-dev
|