Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

org.hibernate.LazyInitializationException when accessing comment.getThread().getCommentable()

syringa April 27, 2020

Hi!

I have an event listener in my custom Bitbucket plugin: 

 

@EventListener
public void onTaskUpdated(TaskUpdatedEvent event) {
    TaskAnchor anchor = event.getTask().getAnchor();
    if (anchor instanceof Comment) {
          Comment comment = (Comment) anchor;
          Commentable commentable = comment.getThread().getCommentable();
          .....
    }
}



when accessing getCommentable() the following exception is thrown:


java.lang.RuntimeException: could not initialize proxy [com.atlassian.stash.internal.comment.InternalCommentThread#2004605] - no Session. Listener: ru.yandex.bitbucket.plugin.pull.jobs.merge.AutoMergingListener event: com.atlassian.bitbucket.event.task.TaskUpdatedEvent
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:55)
at com.atlassian.diagnostics.internal.platform.event.EventSystemMonitor.invokeMonitored(EventSystemMonitor.java:109)
at com.atlassian.diagnostics.internal.platform.event.MonitoredListenerInvoker.invoke(MonitoredListenerInvoker.java:38)
at com.atlassian.stash.internal.event.AsyncBatchingInvokersTransformer$AsyncInvokerBatch.invoke(AsyncBatchingInvokersTransformer.java:111)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.lambda$null$0(AsynchronousAbleEventDispatcher.java:37)
at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:34)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at com.atlassian.stash.internal.event.EventThreadFactory.lambda$createThread$0(EventThreadFactory.java:24)
at java.lang.Thread.run(Thread.java:748)
... 1 frame trimmed
Caused by: org.hibernate.LazyInitializationException: could not initialize proxy [com.atlassian.stash.internal.comment.InternalCommentThread#2004605] - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:169)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:309)
at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept(ByteBuddyInterceptor.java:45)
at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:95)
at com.atlassian.stash.internal.comment.InternalCommentThread$HibernateProxy$fCnlTUBi.getCommentable(Unknown Source)
at com.atlassian.stash.internal.comment.InternalCommentThread$HibernateProxy$fCnlTUBi.getCommentable(Unknown Source)
at

my.custom.bitbucket.plugin.AutoMergingListener.onTaskUpdated(AutoMergingListener.java:56)
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:40)
... 9 common frames omitted


adding @Transactional  does'n any effects. How I can restore session inside event listener?

 

 

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events