Concurrency issues

Hi everyone,
I have posted various threads on this issue, but to no avail.
I am going to simple it dowd a lot.
i have a view object that is created with the query, so that all values are calculated, except for two which are transient.
If only one person navigates, all is ok and works perfectly when navigating a week forward or backwards, but when two users work at the same time over the same view, at least one receives the following error:
<UIXInclude><tearDownVisitingContext> Fallo en la eliminación del contexto del componente include debido a una excepción no tratada.
java.util.NoSuchElementException
     at java.util.ArrayDeque.removeFirst(ArrayDeque.java:251)
     at java.util.ArrayDeque.pop(ArrayDeque.java:480)
     at oracle.adfinternal.view.faces.context.ApplicationContextManagerImpl.popContextChange(ApplicationContextManagerImpl.java:66)
     at oracle.adf.view.rich.component.fragment.UIXInclude.tearDownVisitingContext(UIXInclude.java:206)
     at oracle.adf.view.rich.component.fragment.UIXPageTemplate.tearDownVisitingContext(UIXPageTemplate.java:248)
     at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.encodeEnd(ContextSwitchingComponent.java:157)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
     at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2567)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
     at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:220)
     at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1369)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
     at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:765)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
     at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2567)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
     at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1071)
     at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1369)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
     at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:765)
     at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1515)
     at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:785)
     at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
     at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:271)
     at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:202)
     at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
     at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
     at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:710)
     at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:273)
     at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:205)
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
     at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
     at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
     at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
     at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
     at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
     at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
     at java.security.AccessController.doPrivileged(Native Method)
     at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
     at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
     at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
     at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
     at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
     at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
     at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
     at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
     at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Thanks beforehand

As suggested, I am closing thread to continue with only one, so as to avoid open threads and complicating everyones life, by having to join details of different threads so as to compose a complete idea. Sorry for the inconvenience. The final thread is: Where can i set setForwardOnly(false)
David L

