3 Replies Latest reply on Mar 26, 2009 2:59 PM by talen

    Method causes ClassNotFoundException when running for a long time

    talen

      I've got a Stateless session bean with 4 methods that are called in a row. the last of those methods makes a call to a stateful session bean. if the call of those methods takes too long, i get a classnotfoundexception.


      07:27:59,127 ERROR [STDERR] java.lang.ClassNotFoundException: No ClassLoaders found for: ch.sedd.osiris.session.seam.CurrentValuesManagerBean
      07:27:59,127 ERROR [STDERR]      at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212)
      07:27:59,127 ERROR [STDERR]      at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:521)
      07:27:59,127 ERROR [STDERR]      at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:415)
      07:27:59,127 ERROR [STDERR]      at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
      07:27:59,127 ERROR [STDERR]      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
      07:27:59,127 ERROR [STDERR]      at java.lang.Class.forName0(Native Method)
      07:27:59,127 ERROR [STDERR]      at java.lang.Class.forName(Class.java:247)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.io.JBossObjectInputStream.resolveClass(JBossObjectInputStream.java:141)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.io.JBossObjectInputStream$1.resolveClass(JBossObjectInputStream.java:127)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.classmetamodel.ClassMetamodelFactory.resolveClassByName(ClassMetamodelFactory.java:266)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.classmetamodel.ClassMetamodelFactory.getClassMetaData(ClassMetamodelFactory.java:289)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.classmetamodel.StreamingClass.readStream(StreamingClass.java:72)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:381)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.persister.ArrayPersister.readObjectArray(ArrayPersister.java:196)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.persister.ArrayPersister.readData(ArrayPersister.java:172)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:412)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:82)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:643)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
      07:27:59,127 ERROR [STDERR]      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345)
      07:27:59,127 ERROR [STDERR]      at org.jboss.serial.io.MarshalledObject.get(MarshalledObject.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateful.StatefulBeanContext.extractBeanAndInterceptors(StatefulBeanContext.java:793)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateful.StatefulBeanContext.getInterceptorInstances(StatefulBeanContext.java:781)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.interceptor.LifecycleInvocationContextImpl.getLifecycleInvocationContext(LifecycleInvocationContextImpl.java:65)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.interceptor.LifecycleInterceptorHandler.postActivate(LifecycleInterceptorHandler.java:143)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateful.StatefulContainer.invokePostActivate(StatefulContainer.java:409)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateful.StatefulBeanContext.postActivate(StatefulBeanContext.java:388)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.activateSession(StatefulSessionFilePersistenceManager.java:316)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:387)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.cache.simple.SimpleStatefulCache.get(SimpleStatefulCache.java:375)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:61)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:206)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:119)
      07:27:59,127 ERROR [STDERR]      at $Proxy136.setValue(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      07:27:59,127 ERROR [STDERR]      at java.lang.reflect.Method.invoke(Method.java:597)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:43)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
      07:27:59,127 ERROR [STDERR]      at org.javassist.tmp.java.lang.Object_$$_javassist_7.setValue(Object_$$_javassist_7.java)
      07:27:59,127 ERROR [STDERR]      at ch.sedd.osiris.datareaders.memograph.MemographAdapterBean.readCurrentValues(MemographAdapterBean.java:817)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.GeneratedMethodAccessor140.invoke(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      07:27:59,127 ERROR [STDERR]      at java.lang.reflect.Method.invoke(Method.java:597)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:29)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:31)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      07:27:59,127 ERROR [STDERR]      at java.lang.reflect.Method.invoke(Method.java:597)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:112)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
      07:27:59,127 ERROR [STDERR]      at $Proxy104.readCurrentValues(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.GeneratedMethodAccessor139.invoke(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      07:27:59,127 ERROR [STDERR]      at java.lang.reflect.Method.invoke(Method.java:597)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
      07:27:59,127 ERROR [STDERR]      at org.javassist.tmp.java.lang.Object_$$_javassist_6.readCurrentValues(Object_$$_javassist_6.java)
      07:27:59,127 ERROR [STDERR]      at ch.sedd.osiris.datareaders.OsirisMemographUpdaterBean.update(OsirisMemographUpdaterBean.java:95)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      07:27:59,127 ERROR [STDERR]      at java.lang.reflect.Method.invoke(Method.java:597)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:29)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:31)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      07:27:59,127 ERROR [STDERR]      at java.lang.reflect.Method.invoke(Method.java:597)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:112)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
      07:27:59,127 ERROR [STDERR]      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
      07:27:59,127 ERROR [STDERR]      at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
      07:27:59,127 ERROR [STDERR]      at $Proxy116.update(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      07:27:59,127 ERROR [STDERR]      at java.lang.reflect.Method.invoke(Method.java:597)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.async.AsynchronousInterceptor.aroundInvoke(AsynchronousInterceptor.java:52)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
      07:27:59,127 ERROR [STDERR]      at org.javassist.tmp.java.lang.Object_$$_javassist_5.update(Object_$$_javassist_5.java)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
      07:27:59,127 ERROR [STDERR]      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      07:27:59,127 ERROR [STDERR]      at java.lang.reflect.Method.invoke(Method.java:597)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:138)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.async.AsynchronousInvocation$1.process(AsynchronousInvocation.java:62)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.async.Asynchronous$ContextualAsynchronousRequest.run(Asynchronous.java:80)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.async.AsynchronousInvocation.execute(AsynchronousInvocation.java:44)
      07:27:59,127 ERROR [STDERR]      at org.jboss.seam.async.QuartzDispatcher$QuartzJob.execute(QuartzDispatcher.java:243)
      07:27:59,127 ERROR [STDERR]      at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
      07:27:59,127 ERROR [STDERR]      at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
      

        • 1. Re: Method causes ClassNotFoundException when running for a long time
          norman

          That's strange.  It looks like your SFSB is being passivated and can't be reloaded.   Where is the class that can't be found?  Is it your EAR or in the WAR?

          • 2. Re: Method causes ClassNotFoundException when running for a long time
            talen

            they are both in an ejb-jar which is part of an ear.


            here is the code:


            import java.util.Date;
            import java.util.HashMap;
            import java.util.List;
            import java.util.Map;
            
            import javax.ejb.Stateless;
            import javax.ejb.TransactionAttribute;
            import javax.ejb.TransactionAttributeType;
            import javax.persistence.EntityManager;
            import javax.persistence.Query;
            
            import org.jboss.seam.annotations.In;
            import org.jboss.seam.annotations.Logger;
            import org.jboss.seam.annotations.Name;
            import org.jboss.seam.annotations.async.Expiration;
            import org.jboss.seam.async.QuartzTriggerHandle;
            import org.jboss.seam.log.Log;
            
            import ch.sedd.osiris.datareaders.memograph.MemographAdapter;
            import ch.sedd.osiris.entity.DataSource;
            import ch.sedd.osiris.entity.DataSourceChannel;
            import ch.sedd.osiris.entity.MeasuringParameter;
            import ch.sedd.osiris.util.TimeInterval;
            
            @Stateless
            @Name("osirisMemographUpdater")
            public class OsirisMemographUpdaterBean implements OsirisMemographUpdater {
                    @In(value = "#{currentValuesUpdater}")
                    private CurrentValuesUpdater currentValuesUpdater;
                    @In(value = "#{statisticsUpdater}")
                    private StatisticsUpdater statisticsUpdater;
                    @In(value = "#{memographAdapter}")
                    private MemographAdapter memographAdapter;
                    @In(value = "#{lastReadUpdater}")
                    private LastReadUpdater lastReadUpdater;
                    @In
                    private QuartzTriggerHandle timer;
                    @Logger
                    private Log logger;
                    @In
                    private EntityManager entityManager;
            
                    @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
                    public QuartzTriggerHandle update(@Expiration Date when, Date date,
                                    DataSource dataSource) {
                            if (!SquirrelDataSourceProperties.getProperties(dataSource)
                                            .getMemographDriver().touchConnection()) {
                                    logger.error("[{0}] Memograph offline!", dataSource.getName());
                                    return timer;
                            }
            
                            if (SquirrelDataSourceProperties.getProperties(dataSource).isUpdating())
                                    return timer;
                            SquirrelDataSourceProperties.getProperties(dataSource)
                                            .setUpdating(true);
            
                            logger.info("[{0}] starting update...", dataSource.getName());
            
                            Map<MeasuringParameter, TimeInterval> outOfDate = new HashMap<MeasuringParameter, TimeInterval>();
                            Date firstOutOfDate = null;
                            Date lastOutOfDate = date;
            
                            Query q = entityManager
                                            .createQuery("select dsc from DataSource ds inner join ds.dataSourceChannels dsc where ds.id=:dataSourceId");
                            q.setParameter("dataSourceId", dataSource.getId());
                            List<DataSourceChannel> dataSourceChannels = q.getResultList();
            
                            for (DataSourceChannel dataSourceChannel : dataSourceChannels) {
                                    if (dataSourceChannel.getDataSourceChannelType().getKey().equals(
                                                    "measuringValue")) {
                                            MeasuringParameter measuringParameter = dataSourceChannel
                                                            .getMeasuringParameter();
                                            Date lastRead = dataSourceChannel.getLastRead();
                                            if (lastRead == null) {
                                                    q = entityManager
                                                                    .createQuery("select max(mv.date) from MeasuringValue mv where mv.measuringParameter.id=:measuringParameterId");
                                                    q.setParameter("measuringParameterId", measuringParameter
                                                                    .getId());
                                                    try {
                                                            lastRead = (Date) q.getSingleResult();
                                                    } catch (Exception e) {
            
                                                    }
                                            }
                                            if (lastRead == null || firstOutOfDate == null
                                                            || firstOutOfDate.after(lastRead)) {
                                                    firstOutOfDate = lastRead;
                                            }
                                            outOfDate.put(measuringParameter, new TimeInterval(lastRead,
                                                            date));
                                    }
                            }
            
                            try {
                                    memographAdapter.updateMemographConfigurations(dataSource);
                                    memographAdapter.updateMemographDatas(dataSource);
                                    memographAdapter.updateMeasuringParametersFromArchive(outOfDate,
                                                    firstOutOfDate, lastOutOfDate, dataSource);
                                    statisticsUpdater.updateStatistics(outOfDate, dataSource);
                                    lastReadUpdater.updateLastValues(dataSource);
                                    currentValuesUpdater.readCurrentValues(date, dataSource);
            
                                    logger.info("[{0}] update done!", dataSource.getName());
                            } catch (Exception e) {
                                    logger.error("[{0}] update failed!", dataSource.getName());
                                    e.printStackTrace();
                            } finally {
                                    SquirrelDataSourceProperties.getProperties(dataSource).setUpdating(
                                                    false);
                            }
            
                            return timer;
                    }
            
                    public void destroy() {
            
                    }
            }
            



            the error occurs two lines before the catch statement.

            • 3. Re: Method causes ClassNotFoundException when running for a long time
              talen

              i made a mistake. the error happens in the currentValuesUpdater.readCurrentValues method (line with currentValuesManager.setValue(parameterChannel.getValue()
                                                                      .getMeasuringParameter(), mvli);
              ). the real exception is catched. i will let it run and post the exception when it's finished. here is the code:


              
              import java.util.Calendar;
              import java.util.Date;
              import java.util.HashMap;
              import java.util.List;
              import java.util.Map;
              import java.util.Map.Entry;
              
              import javax.ejb.Stateless;
              import javax.ejb.TransactionAttribute;
              import javax.ejb.TransactionAttributeType;
              import javax.persistence.EntityManager;
              import javax.persistence.PersistenceContext;
              import javax.persistence.Query;
              
              import org.jboss.seam.annotations.In;
              import org.jboss.seam.annotations.Logger;
              import org.jboss.seam.annotations.Name;
              import org.jboss.seam.log.Log;
              
              import ch.sedd.osiris.datareaders.memograph.MemographChannel;
              import ch.sedd.osiris.datareaders.memograph.MemographConfigurationBlock;
              import ch.sedd.osiris.datareaders.memograph.MemographConfigurationParser;
              import ch.sedd.osiris.datareaders.memograph.MemographDriver;
              import ch.sedd.osiris.entity.DataSource;
              import ch.sedd.osiris.entity.DataSourceChannel;
              import ch.sedd.osiris.entity.MeasuringParameter;
              import ch.sedd.osiris.entity.MeasuringParameterRange;
              import ch.sedd.osiris.entity.MeasuringValue;
              import ch.sedd.osiris.entity.MeasuringValueCalculation;
              import ch.sedd.osiris.entity.MeasuringValueStep;
              import ch.sedd.osiris.entity.MemographConfiguration;
              import ch.sedd.osiris.session.seam.CurrentValuesManager;
              import ch.sedd.osiris.util.MeasuringParameterLiveInfo;
              import ch.sedd.osiris.util.SignalColor;
              
              @Stateless
              @Name("currentValuesUpdater")
              public class CurrentValuesUpdaterBean implements CurrentValuesUpdater {
                      @In(value = "#{currentValuesManager}")
                      private CurrentValuesManager currentValuesManager;
              
                      @PersistenceContext(unitName = "OsirisSeam")
                      private EntityManager entityManager;
              
                      @Logger
                      private Log logger;
              
                      private MemographConfigurationParser mcParser = new MemographConfigurationParser();
              
                      private MemographConfigurationBlock getCurrentMemographConfiguration(
                                      DataSource dataSource) throws Exception {
                              Query q = entityManager
                                              .createQuery("select max(mc.code) as code from MemographConfiguration mc where mc.dataSource.id=:dataSourceId");
                              q.setParameter("dataSourceId", dataSource.getId());
                              Integer code = (Integer) q.getSingleResult();
                              q = entityManager
                                              .createQuery("select mc from MemographConfiguration mc where mc.code=:code and mc.dataSource.id=:dataSourceId");
                              q.setParameter("code", code);
                              q.setParameter("dataSourceId", dataSource.getId());
                              MemographConfiguration mc = (MemographConfiguration) q
                                              .getSingleResult();
                              MemographConfigurationBlock mcb = mcParser.readConfiguration(mc
                                              .getFile().getContent());
                              mcb.setId(mc.getCode());
                              return mcb;
                      }
              
                      @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
                      public void readCurrentValues(Date date, DataSource dataSource) {
                              try {
                                      logger.info("[{0}] updating current values...", dataSource
                                                      .getName());
                                      MemographDriver memographDriver = SquirrelDataSourceProperties
                                                      .getProperties(dataSource).getMemographDriver();
              
                                      Query q = entityManager
                                                      .createQuery("select mvc from MeasuringValueCalculation mvc where mvc.key=:key");
                                      q.setParameter("key", "average");
                                      MeasuringValueCalculation average = (MeasuringValueCalculation) q
                                                      .getSingleResult();
              
                                      q = entityManager
                                                      .createQuery("select mvc from MeasuringValueCalculation mvc where mvc.key=:key");
                                      q.setParameter("key", "sum");
                                      MeasuringValueCalculation sum = (MeasuringValueCalculation) q
                                                      .getSingleResult();
              
                                      q = entityManager
                                                      .createQuery("select mvs from MeasuringValueStep mvs where mvs.key=:key");
                                      q.setParameter("key", "minute");
                                      MeasuringValueStep minute = (MeasuringValueStep) q
                                                      .getSingleResult();
              
                                      q = entityManager
                                                      .createQuery("select mvs from MeasuringValueStep mvs where mvs.key=:key");
                                      q.setParameter("key", "day");
                                      MeasuringValueStep day = (MeasuringValueStep) q.getSingleResult();
              
                                      if (!memographDriver.touchConnection()) {
                                              logger.error("[{0}] Memograph offline!", dataSource.getName());
                                              return;
                                      }
              
                                      MemographConfigurationBlock mc = getCurrentMemographConfiguration(dataSource);
              
                                      Map<MemographChannel, DataSourceChannel> parameterChannels = new HashMap<MemographChannel, DataSourceChannel>();
              
                                      for (MemographChannel channel : mc.getChannelsOrdered()) {
                                              q = entityManager
                                                              .createQuery("select dsc from DataSource ds inner join ds.dataSourceChannels dsc where ds.id=:dataSourceId and dsc.channel=:channel");
                                              q.setParameter("dataSourceId", dataSource.getId());
                                              q.setParameter("channel", channel.getName());
                                              List<DataSourceChannel> dataSourceChannels = q.getResultList();
                                              if (dataSourceChannels.size() == 1) {
                                                      parameterChannels.put(channel, dataSourceChannels.get(0));
                                              }
                                      }
              
                                      Map<MemographChannel, Double> values = memographDriver
                                                      .currentValues(parameterChannels.keySet());
              
                                      for (Entry<MemographChannel, DataSourceChannel> parameterChannel : parameterChannels
                                                      .entrySet()) {
                                              MeasuringParameter mp = parameterChannel.getValue()
                                                              .getMeasuringParameter();
                                              MeasuringParameterLiveInfo mvli = new MeasuringParameterLiveInfo();
              
                                              mvli.setMeasuringParameter(mp);
              
                                              Calendar calc = Calendar.getInstance();
                                              calc.setTime(date);
                                              calc.add(Calendar.DATE, -1);
                                              Date oneDayAgo = calc.getTime();
              
                                              q = entityManager
                                                              .createQuery("select mv from MeasuringValue mv where "
                                                                              + "mv.measuringParameter.id=:measuringParameterId and "
                                                                              + "mv.date between :start and :end and "
                                                                              + "mv.measuringValueCalculation.id=:measuringValueCalculationId and "
                                                                              + "mv.measuringValueStep.id=:measuringValueStepId");
              
                                              q.setParameter("start", oneDayAgo);
                                              q.setParameter("end", date);
                                              q.setParameter("measuringValueStepId", minute.getId());
                                              q.setParameter("measuringValueCalculationId", average.getId());
                                              q.setParameter("measuringParameterId", mp.getId());
              
                                              List<MeasuringValue> measuringValues = q.getResultList();
              
                                              mvli.setMeasuringValues(measuringValues);
                                              // logger.info("[{0}] [{1}] mvs setted", dataSource.getName(),
                                              // mp
                                              // .getName());
              
                                              q = entityManager
                                                              .createQuery("select max(mv.date) from MeasuringValue mv where "
                                                                              + "mv.measuringParameter.id=:measuringParameterId and "
                                                                              + "mv.measuringValueCalculation.id=:measuringValueCalculationId "
                                                                              + "and mv.measuringValueStep.id=:measuringValueStepId");
                                              q.setParameter("measuringValueStepId", day.getId());
                                              q.setParameter("measuringValueCalculationId", average.getId());
                                              q.setParameter("measuringParameterId", mp.getId());
                                              // logger.info("[{0}] [{1}] calculating max date...", dataSource
                                              // .getName(), mp.getName());
              
                                              Date lastDate = (Date) q.getSingleResult();
                                              // logger.info("[{0}] [{1}] max date calculated!", dataSource
                                              // .getName(), mp.getName());
              
                                              try {
                                                      q = entityManager
                                                                      .createQuery("select mv.value from MeasuringValue mv where "
                                                                                      + "mv.measuringParameter.id=:measuringParameterId and "
                                                                                      + "mv.measuringValueCalculation.id=:measuringValueCalculationId "
                                                                                      + "and mv.measuringValueStep.id=:measuringValueStepId "
                                                                                      + "and date=:date");
                                                      q.setParameter("measuringValueStepId", day.getId());
                                                      q.setParameter("measuringValueCalculationId", average
                                                                      .getId());
                                                      q.setParameter("measuringParameterId", mp.getId());
                                                      q.setParameter("date", lastDate);
                                                      // logger.info("[{0}] [{1}] calculating day avg...",
                                                      // dataSource.getName(), mp.getName());
                                                      Double dayAvg = (Double) q.getSingleResult();
              
                                                      mvli.setAvg(dayAvg);
                                                      // logger.info("[{0}] [{1}] day avg calculated!", dataSource
                                                      // .getName(), mp.getName());
                                              } catch (Exception e) {
                                                      // logger.error("[{0}] Error calculating last Day Average!",
                                                      // mp.getName());
                                              }
              
                                              try {
                                                      q = entityManager
                                                                      .createQuery("select mv.value from MeasuringValue mv where "
                                                                                      + "mv.measuringParameter.id=:measuringParameterId and "
                                                                                      + "mv.measuringValueCalculation.id=:measuringValueCalculationId and "
                                                                                      + "mv.measuringValueStep.id=:measuringValueStepId and "
                                                                                      + "date=:date");
                                                      q.setParameter("measuringValueStepId", day.getId());
                                                      q.setParameter("measuringValueCalculationId", sum.getId());
                                                      q.setParameter("measuringParameterId", mp.getId());
                                                      q.setParameter("date", lastDate);
                                                      // logger.info("[{0}] [{1}] calculating sum...", dataSource
                                                      // .getName(), mp.getName());
                                                      Double daySum = (Double) q.getSingleResult();
              
                                                      mvli.setSum(daySum);
                                                      // logger.info("[{0}] [{1}] sum calculated!", dataSource
                                                      // .getName(), mp.getName());
                                              } catch (Exception e) {
                                                      // logger.error("[{0}] Error calculating last Day Sum!", mp
                                                      // .getName());
                                              }
              
                                              calc.setTime(date);
                                              calc.add(Calendar.HOUR_OF_DAY, -2);
                                              Date oneHourAgo = calc.getTime();
              
                                              try {
                                                      q = entityManager
                                                                      .createQuery("select avg(mv.value) from MeasuringValue mv where "
                                                                                      + "mv.measuringParameter.id=:measuringParameterId and "
                                                                                      + "mv.date between :start and :end and "
                                                                                      + "mv.measuringValueCalculation.id=:measuringValueCalculationId and "
                                                                                      + "mv.measuringValueStep.id=:measuringValueStepId");
              
                                                      q.setParameter("start", oneHourAgo);
                                                      q.setParameter("end", date);
                                                      q.setParameter("measuringValueStepId", minute.getId());
                                                      q.setParameter("measuringValueCalculationId", average
                                                                      .getId());
                                                      q.setParameter("measuringParameterId", mp.getId());
                                                      // logger.info("[{0}] [{1}] calculating 2 hours avg...",
                                                      // dataSource.getName(), mp.getName());
                                                      Double twoHoursAverage = (Double) q.getSingleResult();
              
                                                      mvli.setTwoHoursAvg(twoHoursAverage);
                                                      // logger.info("[{0}] [{1}] 2 hours avg calculated",
                                                      // dataSource.getName(), mp.getName());
                                              } catch (Exception e) {
                                                      // logger.error("[{0}] Error calculating 2 hours Average!",
                                                      // mp
                                                      // .getName());
                                              }
              
                                              try {
                                                      q = entityManager
                                                                      .createQuery("select stddev(mv.value) from MeasuringValue mv where "
                                                                                      + "mv.measuringParameter.id=:measuringParameterId and "
                                                                                      + "mv.date between :start and :end and "
                                                                                      + "mv.measuringValueCalculation.id=:measuringValueCalculationId and "
                                                                                      + "mv.measuringValueStep.id=:measuringValueStepId");
              
                                                      q.setParameter("start", oneDayAgo);
                                                      q.setParameter("end", date);
                                                      q.setParameter("measuringValueStepId", minute.getId());
                                                      q.setParameter("measuringValueCalculationId", average
                                                                      .getId());
                                                      q.setParameter("measuringParameterId", mp.getId());
                                                      // logger.info("[{0}] [{1}] calculating stddev...",
                                                      // dataSource
                                                      // .getName(), mp.getName());
                                                      Double stdDev = (Double) q.getSingleResult();
              
                                                      mvli.setStdDev(stdDev);
                                                      // logger.info("[{0}] [{1}] stddev calculated", dataSource
                                                      // .getName(), mp.getName());
                                              } catch (Exception e) {
                                                      // logger.error("[{0}] Error calculating Standard Deviation!",
                                                      // mp.getName());
                                              }
              
                                              double value = values.get(parameterChannel.getKey());
              
                                              for (MeasuringParameterRange range : mp
                                                              .getMeasuringParameterRanges()) {
                                                      if ((!range.isHasMin() || value > range.getMin())
                                                                      && (!range.isHasMax() || value < range.getMax())) {
                                                              mvli.setSignalColor(SignalColor.valueOf(range
                                                                              .getMeasuringParameterRangeType().getKey()
                                                                              .toUpperCase()));
                                                      }
                                              }
              
                                              mvli.setValue(value);
                                              mvli.setDate(date);
                                              try {
                                                      currentValuesManager.setValue(parameterChannel.getValue()
                                                                      .getMeasuringParameter(), mvli);
                                              } catch (Exception e) {
                                                      logger
                                                                      .error(
                                                                                      "[{0}] [{1}] live values bean couldn't be updated!",
                                                                                      dataSource.getName(), mp.getName());
                                              }
              
                                              // logger.info("[{0}] [{1}] processed", dataSource.getName(), mp
                                              // .getName());
                                      }
                                      logger.info("[{0}] done!", dataSource.getName());
                              } catch (Exception e) {
                                      Query q = entityManager
                                                      .createQuery("select dsc.measuringParameter from DataSource ds inner join ds.dataSourceChannels dsc where ds.id=:dataSourceId");
                                      q.setParameter("dataSourceId", dataSource.getId());
                                      List<MeasuringParameter> measuringParameters = q.getResultList();
                                      e.printStackTrace();
              
                                      for (MeasuringParameter measuringParameter : measuringParameters) {
                                              try {
                                                      currentValuesManager.setValue(measuringParameter, null);
                                              } catch (Exception e2) {
                                                      logger
                                                                      .error(
                                                                                      "[{0}] [{1}] live values bean couldn't be updated!",
                                                                                      dataSource.getName(), measuringParameter
                                                                                                      .getName());
                                              }
                                      }
                              }
                              return;
                      }
              }