> You can associate elements by putting a ":" into the key. 

I am currently using this naming technique.

> Let me know what you are trying to do.  I may have a better idea.

I am currently running in a single jvm, so that alleviates some complexity,
I think.

Here is my scenario.  I have a legacy system (a separate AS/400 sitting on
the other side of DMZ from my appserver). My webapp accesses both price and
availability on the AS400 using OJB then and then stores results into JCS to
increase performance for subsequent requests.  This is working great.
However, since pricing and availability can be changed by the legacy app, i
need to update that information (price and availability) on regular basis,
15 minutes and one hour respectively.

Access to both price and availability are provided by a set of fulcrum
services.  These service implement an interface, IRefreshableCache , that
contains a method called refreshCache().  On initialization, these services
add themselves along with a refresh interval to a third, management service
that implements the IRefreshableCacheManager interface.
IRefreshableCacheManager runs an instance of an internal class, Refresher,
in a separate MIN_PRIORITY, daemon thread which runs every 10 seconds and
checks to see if any if the refresh intervals for the IRefreshableCache
objects managed by the IRefreshableCacheManager have been met or exceeded.
If the interval has been  met or exceeded the refreshCache() of the
IRefreshableCache object is called.

Here is were I need the list keys so I can grab each cached object, re-query
the AS400 using OJB, and replace the stale cache value with the fresh one.
My current work around is that I maintain an ArrayList that keeps track of
cache keys, but I would prefer to scrap that and directly access the keys
from the cache region.

I don't want to expire the objects as that will require user requests to
re-query the database which be lengthy for some items.


very long...sorry

scott 




> -----Original Message-----
> From: Aaron Smuts [mailto:[EMAIL PROTECTED]]
> Sent: Monday, April 29, 2002 4:46 PM
> To: [EMAIL PROTECTED]
> Subject: re: How do you retrieve a collection keys for a cache region 
> 
> 
> *     From: Weaver, Scott 
> *     Subject: How do you retrieve a collection keys for a 
> cache region 
> *     Date: Thu, 18 Apr 2002 12:12:45 -0700 
>   _____  
> 
> Is there anyway to retrieve a collection of all of the keys 
> for a paticular
> cache region?
>  
> Thanks,
> Scott
>  
>  
>  
> Hi:
>  
> One way to manage a list is to use the group feature.  You 
> can put elements
> in a group that is within a region.  The list of elements 
> within a group is
> managed across servers.  The list isn't transmitted, but 
> updates to the list
> are.  So, all of the elements do not have to be present for 
> you to know
> about them.
>  
> I'm not sure why you need the list, but generally it isn't 
> necessary.  Often
> it is better just to put a list into one element.
>  
> If you need to delete related elements, one good way to do 
> this is to use
> the hierarchical delete mechanism.
>  
> You can associate elements by putting a ":" into the key.  
> You can call
> remove with a partial key ending in a ":" and all the 
> elements starting with
> that key will be removed.
>  
> If we allowed direct access to the cache manager, or the hub, 
> then you could
> get a list of all the elements in memory or on disk.  
> Depending on your
> distribution settings and your environment, this might not be 
> a complete
> list of all the elements that are in the region in all the jvms.
>  
> Let me know what you are trying to do.  I may have a better idea.
>  
> Aaron
>  
>  
>  
>  
>  
>  
>  
>  
> Aaron Smuts
> Director, Systems and Development
> e-Business Division
> REALMCash
> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 
>  
> office:      (212) 653-0578
> cell:          (646) 263-5398
>  
> 

Reply via email to