Similar Messages

  • Known concurrency issues around refreshObject

    Hi
    We are using Toplink 10.1.3 within 10gAS 10.1.3.
    We use ORA_ROWSCN as the version number field within our Optimistic Locking Policy, which Oracle does not populate until the transaction commits.
    Therefore we added a PostCommitEventListener.postCommitUnitOfWork method to refresh the objects prior to returning after an update. Otherwise we found that the objects in the cache, and those returned to our client tier, did not have the updated SCN.
    This works fine... BUT we have just found a concurrency issue that we believe may be related to this.
    If two Units Of Work are simultaneously attempting to update the same object instance this allows the possibility of the second Unit Of Work committing it's change whilst the first is still refreshing, after which something goes wrong, and subsequent attempts to access the object appear to hang, which is ultimately reported by the Oracle HTTP Server as a timeout.
    We are trying to recreate this within an automated test which may further enlighten us.
    Two questions:
    1. Are there any known concurrency issues with mutiple Units of Work calling refreshObject on the same object?
    2. Can anyone suggest a less expensive method of ensuring that the version number within our domain objects, gets updated with the ORA_ROWSCN after the commit?
    As always, any help appreciated.
    Will post further as analysis contimues.
    Marc
    Edited by: user6568216 on 25-Sep-2008 09:56

    Thanks for the reply.
    Are you saying that the cause of the issue is the use of the postCommitEventListener to refresh the objects?
    Currently, the use of a version number field rather than ORA_ROWSCN is not an option, mainly because we have many update procedures that don't go via the Toplink Cache, and would therefore need amending to increment the version number fields or use triggers (current not seen as ideal due to batch issues). As we have more than 1000 tables, this is not feasible within the current release lifecycle of our product.
    I attahc the complete thread dump, but this has been generated as a thread dump from the OC4J instance, as the application just hangs and eventually generates a time out.
    Is there anything we can do to mitigate against this issue?
    Many Thanks
    Marc
    Thread Dump:
    Full thread dump Java HotSpot(TM) Client VM (1.5.0_15-b04 mixed mode):
    "ApplicationServerThread-1" prio=6 tid=0x532e27e0 nid=0xf10 waiting for monitor entry [0x5517d000..0x5517fd68]
         at java.util.Vector.size(Vector.java:270)
         - waiting to lock <0x08761fb0> (a java.util.Vector)
         at oracle.toplink.internal.queryframework.CollectionContainerPolicy.sizeFor(CollectionContainerPolicy.java:164)
         at oracle.toplink.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:899)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:913)
         - locked <0x08761f50> (a java.util.Vector)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:913)
         - locked <0x087626f8> (a java.util.Vector)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:913)
         - locked <0x08762e70> (a java.util.Vector)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:913)
         - locked <0x0863b600> (a java.util.Vector)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.ObjectReferenceMapping.mergeIntoObject(ObjectReferenceMapping.java:392)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.ObjectReferenceMapping.mergeIntoObject(ObjectReferenceMapping.java:392)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.ObjectReferenceMapping.mergeIntoObject(ObjectReferenceMapping.java:392)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.publicinterface.UnitOfWork.revertObject(UnitOfWork.java:4034)
         at oracle.toplink.publicinterface.UnitOfWork.revertObject(UnitOfWork.java:4010)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.registerIndividualResult(ObjectLevelReadQuery.java:1727)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuilder.java:449)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork(ObjectBuilder.java:413)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:376)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:451)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.registerIndividualResult(ObjectLevelReadQuery.java:1701)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.conformIndividualResult(ObjectLevelReadQuery.java:615)
         at oracle.toplink.queryframework.ReadObjectQuery.conformResult(ReadObjectQuery.java:321)
         at oracle.toplink.queryframework.ReadObjectQuery.registerResultInUnitOfWork(ReadObjectQuery.java:586)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:403)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:800)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:603)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:768)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:370)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:825)
         at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2532)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:981)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:938)
         at oracle.toplink.publicinterface.Session.refreshAndLockObject(Session.java:2564)
         at oracle.toplink.publicinterface.Session.refreshObject(Session.java:2575)
         at aquila.administrator.server.PostCommitEventListener.postCommitUnitOfWork(PostCommitEventListener.java:67)
         at oracle.toplink.sessions.SessionEventManager.postCommitUnitOfWork(SessionEventManager.java:277)
         at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:867)
         at org.springframework.orm.toplink.TopLinkTransactionManager.doCommit(TopLinkTransactionManager.java:385)
         at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
         at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
         at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
         at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy66.createNewTemplateVersion(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:70)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy211.createNewTemplateVersion(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
         at org.springframework.remoting.support.DefaultRemoteInvocationExecutor.invoke(DefaultRemoteInvocationExecutor.java:38)
         at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
         at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
         at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:74)
         at aquila.administrator.platform.server.httpinvoker.AquilaHttpInvokerServiceExporter.handleRequest(AquilaHttpInvokerServiceExporter.java:77)
         at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
         at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
         at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
         at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
         at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:138)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
         at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:629)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    "ApplicationServerThread-0" prio=6 tid=0x52fe0d88 nid=0xd2c waiting for monitor entry [0x53b8d000..0x53b8f9e8]
         at java.util.Vector.size(Vector.java:270)
         - waiting to lock <0x0863b600> (a java.util.Vector)
         at oracle.toplink.internal.queryframework.CollectionContainerPolicy.sizeFor(CollectionContainerPolicy.java:164)
         at oracle.toplink.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:899)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.ObjectReferenceMapping.mergeIntoObject(ObjectReferenceMapping.java:392)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.ObjectReferenceMapping.mergeIntoObject(ObjectReferenceMapping.java:392)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.ObjectReferenceMapping.mergeIntoObject(ObjectReferenceMapping.java:392)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.mappings.CollectionMapping.mergeIntoObject(CollectionMapping.java:913)
         - locked <0x08761fb0> (a java.util.Vector)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(ObjectBuilder.java:2095)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfOriginalIntoWorkingCopy(MergeManager.java:534)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(MergeManager.java:228)
         at oracle.toplink.publicinterface.UnitOfWork.revertObject(UnitOfWork.java:4034)
         at oracle.toplink.publicinterface.UnitOfWork.revertObject(UnitOfWork.java:4010)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.registerIndividualResult(ObjectLevelReadQuery.java:1727)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuilder.java:449)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork(ObjectBuilder.java:413)
         at oracle.toplink.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:376)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:451)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.registerIndividualResult(ObjectLevelReadQuery.java:1701)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.conformIndividualResult(ObjectLevelReadQuery.java:615)
         at oracle.toplink.queryframework.ReadObjectQuery.conformResult(ReadObjectQuery.java:321)
         at oracle.toplink.queryframework.ReadObjectQuery.registerResultInUnitOfWork(ReadObjectQuery.java:586)
         at oracle.toplink.queryframework.ReadObjectQuery.executeObjectLevelReadQuery(ReadObjectQuery.java:403)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:800)
         at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:603)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:768)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(ReadObjectQuery.java:370)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:825)
         at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2532)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:981)
         at oracle.toplink.publicinterface.Session.executeQuery(Session.java:938)
         at oracle.toplink.publicinterface.Session.refreshAndLockObject(Session.java:2564)
         at oracle.toplink.publicinterface.Session.refreshObject(Session.java:2575)
         at aquila.administrator.server.PostCommitEventListener.postCommitUnitOfWork(PostCommitEventListener.java:67)
         at oracle.toplink.sessions.SessionEventManager.postCommitUnitOfWork(SessionEventManager.java:277)
         at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:867)
         at org.springframework.orm.toplink.TopLinkTransactionManager.doCommit(TopLinkTransactionManager.java:385)
         at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:709)
         at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:678)
         at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:321)
         at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:116)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy66.createNewTemplateVersion(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:70)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy211.createNewTemplateVersion(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.springframework.remoting.support.RemoteInvocation.invoke(RemoteInvocation.java:205)
         at org.springframework.remoting.support.DefaultRemoteInvocationExecutor.invoke(DefaultRemoteInvocationExecutor.java:38)
         at org.springframework.remoting.support.RemoteInvocationBasedExporter.invoke(RemoteInvocationBasedExporter.java:78)
         at org.springframework.remoting.support.RemoteInvocationBasedExporter.invokeAndCreateResult(RemoteInvocationBasedExporter.java:114)
         at org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter.handleRequest(HttpInvokerServiceExporter.java:74)
         at aquila.administrator.platform.server.httpinvoker.AquilaHttpInvokerServiceExporter.handleRequest(AquilaHttpInvokerServiceExporter.java:77)
         at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
         at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
         at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
         at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
         at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:138)
         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
         at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
         at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:629)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    "DestroyJavaVM" prio=6 tid=0x00035590 nid=0xb34 waiting on condition [0x00000000..0x0007fae8]
    "TaskManager" prio=6 tid=0x53700d48 nid=0xfb4 waiting on condition [0x5513f000..0x5513fa68]
         at java.lang.Thread.sleep(Native Method)
         at com.evermind.util.TaskManager.run(TaskManager.java:245)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    "Store userCache Spool Thread" daemon prio=2 tid=0x537ab3c0 nid=0x50c waiting on condition [0x550ff000..0x550ffae8]
         at java.lang.Thread.sleep(Native Method)
         at net.sf.ehcache.store.DiskStore.spoolAndExpiryThreadMain(DiskStore.java:573)
         at net.sf.ehcache.store.DiskStore.access$800(DiskStore.java:65)
         at net.sf.ehcache.store.DiskStore$SpoolAndExpiryThread.run(DiskStore.java:1057)
    "ApplicationServerThread-7" prio=6 tid=0x52fe1520 nid=0x854 runnable [0x540bf000..0x540bfb68]
         at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
         at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(WindowsSelectorImpl.java:275)
         at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(WindowsSelectorImpl.java:257)
         at sun.nio.ch.WindowsSelectorImpl.doSelect(WindowsSelectorImpl.java:138)
         at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
         - locked <0x06bf5b98> (a sun.nio.ch.Util$1)
         - locked <0x06bf5b88> (a java.util.Collections$UnmodifiableSet)
         - locked <0x06bf48d8> (a sun.nio.ch.WindowsSelectorImpl)
         at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
         at oracle.oc4j.network.NIOServerSocketDriver.select(NIOServerSocketDriver.java:195)
         at oracle.oc4j.network.NIOServerSocketDriver.run(NIOServerSocketDriver.java:150)
         at com.evermind.server.http.HttpConnectionListener.run(HttpConnectionListener.java:271)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    "ApplicationServerThread-6" prio=6 tid=0x5301d7f0 nid=0xda0 runnable [0x5407f000..0x5407fbe8]
         at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
         at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145)
         - locked <0x06bf8890> (a java.lang.Object)
         at sun.nio.ch.ServerSocketAdaptor.accept(ServerSocketAdaptor.java:84)
         - locked <0x06bf8870> (a java.lang.Object)
         at oracle.oc4j.network.ServerSocketAcceptHandler$BImpl.run(ServerSocketAcceptHandler.java:666)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    "ApplicationServerThread-5" prio=6 tid=0x52fc31d8 nid=0xda4 waiting on condition [0x5403f000..0x5403fc68]
         at java.lang.Thread.sleep(Native Method)
         at oracle.as.j2ee.transaction.tpc.recovery.RecoveryManager.run(RecoveryManager.java:358)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    "Timer-3" prio=6 tid=0x52fc5ef8 nid=0x860 in Object.wait() [0x53fff000..0x53fffce8]
         at java.lang.Object.wait(Native Method)
         - waiting on <0x06b59c08> (a java.util.TaskQueue)
         at java.util.TimerThread.mainLoop(Timer.java:509)
         - locked <0x06b59c08> (a java.util.TaskQueue)
         at java.util.TimerThread.run(Timer.java:462)
    "Timer-2" prio=6 tid=0x52fc9a08 nid=0xefc in Object.wait() [0x53fbf000..0x53fbfd68]
         at java.lang.Object.wait(Native Method)
         - waiting on <0x06b16268> (a java.util.TaskQueue)
         at java.util.TimerThread.mainLoop(Timer.java:509)
         - locked <0x06b16268> (a java.util.TaskQueue)
         at java.util.TimerThread.run(Timer.java:462)
    "WorkExecutorWorkerThread-1" daemon prio=6 tid=0x53166c38 nid=0xe3c in Object.wait() [0x53f7f000..0x53f7fa68]
         at java.lang.Object.wait(Native Method)
         - waiting on <0x06c76838> (a java.lang.Object)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.doReceive(WorkConsumer.java:995)
         - locked <0x06c76838> (a java.lang.Object)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:215)
         - locked <0x06c766f0> (a oracle.j2ee.ra.jms.generic.WorkConsumer)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:819)
         at java.lang.Thread.run(Thread.java:595)
    Continued on next post

  • Concurrency Issue : J2ee Application

    Hi,
    Ours is a J2ee Web Application, Where in we have maintenance screens (for doing CRUD(Create-Read-Update-Delete) operations) for each entity. Each entity has a business key which identifies that entity uniquely. So, from the Create screen, if I try to create a record with the same business key, it should say Object already exists. So, before we create a record, first we search for it using the business key. If we get any results for the search criteria, we will say, Object already exists else we will create the record.
    Now the problem is, When we try to create two records with the same business key from two different screens. We open two browsers, and create a record with the same business key from two screens. Both the records are getting created. As per our analysis, What happens is, the search operation in both the screens is being done simultaneously, so, both the search operations does not return any result because of which both the records are getting created. If the record is created between the both search operations, then one thread sees the created record and says object already exists.
    It would be of great help if you can give us the pointers in solving this concurrency issue. We are using EJB's in our project. Does changing the Isolation Level of the create and search methods help us?
    Thanks & Regards,
    Yong-Loh

    search for the record right before you try to insert a new one; if another user inserted one while the user was busy typing, you'll catch it then. If you want to prevent 100% of the time that you don't get duplicate entries because of the rare occurrence that two people insert the exact same data at exactly the same time, figure out which fields uniquely identify a record (besides the ID) and put a unique constraint on them.
    Note: that whole story was far from a clear description or question; you may want to narrow it down to a more compact description if I my answer doesn't help you.

  • Multiple update request - Concurrency issue

    Hi
    One of our customer is facing a concurrency issue when multiple service instance are running. When a request comes for update, say A, tuxedo assigns the task to a free server and in meantime a similar update request comes, say B, tuxedo assigns the request to another free server. Request A caches data from DB and continue further processing meantime request B also retrieves data from DB and loads the values into cache. After sometime request A completes its job and commits the transaction and when request B tries to update the value it reports an error. This is our finding so far.
    I just want to know is there any way we can make the request in sync or in other words request B see the updated value.
    Regards,
    Vishal

    Hi Vishal,
    Tuxedo makes heavy use of semaphores (including it's own user mode version based upon the the test-and-set instruction), and shared memory. We don't expose any APIs though that deal with those area, i.e., we just use them internally. Your servers are certainly able to use standard OS level semaphores or shared memory as Tuxedo would be completely unaware of this. If concurrent access though to a database is the major issue, I'd push that down to the database as it is in a much better place to determine what level of concurrency is safe based upon policy and not some programmers arbitrary decision about what should be serialized and what shouldn't.
    You mention shared memory and I'd be curious to understand your interest in shared memory. What would you want to accomplish with shared memory?
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • Pl-Sql Oracle Function Concurrency Issue

    Hi All,
    Issue - pl-sql Oracle Function performance issue, when muliple users are accessing the function
    Detail -
    Oracle 11g / Linux Server
    I have developed a pl-sql oracle function to retrieve information from 3 tables, output as a particluar type array.
    Single request is getting processed within 2.2 seconds, but when multiple request are sent concurrently <tested with 50>, time taken for each output is different.
    BreakUp of Response times:-
    8 messages took - 2.2 sec
    +8 messages took - 4.4 sec
    ++8 messages took - 6.6 sec....etc
    I'm looking for any DB tunning parameter, which will help to resolve this issue.
    My only aim is to expose developed function to multiple users, who all can access it concurrently, but response should limit within 2.2 seconds.
    Any thoughts + guidance is higly appreciated.
    Thanks
    Preetam Singh

    Supporting data insert statements:
    =======================================================================================================================
    REM INSERTING into EXPERTISE
    Insert into EXPERTISE (USH_USER_NAME,USH_SKILL_SET1,USH_SKILL_SET2,USH_SKILL_SET3,USH_SKILL_SET4,USH_SKILL_SET5,USH_SKILL_SET6,USH_SKILL_SET7,USH_SKILL_SET8,USH_SKILL_SET9,USH_SKILL_SET10,USH_SKILL_SET11,USH_SKILL_SET12,USH_SKILL_SET13,USH_SKILL_SET14,USH_SKILL_SET15,USH_SKILL_SET16,USH_SKILL_SET17,USH_SKILL_SET18,USH_SKILL_SET19,USH_SKILL_SET20) values ('A','ENGLISH','FRENCH','HINDI',null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null);
    Insert into EXPERTISE (USH_USER_NAME,USH_SKILL_SET1,USH_SKILL_SET2,USH_SKILL_SET3,USH_SKILL_SET4,USH_SKILL_SET5,USH_SKILL_SET6,USH_SKILL_SET7,USH_SKILL_SET8,USH_SKILL_SET9,USH_SKILL_SET10,USH_SKILL_SET11,USH_SKILL_SET12,USH_SKILL_SET13,USH_SKILL_SET14,USH_SKILL_SET15,USH_SKILL_SET16,USH_SKILL_SET17,USH_SKILL_SET18,USH_SKILL_SET19,USH_SKILL_SET20) values ('B',null,'GERMAN','CHINIESE','HINDI',null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null);
    Insert into EXPERTISE (USH_USER_NAME,USH_SKILL_SET1,USH_SKILL_SET2,USH_SKILL_SET3,USH_SKILL_SET4,USH_SKILL_SET5,USH_SKILL_SET6,USH_SKILL_SET7,USH_SKILL_SET8,USH_SKILL_SET9,USH_SKILL_SET10,USH_SKILL_SET11,USH_SKILL_SET12,USH_SKILL_SET13,USH_SKILL_SET14,USH_SKILL_SET15,USH_SKILL_SET16,USH_SKILL_SET17,USH_SKILL_SET18,USH_SKILL_SET19,USH_SKILL_SET20) values ('C','ENGLISH',null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null);
    =======================================================================================================================
    ==================================================================
    REM INSERTING into WORKING
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('A','MON','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('A','TUE','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('A','WED',null,null);
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('A','THU','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('A','FRI','09:00','12:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('B','MON','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('B','TUE','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('B','WED','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('B','THU','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('B','FRI','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('C','MON',null,null);
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('C','TUE','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('C','WED','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('C','THU','09:00','18:00');
    Insert into WORKING (NAME,WEEKDAY,DAYSTARTTIME,DAYENDTIME) values ('C','FRI','09:00','12:00');
    ==================================================================
    =====================================================================================================================
    REM INSERTING into SCHEDULE
    Insert into SCHEDULE (APPOINTMENTDATE,APPOINTMENTSTART,APPOINTMENTEND,STATUS,NAME) values (to_timestamp('11-FEB-12 10.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),to_timestamp('11-FEB-12 10.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),to_timestamp('11-FEB-12 11.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),'MEETING','A');
    Insert into SCHEDULE (APPOINTMENTDATE,APPOINTMENTSTART,APPOINTMENTEND,STATUS,NAME) values (to_timestamp('11-FEB-12 10.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),to_timestamp('11-FEB-12 10.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),to_timestamp('11-FEB-12 11.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),'TRAINING','B');
    Insert into SCHEDULE (APPOINTMENTDATE,APPOINTMENTSTART,APPOINTMENTEND,STATUS,NAME) values (to_timestamp('13-FEB-12 10.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),to_timestamp('11-FEB-12 10.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),to_timestamp('11-FEB-12 11.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),'MEETING','A');
    Insert into SCHEDULE (APPOINTMENTDATE,APPOINTMENTSTART,APPOINTMENTEND,STATUS,NAME) values (to_timestamp('11-FEB-12 10.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),to_timestamp('11-FEB-12 11.00.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),to_timestamp('11-FEB-12 11.30.00.000000000 AM','DD-MON-RR HH.MI.SS.FF AM'),'MEETING','B');
    =====================================================================================================================
    Edited by: 910614 on Feb 10, 2012 9:29 AM

  • JDBC Concurrency issue after SP07 upgrade

    we are seeing receiver JDBC channel maximum concurrency (5,000 concurrent messages) issue immedaitely after the upgrade of SP07 for PI 7.1. could anyone help me out with this issue?
    Thanks

    My first guess is that there must be some server related settings which got reset by the upgrade process. Check if any of the points mentioned in my reply in below thread were followed in your earlier patch.
    JDBC Receiver Adapter with many deadlocks
    Regards,
    Prateek Raj Srivastava

  • Prevent concurrency issues

    Are these good recommendations to developers to avoid concurrency?
    1) WITH (NOLOCK) or WITH (READUNCOMMITED) in select statements?
    2) BEGIN TRAN in updates / inserts / deletes statements
    Any suggestions is greatly appreciated.

    Will enabling Committed Snapshot Isolation in the database help in OLTP? I was reading
    http://blogs.technet.com/b/sql_server_isv/archive/2010/12/21/using-read-committed-snapshot-isolation-mini-lab.aspx
    Ami,
    Its difficult to say what can be best Isolation level for your environment as we dont know about workload and queries. Read committed snapshot has advantages and disadvantages as well you should read below link before implementing. I would suggest you to
    do a through testing before going with Snapshot isolation level.
    If you are not facing heavy blocking and application is going file I would like you to continue with default read committed isolation level. If you are in idea that Optimistic isolation level is always good then you are wrong please read following resource
    and various sections especially cost of row versioning based Isolation level
    http://technet.microsoft.com/en-us/library/ms188277%28v=sql.105%29.aspx
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it.
    My TechNet Wiki Articles

  • Select or Select....for update nowait (data write concurrency issue)

    Hello everyone,
    I am working on a jsp/servlet project now, and got questions about which is the better way to deal with concurrent writing issues.
    The whole senario is described as following:
    First each user is viewing his own list of several records, and each record has a hyperlink through which user can modify it. After user clicks that link, there will be a popup window pre-populated with the values of that record, then user can do the modifications. After he is done, he can either click "Save " to save the change or "Cancel" to cancel it.
    Method1---This is the method I am using right now.
    I did not do any special synchronization measures, so if user 1 and user2 click the link of same record, they will modify the record
    at the same time, then whose updates will take effect depends on who submits the request later. If user1 submitted first, then user 2, user1
    will not see his updates. I know with this method, we will have the problem of "Lost Updates", but this is the simplest and efficient way to handle this issue.
    Method2--This is the method I am hesitating.
    I am considering to use "Select....for update nowait " to lock a record when user1 has selected one record and intended to modify it. If user2 wanted to modify the same record, he is not allowed. ( by catching the sql exception.)But the issue I am concerned about is because the "select .. For update" action and "Update action" are not so consecutive as many transaction examples described. There could be a
    big interval between " select " and "update" actions. You could not predict user's behavior, maybe after he open the popup window, it took him a while to make up his decision, or even worse, he was interrupted by other things and went away for the whole morning?.Then the lock is just held until he releases it.
    And another issue is if he clicks "cancel" to cancel his work, if I use method1, I don't need to interact with server-side at all, but if user method2, I still need to interact with the server to release the lock.
    Can someone give me some advice ? What do you do to deal with similar situation? If I did not make clear of the question, please let me know.
    Thanks in advance !
    Rachel

    Hi Rachel,
    Congratulation, you have found a way to overcome your programming business logic.
    Have you ever consider that the solution of using CachedRowset concept yet to be included in j2se 1.5 tiger next year too prove workable under the scenario , whereby you can disconnect from the database after you have execute your query and reconnect again if you have to do transactional activity later, so that the loading overhead as well as the data pooling activity could be well balanced off.
    Although rowset is still not an official API now, but its potential to me is worth consideration.
    I have written a simple but crude cut JSP programme posted on this forum under the heading "Interesting CachedRowset JSP code to share " to demonstrate the concept of CachedRowset and hoping that the Java guru or the developer could provide feedback on how to imporve on the programming logic or methodology.
    Thanks!!

  • Another concurrency issue?

    Here's another failure that seems related to processing batches larger than one file at a time.  Has anyone else seen this?
    Failure Time----Tue Jan 25 11:01:09 EST 2011
    source location ---- Reason of failure is-----[com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] The transaction is not active!
    [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] The transaction is not active!
    java.lang.IllegalStateException: [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] [com.arjuna.ats.internal.jta.transaction.arjunacore.inactive] The transaction is not active!
    at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commit(TransactionImp le.java:223)
    at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:501)
    at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:411)
    at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
    at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
    at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:138)
    at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
    at org.jboss.ejb.Container.invoke(Container.java:960)
    at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430)
    at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103)
    at $Proxy158.doRequiresNew(Unknown Source)
    at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvi der.java:143)
    at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInt erceptor.java:72)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
    at com.adobe.idp.dsc.interceptor.impl.InvocationStrategyInterceptor.intercept(InvocationStra tegyInterceptor.java:55)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
    at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateIntercep tor.java:37)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
    at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterc eptor.java:188)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
    at com.adobe.idp.dsc.interceptor.impl.JMXInterceptor.intercept(JMXInterceptor.java:48)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
    at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:121)
    at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:129)
    at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.routeMessage(AbstractMessage Receiver.java:93)
    at com.adobe.idp.dsc.provider.impl.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:22 5)
    at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispat cher.java:66)
    at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
    at com.adobe.idp.jobmanager.execution.workadapter.AbstractExecutableJob.invokeRequest(Abstra ctExecutableJob.java:127)
    at com.adobe.idp.jobmanager.execution.workadapter.PersistentExecutableJob.execute(Persistent ExecutableJob.java:60)
    at com.adobe.idp.dsc.workmanager.adapter.UnManagedAsynchronousWorkAdapter.run(UnManagedAsync hronousWorkAdapter.java:39)
    at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
    at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
    at java.lang.Thread.run(Thread.java:619)

    Thank you for the pointer to the quickstart.  Do you have a good reference for handling exceptions from LiveCycle Workbench?
    Also in response to your other note, I have only Code 128 checked.
    Rahul K at adobe support has suggested we use the ConvertPDFService "toimage" operation to transform the PDF to TIFF prior to scanning for barcodes and this has helped in some instances, but led to other issues.  Apparently "toimage" doesn't like non-flattened documents so we will need to also use the OutputService "transformPDF" operation to flatten, but of course, some of the barcodes are tagged data which will be lost, so we need to have multiple versions of the document floating around.  Also, to use PDFGenerator we need to install Acrobat Pro Extended.  Still sorting through all of this.
    Please chime in if you have additional suggestions.  Sorry to be asking questions that are all over the map, but I'm trying to attack the problem from a number of angles in the hope of getting past this.
    Thanks again,
    Noam

  • Concurrency issue..

    I am not sure if this is the correct group for this question or not but if I am posting in wrong group please show me the correct group.
    We have grid 10g monitoring 40 targets. for the past few days, I am getting below notification:
    Metrics "Database Time Spent Waiting (%)" is at 42.16 for event class "Concurrency"
    The event class says that its an issue of concurrency and two or more sessions/stmts are trying to get lock on same resource at same time but I am not sure where to start debugging the issue from. Any guidance would be helpful.
    -Onkar

    Thanks everybody for the response. Thanks to Billy for pointing me to the right group. I will close this thread and re-post my question with more specific details in "general questions" group. At least I got a hint where to start looking from. Lets see how far, I can move on with this information. Thanks once again everybody.
    -Onkar

  • CONCURRENCY ISSUE in  Weblogic 8.1 SP4 ?????

    Hey guys,
    just yesterday i started getting the following exception stack trace in production for my portal application . the following is the exceptino stack trace:
    ####<May 19, 2006 12:33:47 PM IST> <Error> <netuix> <EPSSVR1> <managedServer1> <ExecuteThread: '314' for queue: 'weblogic.kernel.Default'> <bistdsm> <> <BEA-423137> <There was an error loading the requested URI /portlets/customer/PolicyStatusView/PolicyStatusViewController.jpf.>
    ####<May 19, 2006 12:33:47 PM IST> <Error> <netuix> <EPSSVR1> <managedServer1> <ExecuteThread: '314' for queue: 'weblogic.kernel.Default'> <bistdsm> <> <BEA-423223> <There was an error while running a lifecycle stage :: Lifecycle: UIControl.render :: for the control :: null ::.
    com.bea.netuix.nf.UIControlException: For portlet [Cust_policy_stat_view_portlet], could not retrieve a result for the given action [null] in the given PageFlow: [portlets/customer/PolicyStatusView/PolicyStatusViewController.jpf].
         at com.bea.netuix.servlets.controls.content.NetuiContent.preRender()V(Optimized Method)
         at com.bea.netuix.nf.ControlLifecycle$7.visit(Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;)Z(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursivePreRender(Lcom.bea.netuix.nf.VisitorType;Lcom.bea.netuix.nf.UIControl;Ljava.lang.Object;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;Lcom.bea.netuix.nf.concurrency.WorkerCount;ZZ)V(Optimized Method)
         at com.bea.netuix.nf.Lifecycle.runOutbound(Lcom.bea.netuix.nf.UIContext;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;)V(Optimized Method)
         at com.bea.netuix.nf.Lifecycle.run(Lcom.bea.netuix.nf.UIContext;Lcom.bea.netuix.nf.concurrency.ControlTreeWalkerPool;)V(Optimized Method)
         at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(Lcom.bea.netuix.nf.UIContext;Ljavax.servlet.http.HttpServletRequest;)V(Optimized Method)
         at com.bea.netuix.servlets.manager.UIServlet.processControlTree(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;Lcom.bea.netuix.nf.UIControl;)V(Optimized Method)
         at com.bea.netuix.servlets.manager.PortalServlet.doPost(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(Optimized Method)
         at com.bea.netuix.servlets.manager.PortalServlet.doGet(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(Optimized Method)
    FRom the stack trace, it seems like some thing to do with : Lcom.bea.netuix.nf.concurrency.WorkerCount;
    Any clues about this exception will really help thanks a lot guys
    Nikhil

    Has anyone come up with a solution to this problem. I am receiving the same errors:
    ####<Jun 9, 2006 9:32:37 AM EDT> <Error> <netuix> <clv1upw02> <DealerManaged2> <ExecuteThread: '14' for queue: 'weblogic.kernel.Default'> <bettyw@hchomecente
    r.com> <> <BEA-423137> <There was an error loading the requested URI /reports/ReportsController.jpf.>
    ####<Jun 9, 2006 9:32:37 AM EDT> <Error> <netuix> <clv1upw02> <DealerManaged2> <ExecuteThread: '14' for queue: 'weblogic.kernel.Default'> <bettyw@hchomecente
    r.com> <> <BEA-423223> <There was an error while running a lifecycle stage :: Lifecycle: UIControl.render :: for the control :: null ::.
    java.lang.Throwable: For portlet [portlet_reports_1], could not do page flow lookup for the given action [reports/requestReport] in the given PageFlow: [/re
    ports/ReportsController.jpf].
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:178)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:108)
    at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData_aroundBody0(NetuiContent.java:223)
    at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData_aroundBody1$advice(NetuiContent.java:460)
    at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java)
    at com.bea.netuix.nf.ControlLifecycle$3.visit(ControlLifecycle.java:171)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:298)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:308)
    at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:127)
    at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:106)
    at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:173)
    at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:137)
    at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:321)
    at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:184)
    at com.bea.netuix.servlets.manager.PortalServlet.doPost(PortalServlet.java:767)
    at com.bea.netuix.servlets.manager.UIServlet.service_aroundBody0(UIServlet.java:138)
    at com.bea.netuix.servlets.manager.UIServlet.service_aroundBody1$advice(UIServlet.java:165)
    at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.kichler.framework.perf.MonitoringFilter.doFilter(MonitoringFilter.java:148)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:293)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.kichler.portal.servlet.RoleTimeoutFilter.doFilter(RoleTimeoutFilter.java:77)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at com.kichler.framework.persistence.hibernate.HibernateFilter.doFilter(HibernateFilter.java:22)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6724)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)

  • AQ - MDB Concurrency issue

              Hi,
              I have written a java startup class to bind the AQ connection factory and AQ queue
              to the JNDI tree of a WebLogic server and have deployed an MDB on WebLogic to
              listen to the AQ.
              (I have used Eric Ma's code as an example.)
              The MDB is working fine and is continuously listening to the Oracle AQ hosted
              on a Solaris box.
              But, the problem is that no matter how many instances of the MDB are deployed
              in the pool, onMessage() method of just one MDB is called repeatedly i.e. only
              single instance of MDB consumes AQ messages no matter how many instance are in
              pool or how may threads are available in queue.
              The MDB is deployed on WebLogic server 7 sp 4 on a Win 2000 box and has 5 inctances
              in the pool. I am using OCI driver for the connection to the AQ. Oracle 9.2.0
              is on a Solaris box and the IP address and the machine name of the JMS client
              (i.e. windows machine) is included in the /etc/hosts of the Solaris box.
              Any help towards achieving concurrency in consumption of messages from Oracle
              AQ would be great.
              Regards,
              Diptanshu
              

              I don't think that would help. Coz that means that the message is consumed once
              by each of the consumers. That's not what I want. I wish to instance 2 of MDB
              to read remaining messages from AQ, when instance 1 is busy reading a message
              and processing it.
              One option is to use an MDB as a Façade and then just to post it to an internal
              queue (not AQ) to be picked up for other MDBs for further processing. But, then
              this creates a bottleneck in the form of a single listening point between the
              Façade & the AQ.
              Any better suggestions are welcome.
              Regards,
              Diptanshu
              "Eric Ma" <[email protected]> wrote:
              >
              >Does making AQ a multi-consumer queue help?
              >
              >Eric
              >
              >"Diptanshu Parui" <[email protected]> wrote:
              >>
              >>Hi,
              >>
              >>I have written a java startup class to bind the AQ connection factory
              >>and AQ queue
              >>to the JNDI tree of a WebLogic server and have deployed an MDB on WebLogic
              >>to
              >>listen to the AQ.
              >>(I have used Eric Ma's code as an example.)
              >>
              >>The MDB is working fine and is continuously listening to the Oracle
              >AQ
              >>hosted
              >>on a Solaris box.
              >>
              >>But, the problem is that no matter how many instances of the MDB are
              >>deployed
              >>in the pool, onMessage() method of just one MDB is called repeatedly
              >>i.e. only
              >>single instance of MDB consumes AQ messages no matter how many instance
              >>are in
              >>pool or how may threads are available in queue.
              >>
              >>The MDB is deployed on WebLogic server 7 sp 4 on a Win 2000 box and
              >has
              >>5 inctances
              >>in the pool. I am using OCI driver for the connection to the AQ. Oracle
              >>9.2.0
              >>is on a Solaris box and the IP address and the machine name of the JMS
              >>client
              >>(i.e. windows machine) is included in the /etc/hosts of the Solaris
              >box.
              >>
              >>Any help towards achieving concurrency in consumption of messages from
              >>Oracle
              >>AQ would be great.
              >>
              >>Regards,
              >>Diptanshu
              >
              

  • Entity Framework ConCurrent Issue

    Hi Everyone,
    I need to build an application that will have concurrent users access MS SQL records.  I'm using EF 4.3.1 and have an entity call "apps_SystemInfo and one of the properties is call "RowVersion" which of course is a "TimeStamp"
    and is set to "Fixed" Concurrent Mode. I'm trying to simulate a scenario for a ConCurrent exception but for some reason it is not working.  What I notice is that the second entity statment(ctx1) is being is being save but not the first(ctx).
    Therefore SMTPPort is being set to 6000 on the sql record.  I need to catch  the concurrent exception and alert the user.  Any help  would be greatly appreciated.
    private void UpdateSystemInfo()
    using (AllocationEntities ctx = new AllocationEntities())
    var d = (from c in ctx.apps_SystemInfo.Where(p => p.ID == 1)
    select c).FirstOrDefault();
    d.SMTPPort = 8000;
    using (AllocationEntities ctx1 = new AllocationEntities())
    var u = (from c in ctx.apps_SystemInfo.Where(p => p.ID == 1)
    select c).FirstOrDefault();
    u.SMTPPort = 6000;
    ctx1.SaveChanges();
    MessageBox.Show("Update inner update");
    try
    { //This should trigger a ConcurrentException
    ctx.SaveChanges();
    MessageBox.Show("System infomation has been updated successfully", "Result");
    catch (OptimisticConcurrencyException oCE)
    MessageBox.Show(oCE.Message + " The record you're trying to update has change since you view it, the system will update your form with the changes", "ConCurrent Error!");
    DisplaySystemInfo();
    catch (Exception ex)
    MessageBox.Show(ex.Message, "Exception Error");
    Thanks
    Anthony

    Good catch by Olaf - in your inner loop you still refer to ctx instead of ctx1.
    Also, I noticed a typo in the word 'information'.
    For every expert, there is an equal and opposite expert. - Becker's Law
    My blog
    My TechNet articles

  • Concurrency Issue with V2 -- Anyone seen this yet - What's ThreadGuard???

    Hi,
    We've been using V1 of C4E for some time without major issue. Recently we were forced to upgrade to V2. We're using C4E, Tomcat and jdk5.  The exception is occuring in our Production environment where we have multiple users making report requests. 
    </br></br>
    We run the Crystal engine in Tomcat and point the engine to .rpt templates to render the reports.  This worked well with V1, with a few POJO issues when trying to refresh updates.  V2 has "cured" the POJO issues, but now we seem to be having problems with how the crystal engine services, or fails to service report requests.  Do we need to control threading on our side??  This makes no sense; the engine should handle threading, but queue the requests, not drop them on the floor....
    </br></br>
    Here's the output from the applogs:
    <code>
    22 Jun 2009 10:06:37.780 [http-443-Processor15] ERROR com.surplus.lines.reports.adapters.CrystalAdapter (165) - CrystalAdapter.generateReport() encountered exception writing out report.
    com.crystaldecisions.reports.common.ConcurrentAccessException: active-thread: http-443-Processor25; calling-thread: http-443-Processor15
    active-thread call stack:
         ~sun.font.FileFont.getGlyphAdvance(Native Method)......
         ~com.crystaldecisions.reports.exporters.format.page.pdf.fontembedding.FontEmbeddingSession.a(Unknown Source)
         ~com.crystaldecisions.reports.exporters.format.page.pdf.pdflib.r.a(Unknown Source)
         ~com.crystaldecisions.reports.exporters.format.page.pdf.pdflib.PdfDocumentManager.if(Unknown Source)
         ~com.crystaldecisions.reports.exporters.format.page.pdf.dom.PdfAdvancedDocumentModeller.do(Unknown Source)
         ~com.crystaldecisions.reports.exporters.page.pdf.AdobePDFExporter.finalizeExportJob(Unknown Source)
         ~com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx.if(Unknown Source)
         ~com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx.a(Unknown Source)
         ~com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.a(Unknown Source)
         ~com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.int(Unknown Source)
         ~com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(Unknown Source)
         ~com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(Unknown Source)
         ~com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(Unknown Source)
         ~com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(Unknown Source)
         ~com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(Unknown Source)
         ~com.crystaldecisions.reports.common.ThreadGuard.syncExecute(Unknown Source)
         ~com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(Unknown Source)
         ~com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(Unknown Source)
         ~org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:162)
         ~org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
         ~org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
         ~org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
         ~$Proxy6.runReport(Unknown Source)
         ~org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:203)
         ~org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:162)
         ~org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
         ~org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
         ~org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
         ~$Proxy8.runReport(Unknown Source)
    ~com.surplus.lines.web.controllers.ViewReportController.handleRequestInternal(ViewReportController.java:104)
         ~org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
         ~org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
         ~org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:806)
         ~org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:736)
         ~org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
         ~org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)
         ~org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
         ~org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         ~org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
         ~org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
         ~java.lang.Thread.run(Thread.java:595)
         at com.crystaldecisions.reports.common.ThreadGuard.int(Unknown Source)
         at com.crystaldecisions.reports.common.ThreadGuard.if(Unknown Source)
         at com.surplus.lines.reports.adapters.CrystalAdapter.generateReport(CrystalAdapter.java:143)
         at com.surplus.lines.reports.adapters.ReportRouterImpl.runAdapter(ReportRouterImpl.java:95)
         at com.surplus.lines.reports.PolicyDetailsRpt.generateReportDocuments(PolicyDetailsRpt.java:440)
         at com.surplus.lines.reports.PolicyDetailsRpt.runReport(PolicyDetailsRpt.java:406)
         at com.surplus.lines.service.ReportingImpl.runReport(ReportingImpl.java:66)
         at sun.reflect.GeneratedMethodAccessor441.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:203)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:162)
         at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
         at $Proxy6.runReport(Unknown Source)
         at com.surplus.lines.service.SurplusLinesImpl.runReport(SurplusLinesImpl.java:3074)
         at sun.reflect.GeneratedMethodAccessor440.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:203)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:162)
         at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
         at $Proxy8.runReport(Unknown Source)
         at com.surplus.lines.web.helpers.ReportHelper.runReport(ReportHelper.java:227)
         at com.surplus.lines.web.helpers.ReportHelper.runPolicyDetailsReport(ReportHelper.java:358)
         at com.surplus.lines.web.controllers.ViewReportController.handleRequestInternal(ViewReportController.java:104)
         at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
         at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
         at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:806)
         at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:736)
         at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
         at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
         at java.lang.Thread.run(Thread.java:595)
    22 Jun 2009 10:06:37.780 [http-443-Processor15] ERROR com.surplus.lines.reports.adapters.ReportRouterImpl (103) - Problem trying to write to File system.
    </code>
    Edited by: peter adelmann on Jun 22, 2009 6:09 PM

    Ted,
    Here's another silly question.  Based on your engineering Dept. we received a listing of jar files that represent the V2 runtime engine; I think.  In looking at the listing of jar files, certain external jars are no longer included; for example: xml-apis.jar, xercesImpl.jar, rpoifs.jar, serialization.jar. 
    Are these jars no longer needed by the Crystal V2 runtime engine?  If they are, has someone published other's which are required as well?
    According to the runtime zip
    webreporting-jsf.jar
    webreporting.jar
    jrcerom.jar
    icu4j.jar
    XMLConnector.jar
    QueryBuilder.jar
    DatabaseConnectors.jar
    xpp3.jar
    pfjgraphics.jar
    logging.jar
    log4j.jar
    keycodeDecoder.jar
    JDBInterface.jar
    jai_imageio.jar
    cvom.jar
    commons-logging.jar
    commons-lang-2.1.jar
    commons-configuration-1.2.jar
    commons-collections-3.1.jar
    com.azalea.ufl.barcode.1.0.jar
    CrystalReportsRuntime.jar
    CrystalCommon2.jar
    are the only jars required to create the engine....
    Thanks

  • Is this normal or concurrent issues?

    Hi experts, I have the following code, problem listed at end of code:
    In dataBean.java
    private static final String data[][] = {{"S1","0"},{"S2","0"},{"S3","0"},{"S4","0"},{"S5","0"},{"S6","0"}};
    public String[][] getData() { return data; }In data.jsp
    <jsp:useBean id="dataBean" class="com.data.dataBean" scope="page"/>
    <%
    String selectionResult[][] = dataBean.getData();
    if(session.getAttribute("S1")!=null){selectionResult[0][1]="S1";}
    if(session.getAttribute("S2")!=null){selectionResult[1][1]="S2";}
    if(session.getAttribute("S3")!=null){selectionResult[2][1]="S3";}
    if(session.getAttribute("S4")!=null){selectionResult[3][1]="S4";}
    if(session.getAttribute("S5")!=null){selectionResult[4][1]="S5";}
    if(session.getAttribute("S6")!=null){selectionResult[5][1]="S6";}
    %>In browser 1: session attributes S1 has data and the rest is null.
    In browser 2: session attributes S4 has data and the rest is null.
    When I used a loop to display the selectionResult[][] for these two different browsers, they display like this:
    Browser 1: S1 null null S4 null null
    Browser 2: S1 null null S4 null null
    instead of
    Browser 1: S1 null null null null null
    Browser 2: null null null S4 null null
    Can any experts tell me where I've done wrong? Thanks in advance.

    I always realised I've no problems when I go to the doctor.
    I seem to have find out the problem, I've declared static final in my dataBean.java, I remove these two keywords and it work alright.
    I do still have a question though, I didn't declared static final in my jsp, so why is it behaving in this manner?
    For example I've this variable and method:
    static final String abc[][] = {{"A","0"}}
    public String[][] getAbc() {return abc;}and I call getAbc by String[][] xyz = getAbc()is my xyz also static final variable too?

