flushPattern(String str) is not clearing the Entry.
"Yendluri, Rajagopal" <[email protected]> Fri, 26 Aug 2011 12:24:14 -0500
| Newsgroups | gmane.comp.java.open-symphony.os-cache |
|---|---|
| Message-ID | <BF33E514941010419FE8781B112BE62A032B0575@A1DAL1SWPES19MB.ams.acs-inc.net> |
This is a multi-part message in MIME format.
------_=_NextPart_001_01CC6414.F1A428D7
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Hi,
=20
At the time of logout From the application I need to flush all the
entries from the map that has the userId pattern as key in the Cache.=20
=20
From Documentation I Understand flushPattern() method will help me.
=20
But the entries are not removing from the cache,=20
=20
Problem is in the following method of =20
=20
private void flushEntry(CacheEntry entry, String origin) { of
com.opensymphony.oscache.base.Cache.java Class
=20
The following condition is passing and putting back the value in the
Cache:
=20
if (!entry.isNew()) {
// Update the entry's state in the map
cacheMap.put(key, entry);
}
=20
I Do not understand how it is working, Can you please help me to resolve
this.
=20
=20
=20
com.opensymphony.oscache.base.Cache.java Class
=20
=20
/**
* Flush a cache entry. On completion of the flush, a
* <tt>CacheEntryEventType.ENTRY_FLUSHED</tt> event is fired.
*
* @param entry The entry to flush
* @param origin The origin of this flush event (optional)
*/
private void flushEntry(CacheEntry entry, String origin) {
String key =3D entry.getKey();
=20
// Flush the object itself
entry.flush();
=20
if (!entry.isNew()) {
// Update the entry's state in the map
cacheMap.put(key, entry);
}
=20
// Trigger an ENTRY_FLUSHED event. [CACHE-107] Do this for all
flushes.
if (listenerList.getListenerCount() > 0) {
CacheEntryEvent event =3D new CacheEntryEvent(this, entry,
origin);
dispatchCacheEntryEvent(CacheEntryEventType.ENTRY_FLUSHED,
event);
}
}
=20
=20
Rajagopal Y
------_=_NextPart_001_01CC6414.F1A428D7
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><META =
HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 14 =
(filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p =
class=3DMsoNormal>Hi,<o:p></o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>At the time =
of logout From the application I need to flush all the entries from the =
map that has the userId pattern as key in the Cache. <o:p></o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>From =
Documentation I Understand flushPattern() method will help =
me.<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal>But the entries are not removing from the cache, =
<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal>Problem is in the following method of =
<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> </span><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F0055'>private</span></b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><b><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F0055'>void</span></b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> <span =
style=3D'background:silver;mso-highlight:silver'>flushEntry</span>(CacheE=
ntry entry, String origin) { of =
</span><b>com.opensymphony.oscache.base.Cache.java =
Class<o:p></o:p></b></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal>The following condition is passing and putting back =
the value in the Cache:<o:p></o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> =
</span></b><b><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F0055'>if</span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
(!entry.isNew()) {</span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></b></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> &=
nbsp; </span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:#3F7F5F'>// =
Update the entry's state in the map</span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></b></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> &=
nbsp; </span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#0000C0'>cacheMap</span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'>.put(key, entry);</span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></b></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> =
}</span></b><b><span style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></b></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>I Do not =
understand how it is working, Can you please help me to resolve =
this.<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><b>com.opensymphony.oscache.base.Cache.java=
Class<o:p></o:p></b></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>/**</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> </span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>*</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>Flush</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>a</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>cache</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>entry.</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>On</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>completion</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>of</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>the</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>flush,</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>a</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> </span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>*</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F7F9F'><tt></span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>CacheEntryEventType.ENTRY_FLUSHED</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F7F9F'></tt></span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>event</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>is</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>fired.</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> </span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>*</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> </span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>*</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><b><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F9FBF'>@param</span></b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>entry</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>The</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>entry</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>to</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>flush</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> </span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>*</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><b><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F9FBF'>@param</span></b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>origin</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>The</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>origin</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>of</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>this</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>flush</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>event</span><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>(optional)</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> </span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F5FBF'>*/</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> </span><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F0055'>private</span></b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
</span><b><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F0055'>void</span></b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> <span =
style=3D'background:silver;mso-highlight:silver'>flushEntry</span>(CacheE=
ntry entry, String origin) {</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> String key =
=3D entry.getKey();</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p> </o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F7F5F'>// Flush the object itself</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> =
entry.flush();</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p> </o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> =
</span></b><b><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F0055'>if</span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
(!entry.isNew()) {</span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></b></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> &=
nbsp; </span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:#3F7F5F'>// =
Update the entry's state in the map</span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></b></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> &=
nbsp; </span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#0000C0'>cacheMap</span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'>.put(key, entry);</span></b><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></b></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> =
}</span></b><b><span style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></b></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p> </o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> =
</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#3F7F5F'>// Trigger an ENTRY_FLUSHED event. [CACHE-107] Do =
this for all flushes.</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> =
</span><b><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F0055'>if</span></b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
(</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#0000C0'>listenerList</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'>.getListenerCount() > 0) {</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> &=
nbsp; CacheEntryEvent event =3D </span><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F0055'>new</span></b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'> =
CacheEntryEvent(</span><b><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#7F0055'>this</span></b><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>, =
entry, origin);</span><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> &=
nbsp; dispatchCacheEntryEvent(CacheEntryEventType.</span><i><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:#0000C0'>ENTRY_FLUSHED</span></i><span =
style=3D'font-size:10.0pt;font-family:"Courier New";color:black'>, =
event);</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> =
}</span><span style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;font-family:"Courier =
New";color:black'> }</span><o:p></o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>Rajagopal =
Y<o:p></o:p></p></div></body></html>
------_=_NextPart_001_01CC6414.F1A428D7--