PackageCom.castalia.market.blh.impl;Importjava.io.Serializable;ImportJava.net.URL;Importjava.util.ArrayList;Importjava.util.List;ImportOrg.apache.log4j.Logger;Importorg.springframework.stereotype.Component;ImportNet.sf.ehcache.Cache;ImportNet.sf.ehcache.CacheManager;Importnet.sf.ehcache.Element;ImportCom.castalia.market.blh.IgetCampaignPrizeFromCacheBlh;ImportCom.castalia.market.vo.CampaignPrizeRange; @Component Public classGetcampaignprizefromcacheblhimplImplementsIGETCAMPAIGNPRIZEFROMCACHEBLH {Private Static FinalLogger Logger = Logger.getlogger (Getcampaignprizefromcacheblhimpl.class); Privatecache Cache; PublicGetcampaignprizefromcacheblhimpl () {URL URL= Campaignprizecacheblhimpl.class. getClassLoader (). GetResource ("/config/ehcache.xml"); CacheManager Manager=NewCacheManager (URL); Logger.info (Manager.getname ()); Cache= Manager.getcache ("SampleCache2"); } @Override Public synchronizedString Getcampaignprizefromcache (String key,intnum) { //TODO auto-generated Method StubStringBuilder hashcodes=NewStringBuilder (); Logger.info ("Fetch cached keys:" +key); Try{Element result=Cache.get (key); if(result==NULL) {Logger.info ("Fetch cached Key value: Cachenull"); return"Cachenull"; } @SuppressWarnings ("Deprecation") List<CampaignPrizeRange> campaignprizeranges= (list<campaignprizerange>) Result.getvalue (); String Serverindex=key.substring (0,2); intIndex=0; List<CampaignPrizeRange> removecampaignprizeranges=NewArraylist<campaignprizerange>(); Tag: for(Campaignprizerange e:campaignprizeranges) { for(LongI=e.getstartvalue (); I<=e.getendvalue (); i++) { if(index>=num) {E.setstartvalue (i); Breaktag; } Else{hashcodes.append (Serverindex+string.format ("%06d", I) + ","); Index++; }} removecampaignprizeranges.add (e); } if(index!=num) {Logger.info ("Fetch cached Key value: Lack"); return"Lack"; } Else { for(Campaignprizerange e:removecampaignprizeranges) {Campaignprizerange S.remove (e); } if(Hashcodes.length () >0) {Savetocache (key,campaignprizeranges); } Else{logger.info ("Fetch cached Key value:"); return""; } } } Catch(Exception e) {return"Error"; } String KeyValue=hashcodes.substring (0,hashcodes.length ()-1); Logger.info ("Fetch cached Key value:" +keyValue); returnKeyValue; } @Override Public synchronized voidSavetocache (String key,object Value) {logger.info ("Enter lock to save Data key:" +key); Try{ //adding data to the cacheElement element =NewElement (Key, (Serializable) Value); Cache.put (Element); Logger.info ("Saved successfully"); } Catch(Exception e) {logger.info (E.getmessage ()); }} @Override Publicstring Get (String key) {Element result=Cache.get (key); if(result==NULL) { return"Cachenull"; } @SuppressWarnings ("Deprecation") String ret=(String) result.getvalue (); returnret; }}
Java Cache read/write