Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-33272

Bullhorns and Hibernate

    XMLWordPrintable

    Details

    • Test Plan:
      Hide

      Please add a Test Plan here.

      Show
      Please add a Test Plan here.

      Description

      Bullhorns uses events and listens for certain events and then it will perform some action. If the event that Bullhorns is processing is from a service that is using hibernate, then before it launches its thread the current hibernate session needs to be flushed before starting the thread since the session may contain data that has not been flushed. This is because the new thread will obtain a different session.

      Sample stacktrace:

      ERROR [Thread-20] org.sakaiproject.portal.service.BullhornServiceImpl.lambda$update$1 Failed to find either the assignment or the site
      org.sakaiproject.exception.IdUnusedException id: 5feeb572-4e65-4157-8916-8289bd1174a0
      at org.sakaiproject.assignment.impl.AssignmentServiceImpl.getAssignment(AssignmentServiceImpl.java:872)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
      at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
      at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
      at com.sun.proxy.$Proxy105.getAssignment(Unknown Source)
      at org.sakaiproject.portal.service.BullhornServiceImpl.lambda$update$1(BullhornServiceImpl.java:276)
      at java.lang.Thread.run(Thread.java:748)
      

       

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                Assignee:
                ern Earle R Nietzel
                Reporter:
                ern Earle R Nietzel
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Git Integration