You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@shiro.apache.org by andibaso <ab...@gmail.com> on 2013/01/18 11:47:38 UTC
UnknownSessionException and Spring AOP
Hi All,
I am working with spring batch and shiro. I save several user information
in shiro session. After login, i can execute several job before the
exception below happen. I don't think this is caused by session timeout
because i set session timeout up to 24 hours. *BusinessRuleEvaluator *is
just simple class that implements *MethodBeforeAdvice, AfterReturningAdvice
*, and call to UserUtil.getCurrentUser
*
* public synchronized static CoreUser getCurrentUser() {
Subject subject = SecurityUtils.getSubject();
Session session = (subject == null) ? null : subject.getSession();
if (session != null) {
CoreUser coreUser = (CoreUser)
session.getAttribute(Constants.CORE_USER);
return coreUser;
} else {
return null;
}
}
*
*
And this is my application config
*<aop:config>
<aop:advisor id="businessRule" advice-ref="businessRuleEvaluator"
pointcut="execution(* *..dao.*Dao.*(..))" order="1"/>
</aop:config>
*
And this is the exception message :
ERROR - AbstractJob.execute(318) | Encountered fatal error executing job
org.apache.shiro.session.UnknownSessionException: There is no session with
id [01e5744d-dd8d-4a3b-8508-5412dc38c618]
at
org.apache.shiro.session.mgt.eis.AbstractSessionDAO.readSession(AbstractSessionDAO.java:170)
at
org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSessionFromDataSource(DefaultSessionManager.java:236)
at
org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSession(DefaultSessionManager.java:222)
at
org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118)
at
org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:105)
at
org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:109)
at
org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:206)
at
org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
at
org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
at com.anabatic.egl.util.UserUtil.getCurrentUser(UserUtil.java:49)
at
com.anabatic.egl.security.BusinessRuleEvaluator.afterReturning(BusinessRuleEvaluator.java:62)
at
org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:51)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
at
com.anabatic.egl.dao.impl.DataDefinitionDaoImpl$$EnhancerByCGLIB$$ee849b92.get(<generated>)
at sun.reflect.GeneratedMethodAccessor252.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
at $Proxy75.get(Unknown Source)
at
com.anabatic.egl.batch.listener.LedgerTransactionStagingJobListener.beforeJob(LedgerTransactionStagingJobListener.java:36)
at
org.springframework.batch.core.listener.CompositeJobExecutionListener.beforeJob(CompositeJobExecutionListener.java:71)
at
org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:290)
at
org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:120)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Does anyone have any idea about this is problem?. And FYI, this is not
happen if i restart tomcat before execute that job, and this is only
happen if *BusinessRuleEvaluator *is invoked. Another program
call*UserUtil.getCurrentUser
*without any problem
Thanks.
--
BR,
ab.annas
Re: UnknownSessionException and Spring AOP
Posted by Les Hazlewood <lh...@apache.org>.
The best way is to see the cache eviction rates for sessions in whatever
backing datastore you're using. Hopefully they have a query API or JMX
capabilities or a graphical UI that you can use to discover this.
On Tue, Jan 22, 2013 at 7:22 PM, andibaso <ab...@gmail.com> wrote:
> Hi Les,
>
> Sorry for my late reply. I use in memory session store.
> 1). I don't think subject session expires, because i use embedded spring
> batch monitoring in my application , and i saw if the job failed with error
> messages that i send before. I monitor job in same application and user.
> 2) Maybe this is the root caused. But i have several jobs with high
> resources usage without any problem.
>
>
> I still don't have any idea, why a job get an invalid session and another
> job get a valid session. Do you have any idea how to trace this problem?
>
>
>
> Thanks
>
>
> On Tue, Jan 22, 2013 at 5:18 AM, Les Hazlewood <lh...@apache.org>wrote:
>
>> This will happen if:
>>
>> 1) The Subject's session expires or
>> 2) Something removes or evicts the session record from your session store
>> (e.g. a cache-based store trying to reclaim space). For example, if you're
>> using a memory-only session store, you have to ensure that the store does
>> not run out of space and evict old Session instances.
>>
>> For example, if you enable a CacheManager backed by a memory-only store
>> (e.g. Memcache), you have to ensure that the cache has enough memory to
>> retain all sessions such that they're not evicted before their
>> expiration/TTL.
>>
>> What storage mechanism are you using to store sessions?
>>
>> Cheers,
>>
>> --
>> Les Hazlewood | @lhazlewood
>> CTO, Stormpath | http://stormpath.com | @goStormpath | 888.391.5282
>> Stormpath wins GigaOM Structure Launchpad Award! http://bit.ly/MvZkMk
>>
>> On Fri, Jan 18, 2013 at 2:47 AM, andibaso <ab...@gmail.com> wrote:
>>
>>> Hi All,
>>>
>>> I am working with spring batch and shiro. I save several user
>>> information in shiro session. After login, i can execute several job before
>>> the exception below happen. I don't think this is caused by session timeout
>>> because i set session timeout up to 24 hours. *BusinessRuleEvaluator *is
>>> just simple class that implements *MethodBeforeAdvice,
>>> AfterReturningAdvice*, and call to UserUtil.getCurrentUser
>>> *
>>> * public synchronized static CoreUser getCurrentUser() {
>>>
>>> Subject subject = SecurityUtils.getSubject();
>>>
>>> Session session = (subject == null) ? null :
>>> subject.getSession();
>>> if (session != null) {
>>> CoreUser coreUser = (CoreUser)
>>> session.getAttribute(Constants.CORE_USER);
>>> return coreUser;
>>> } else {
>>> return null;
>>> }
>>> }
>>> *
>>> *
>>> And this is my application config
>>>
>>> *<aop:config>
>>> <aop:advisor id="businessRule"
>>> advice-ref="businessRuleEvaluator" pointcut="execution(*
>>> *..dao.*Dao.*(..))" order="1"/>
>>> </aop:config>
>>> *
>>>
>>>
>>> And this is the exception message :
>>>
>>> ERROR - AbstractJob.execute(318) | Encountered fatal error executing job
>>> org.apache.shiro.session.UnknownSessionException: There is no session
>>> with id [01e5744d-dd8d-4a3b-8508-5412dc38c618]
>>> at
>>> org.apache.shiro.session.mgt.eis.AbstractSessionDAO.readSession(AbstractSessionDAO.java:170)
>>> at
>>> org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSessionFromDataSource(DefaultSessionManager.java:236)
>>> at
>>> org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSession(DefaultSessionManager.java:222)
>>> at
>>> org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118)
>>> at
>>> org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:105)
>>> at
>>> org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:109)
>>> at
>>> org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:206)
>>> at
>>> org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
>>> at
>>> org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
>>> at com.anabatic.egl.util.UserUtil.getCurrentUser(UserUtil.java:49)
>>> at
>>> com.anabatic.egl.security.BusinessRuleEvaluator.afterReturning(BusinessRuleEvaluator.java:62)
>>> at
>>> org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:51)
>>> at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>> at
>>> org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
>>> at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>> at
>>> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
>>> at
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>> at
>>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>>> at
>>> com.anabatic.egl.dao.impl.DataDefinitionDaoImpl$$EnhancerByCGLIB$$ee849b92.get(<generated>)
>>> at sun.reflect.GeneratedMethodAccessor252.invoke(Unknown Source)
>>> at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>> at
>>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
>>> at
>>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
>>> at $Proxy75.get(Unknown Source)
>>> at
>>> com.anabatic.egl.batch.listener.LedgerTransactionStagingJobListener.beforeJob(LedgerTransactionStagingJobListener.java:36)
>>> at
>>> org.springframework.batch.core.listener.CompositeJobExecutionListener.beforeJob(CompositeJobExecutionListener.java:71)
>>> at
>>> org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:290)
>>> at
>>> org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:120)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>> at java.lang.Thread.run(Thread.java:662)
>>>
>>> Does anyone have any idea about this is problem?. And FYI, this is not
>>> happen if i restart tomcat before execute that job, and this is only
>>> happen if *BusinessRuleEvaluator *is invoked. Another program call*UserUtil.getCurrentUser
>>> *without any problem
>>>
>>> Thanks.
>>> --
>>> BR,
>>> ab.annas
>>>
>>>
>>
>
>
> --
> Salam,
> ab.annas
>
>
>
Re: UnknownSessionException and Spring AOP
Posted by andibaso <ab...@gmail.com>.
Hi Les,
Sorry for my late reply. I use in memory session store.
1). I don't think subject session expires, because i use embedded spring
batch monitoring in my application , and i saw if the job failed with error
messages that i send before. I monitor job in same application and user.
2) Maybe this is the root caused. But i have several jobs with high
resources usage without any problem.
I still don't have any idea, why a job get an invalid session and another
job get a valid session. Do you have any idea how to trace this problem?
Thanks
On Tue, Jan 22, 2013 at 5:18 AM, Les Hazlewood <lh...@apache.org>wrote:
> This will happen if:
>
> 1) The Subject's session expires or
> 2) Something removes or evicts the session record from your session store
> (e.g. a cache-based store trying to reclaim space). For example, if you're
> using a memory-only session store, you have to ensure that the store does
> not run out of space and evict old Session instances.
>
> For example, if you enable a CacheManager backed by a memory-only store
> (e.g. Memcache), you have to ensure that the cache has enough memory to
> retain all sessions such that they're not evicted before their
> expiration/TTL.
>
> What storage mechanism are you using to store sessions?
>
> Cheers,
>
> --
> Les Hazlewood | @lhazlewood
> CTO, Stormpath | http://stormpath.com | @goStormpath | 888.391.5282
> Stormpath wins GigaOM Structure Launchpad Award! http://bit.ly/MvZkMk
>
> On Fri, Jan 18, 2013 at 2:47 AM, andibaso <ab...@gmail.com> wrote:
>
>> Hi All,
>>
>> I am working with spring batch and shiro. I save several user information
>> in shiro session. After login, i can execute several job before the
>> exception below happen. I don't think this is caused by session timeout
>> because i set session timeout up to 24 hours. *BusinessRuleEvaluator *is
>> just simple class that implements *MethodBeforeAdvice,
>> AfterReturningAdvice*, and call to UserUtil.getCurrentUser
>> *
>> * public synchronized static CoreUser getCurrentUser() {
>>
>> Subject subject = SecurityUtils.getSubject();
>>
>> Session session = (subject == null) ? null : subject.getSession();
>> if (session != null) {
>> CoreUser coreUser = (CoreUser)
>> session.getAttribute(Constants.CORE_USER);
>> return coreUser;
>> } else {
>> return null;
>> }
>> }
>> *
>> *
>> And this is my application config
>>
>> *<aop:config>
>> <aop:advisor id="businessRule"
>> advice-ref="businessRuleEvaluator" pointcut="execution(*
>> *..dao.*Dao.*(..))" order="1"/>
>> </aop:config>
>> *
>>
>>
>> And this is the exception message :
>>
>> ERROR - AbstractJob.execute(318) | Encountered fatal error executing job
>> org.apache.shiro.session.UnknownSessionException: There is no session
>> with id [01e5744d-dd8d-4a3b-8508-5412dc38c618]
>> at
>> org.apache.shiro.session.mgt.eis.AbstractSessionDAO.readSession(AbstractSessionDAO.java:170)
>> at
>> org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSessionFromDataSource(DefaultSessionManager.java:236)
>> at
>> org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSession(DefaultSessionManager.java:222)
>> at
>> org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118)
>> at
>> org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:105)
>> at
>> org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:109)
>> at
>> org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:206)
>> at
>> org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
>> at
>> org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
>> at com.anabatic.egl.util.UserUtil.getCurrentUser(UserUtil.java:49)
>> at
>> com.anabatic.egl.security.BusinessRuleEvaluator.afterReturning(BusinessRuleEvaluator.java:62)
>> at
>> org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:51)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>> at
>> org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>> at
>> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>> at
>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
>> at
>> com.anabatic.egl.dao.impl.DataDefinitionDaoImpl$$EnhancerByCGLIB$$ee849b92.get(<generated>)
>> at sun.reflect.GeneratedMethodAccessor252.invoke(Unknown Source)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>> at
>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
>> at
>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
>> at $Proxy75.get(Unknown Source)
>> at
>> com.anabatic.egl.batch.listener.LedgerTransactionStagingJobListener.beforeJob(LedgerTransactionStagingJobListener.java:36)
>> at
>> org.springframework.batch.core.listener.CompositeJobExecutionListener.beforeJob(CompositeJobExecutionListener.java:71)
>> at
>> org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:290)
>> at
>> org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:120)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>> at java.lang.Thread.run(Thread.java:662)
>>
>> Does anyone have any idea about this is problem?. And FYI, this is not
>> happen if i restart tomcat before execute that job, and this is only
>> happen if *BusinessRuleEvaluator *is invoked. Another program call*UserUtil.getCurrentUser
>> *without any problem
>>
>> Thanks.
>> --
>> BR,
>> ab.annas
>>
>>
>
--
Salam,
ab.annas
Re: UnknownSessionException and Spring AOP
Posted by Les Hazlewood <lh...@apache.org>.
This will happen if:
1) The Subject's session expires or
2) Something removes or evicts the session record from your session store
(e.g. a cache-based store trying to reclaim space). For example, if you're
using a memory-only session store, you have to ensure that the store does
not run out of space and evict old Session instances.
For example, if you enable a CacheManager backed by a memory-only store
(e.g. Memcache), you have to ensure that the cache has enough memory to
retain all sessions such that they're not evicted before their
expiration/TTL.
What storage mechanism are you using to store sessions?
Cheers,
--
Les Hazlewood | @lhazlewood
CTO, Stormpath | http://stormpath.com | @goStormpath | 888.391.5282
Stormpath wins GigaOM Structure Launchpad Award! http://bit.ly/MvZkMk
On Fri, Jan 18, 2013 at 2:47 AM, andibaso <ab...@gmail.com> wrote:
> Hi All,
>
> I am working with spring batch and shiro. I save several user information
> in shiro session. After login, i can execute several job before the
> exception below happen. I don't think this is caused by session timeout
> because i set session timeout up to 24 hours. *BusinessRuleEvaluator *is
> just simple class that implements *MethodBeforeAdvice,
> AfterReturningAdvice*, and call to UserUtil.getCurrentUser
> *
> * public synchronized static CoreUser getCurrentUser() {
>
> Subject subject = SecurityUtils.getSubject();
>
> Session session = (subject == null) ? null : subject.getSession();
> if (session != null) {
> CoreUser coreUser = (CoreUser)
> session.getAttribute(Constants.CORE_USER);
> return coreUser;
> } else {
> return null;
> }
> }
> *
> *
> And this is my application config
>
> *<aop:config>
> <aop:advisor id="businessRule" advice-ref="businessRuleEvaluator"
> pointcut="execution(* *..dao.*Dao.*(..))" order="1"/>
> </aop:config>
> *
>
>
> And this is the exception message :
>
> ERROR - AbstractJob.execute(318) | Encountered fatal error executing job
> org.apache.shiro.session.UnknownSessionException: There is no session with
> id [01e5744d-dd8d-4a3b-8508-5412dc38c618]
> at
> org.apache.shiro.session.mgt.eis.AbstractSessionDAO.readSession(AbstractSessionDAO.java:170)
> at
> org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSessionFromDataSource(DefaultSessionManager.java:236)
> at
> org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSession(DefaultSessionManager.java:222)
> at
> org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118)
> at
> org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:105)
> at
> org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:109)
> at
> org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:206)
> at
> org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
> at
> org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
> at com.anabatic.egl.util.UserUtil.getCurrentUser(UserUtil.java:49)
> at
> com.anabatic.egl.security.BusinessRuleEvaluator.afterReturning(BusinessRuleEvaluator.java:62)
> at
> org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:51)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
> at
> com.anabatic.egl.dao.impl.DataDefinitionDaoImpl$$EnhancerByCGLIB$$ee849b92.get(<generated>)
> at sun.reflect.GeneratedMethodAccessor252.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
> at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
> at $Proxy75.get(Unknown Source)
> at
> com.anabatic.egl.batch.listener.LedgerTransactionStagingJobListener.beforeJob(LedgerTransactionStagingJobListener.java:36)
> at
> org.springframework.batch.core.listener.CompositeJobExecutionListener.beforeJob(CompositeJobExecutionListener.java:71)
> at
> org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:290)
> at
> org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:120)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
>
> Does anyone have any idea about this is problem?. And FYI, this is not
> happen if i restart tomcat before execute that job, and this is only
> happen if *BusinessRuleEvaluator *is invoked. Another program call*UserUtil.getCurrentUser
> *without any problem
>
> Thanks.
> --
> BR,
> ab.annas
>
>