I noticed that Common’s caching is non-existent, and the cache taglibs seem
to have been stopped in development.  If I’m finishing up a generic caching
framework that includes a filter and taglibs, would it be plausible to push
it as a replacement for the other implementations?

Some of the things I’ve included:
• Framework completely configurable via XML w/ Digester

• Caches use the Composite pattern to allow developers to chain their own
series of caches (ex: SoftReferenceCacheModule for speed followed by a
DiskCacheModule for longevity).  At the same time, you can setup N other
caches for each particular case you may have, including a
DatabaseCacheModule using Blobs.

• Cached objects are stored under keys that are created via FactoryMethod
which allow EL type syntax (ex: store /employee.do?id=54 via EMPLOYEE_${id}
would create EMPLOYEE_54 as a key.)  This allows for other application logic
or Actions to intelligently flush cached objects that have complex keys.

• The cache framework also allows for you to configure Refresh Policies
which validate Objects before returned by the cache.  This allows not only
time limits to be set on the life of objects, but also allow for custom
logic from your business layer to control caching in addition to the Key
generation described above.

• All logical components are initialized with the application’s servlet
context to allow for business logic to be, again incorporated from other
application components.

• Currently implemented are a cache filter and a flush filter.  This would
allow POSTs from a form to be caught by a flush filter and consequently
flush a cache pattern or cache key.  The caching filter would allow complex
page transformations or db calls that generate content to be only refreshed
when absolutely needed—no need for repetitive server processing when the
model hasn’t changed.

• A cache controller (top of the framework) can be retrieved by a get
instance method from the servlet context to also cache business objects with
the same flexibility as page content.

• More is being developed….

I originally planned to enhance OSCache, but I felt that you couldn’t really
start from anywhere for enhancing or modifying the framework; it was too
concrete in implementation and didn’t have the built in ability to generate
useful keys on the fly without scriptlets in your JSPs.

Anyways, if there's interest in starting up the cache libs again, not
necessarily with my code, but do something similar to what the AXIS4STRUTS
is doing, send me an email please.

Best Regards,
Jacob Hookom


-----Original Message-----
From: Sterin, Ilya [mailto:[EMAIL PROTECTED]] 
Sent: Tuesday, January 28, 2003 12:00 AM
To: 'Jacob Hookom'; ''Struts Users Mailing List' '
Subject: RE: Filters and Struts

Ok, thanks to allO  Guess my only other option is to either define a filter
for each servlet for now, until 2.4 is prod ready, or as Max mentioned, and
put all actions in need of authentication, within the members namespace. 
 
Both are a hassle of course as compared to a simple filterc, but that’s what
we’ll have to live with for now,(
 
Any idea of when the 2.4 spec and tomcat will be production ready? 
 
Thanks. 
 
Ilya

-----Original Message-----
From: Jacob Hookom [mailto:[EMAIL PROTECTED]] 
Sent: Monday, January 27, 2003 1:32 PM
To: 'Sterin, Ilya'; ''Struts Users Mailing List' '
Subject: RE: Filters and Struts

I did some more checking on the 2.3 Spec and you are correct that it does
not allow for specific include requests.  I believe Craig had mentioned
before in Tomcat-User that the Filter chain is created once a request, which
would not accommodate dynamic includes.
 
Servlet 2.4 Specs
http://jcp.org/aboutJava/communityprocess/first/jsr154/
 
With 2.4, you can define lots more in your filter-mapping for includes,
specific GET/POST requests etc.  I’m finishing up a robust caching framework
with the use of tags/filters, and the 2.4 features will really simplify
filter functionality, even with Security Filters.
 
-Jacob
 
-----Original Message-----
From: Sterin, Ilya [mailto:[EMAIL PROTECTED]] 
Sent: Monday, January 27, 2003 10:54 AM
To: 'Jacob Hookom '; ''Struts Users Mailing List' '
Subject: RE: Filters and Struts
 
Hmmm, I'm successfuly using it with 2.3 just filtering jsp pages in a dir,
but the forwards are not filtered. 
I can of course filter each individual servlet, but that undermines the
whole filter cause, IMO, that way I can just use a authentication function
in each servlet.
Ilya 
-----Original Message----- 
From: Jacob Hookom 
To: 'Struts Users Mailing List' 
Sent: 1/27/03 9:39 AM 
Subject: RE: Filters and Struts 
It is in the 2.4 Servlet Spec, but I'm not fully sure if it's included 
in 
2.3, which is 4.1.x I believe. 
| -----Original Message----- 
| From: David Graham [mailto:[EMAIL PROTECTED]] 
| Sent: Monday, January 27, 2003 10:35 AM 
| To: [EMAIL PROTECTED] 
| Subject: Re: Filters and Struts 
| 
| I could be wrong but I believe filters apply to forwards. 
| 
| David 
| 
| 
| 
| 
| 
| 
| >From: "Sterin, Ilya" <[EMAIL PROTECTED]> 
| >Reply-To: "Struts Users Mailing List" 
<[EMAIL PROTECTED]> 
| >To: "'[EMAIL PROTECTED]'" 
<[EMAIL PROTECTED]> 
| >Subject: Filters and Struts 
| >Date: Mon, 27 Jan 2003 09:13:26 -0700 
| > 
| >I'd like to know if anyone has used and/or knows the best way to use 
a 
| >Login 
| >Filter with Struts.  Before utilizing struts, I simply filtered say a 
| >"members" directory, which took care of all JSP pages there... 
| > 
| >Since struts relies on forwarding, forwarding to those pages does not 
| >utilize the filter, therefore, it allows anonymous access. 
| > 
| >If not filters, what are other good/best approaches. 
| > 
| >Thanks. 
| > 
| >Ilya 
| 
| 
| _________________________________________________________________ 
| Help STOP SPAM with the new MSN 8 and get 2 months FREE* 
| http://join.msn.com/?page=features/junkmail 
| 
| 
| -- 
| To unsubscribe, e-mail:   <mailto:struts-user- 
| [EMAIL PROTECTED]> 
| For additional commands, e-mail: <mailto:struts-user- 
| [EMAIL PROTECTED]> 
 
-- 
To unsubscribe, e-mail: 
<mailto:[EMAIL PROTECTED]> 
For additional commands, e-mail: 
<mailto:[EMAIL PROTECTED]> 


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to