Wednesday 15 February 2012

java - Spring AOP caching returning Arraylist instead of expected Object -



java - Spring AOP caching returning Arraylist instead of expected Object -

java.lang.classcastexception: java.util.arraylist cannot cast com.vuelogix.collygo.to.todatapointtemplate @ com.vuelogix.collygo.service.datapointtemplateservice$$enhancerbyspringcglib$$3af4fe56.findbyid(<generated>) @ com.vuelogix.collygo.service.datapointservice.addtohistory(datapointservice.java:157) @ com.vuelogix.collygo.service.datapointservice$$fastclassbyspringcglib$$201d1115.invoke(<generated>) @ org.springframework.cglib.proxy.methodproxy.invoke(methodproxy.java:204) @ org.springframework.aop.framework.cglibaopproxy$cglibmethodinvocation.invokejoinpoint(cglibaopproxy.java:708) @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:157) @ org.springframework.cache.interceptor.cacheinterceptor$1.invoke(cacheinterceptor.java:52) @ org.springframework.cache.interceptor.cacheaspectsupport.execute(cacheaspectsupport.java:185) @ org.springframework.cache.interceptor.cacheinterceptor.invoke(cacheinterceptor.java:60) @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:179) @ org.springframework.transaction.interceptor.transactioninterceptor$1.proceedwithinvocation(transactioninterceptor.java:98) @ org.springframework.transaction.interceptor.transactionaspectsupport.invokewithintransaction(transactionaspectsupport.java:262) @ org.springframework.transaction.interceptor.transactioninterceptor.invoke(transactioninterceptor.java:95) @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:179) @ org.springframework.aop.interceptor.exposeinvocationinterceptor.invoke(exposeinvocationinterceptor.java:92) @ org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:179) @ org.springframework.aop.framework.cglibaopproxy$dynamicadvisedinterceptor.intercept(cglibaopproxy.java:644) @ com.vuelogix.collygo.service.datapointservice$$enhancerbyspringcglib$$8b1eaf10.addtohistory(<generated>) @ com.vuelogix.m2m.store.storageprocessor.process(storageprocessor.java:36) @ org.apache.camel.component.bean.beanprocessor.process(beanprocessor.java:97) @ org.apache.camel.management.instrumentationprocessor.process(instrumentationprocessor.java:72) @ org.apache.camel.processor.redeliveryerrorhandler.process(redeliveryerrorhandler.java:398) @ org.apache.camel.processor.camelinternalprocessor.process(camelinternalprocessor.java:191) @ org.apache.camel.processor.pipeline.process(pipeline.java:118) @ org.apache.camel.processor.pipeline.process(pipeline.java:80) @ org.apache.camel.processor.camelinternalprocessor.process(camelinternalprocessor.java:191) @ org.apache.camel.component.direct.directproducer.process(directproducer.java:51) @ org.apache.camel.processor.sendprocessor.process(sendprocessor.java:113) @ org.apache.camel.management.instrumentationprocessor.process(instrumentationprocessor.java:72) @ org.apache.camel.processor.redeliveryerrorhandler.process(redeliveryerrorhandler.java:398) @ org.apache.camel.processor.camelinternalprocessor.process(camelinternalprocessor.java:191) @ org.apache.camel.processor.redeliveryerrorhandler.process(redeliveryerrorhandler.java:398) @ org.apache.camel.processor.camelinternalprocessor.process(camelinternalprocessor.java:191) @ org.apache.camel.util.asyncprocessorhelper.process(asyncprocessorhelper.java:105) @ org.apache.camel.processor.multicastprocessor.doprocessparallel(multicastprocessor.java:711) @ org.apache.camel.processor.multicastprocessor.access$200(multicastprocessor.java:82) @ org.apache.camel.processor.multicastprocessor$1.call(multicastprocessor.java:292) @ org.apache.camel.processor.multicastprocessor$1.call(multicastprocessor.java:277) @ java.util.concurrent.futuretask.run(futuretask.java:262) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615) @ java.lang.thread.run(thread.java:745)

this method tried cache.

public todatapointtemplate findbyid(int id) { logger.debug("findbyid:: finding id :" + id + ".. status:: processing"); datapointtemplate datapointtemplate = datapointtemplaterepository .findone(id); logger.debug("findbyid:: found datapointtemplate id : " + id); todatapointtemplate todatapointtemplate = null; seek { if (utility.nullcheck(datapointtemplate)) { todatapointtemplate = mapper.map(datapointtemplate, todatapointtemplate.class); } } grab (exception e) { logger.error("findbyid:: exception : " + e.getmessage() + e); } logger.debug("findbyid:: finding id :" + id + ".. status:: done"); homecoming todatapointtemplate; }

cache configuration

<cache:advice id="datapointtemplateservicecacheadvice" cache-manager="cachemanager"> <cache:caching cache="datapointtemplateservice"> <cache:cacheable method="findbyid" key="#id.tostring()"/> </cache:caching>

ehcache config

<ehcache xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:nonamespaceschemalocation="http://ehcache.org/ehcache.xsd" name="rootcache"> <cache name="datapointtemplateservice" maxentrieslocalheap="20000" eternal="false" timetoidleseconds="600" timetoliveseconds="1200" /> </ehcache>

i getting class cast expection when enable cache. have overridden hashcode , equals methods of todatapointtemplate problem still persists

java spring caching aop ehcache

No comments:

Post a Comment