Maybe you are looking for

  • Is there any way to programmatically get the discussion forum Id using API

    Hi, Can any one let me know how to get and set the Discussion service forum Id / category Id to the discussion task flow programmatically using services API's. Here I am using Web center groupspace API's to create and add members to group space from

  • WARNING: Toshiba Maintenance Utility

    Be careful of the Toshiba Maintenance Utility. Its sole purpose is to delete all the partitions on your hard drive! You'll find it on the Troubleshoot screen in the Windows Recovery Environment. -Jerry

  • Selecting The Correct Fact Table

    I have an environment that has multiple dimension tables and multiple fact tables. I have multiple Presentation Catalogues to organise these. In PCat1 I have multiple dimensions and two Facts; F1 & F2. In answers I have build a filter to restrict the

  • Airport Extreme + Windows XP = @*#&%#  Help!

    Hi Guys, Just bought a new Airport Extreme Base Station (gigabit ethernet, 802.11n). I've got all my macs working with it perfectly in 20 seconds. Got a cisco VPN client working on it through Windows XP. I have one laptop left, a friend's Dell Inspir

  • Login from one Instance to another instance

    Dear All, How that i can login to another instance server using sql query? Example: I'm Login to instance server A and want query to instance server B so I want login to Instance Server B using sql query from Instance Server A. How that i solve that