IntervalRetryScheduler configuration

85 views
Skip to first unread message

Wim Wintmolders

unread,
Aug 30, 2016, 3:34:12 AM8/30/16
to Axon Framework Users
I try to use the IntervalRetryScheduler, but cannot get it to work.

This is my configuration

    <bean id="scheduler" class="org.springframework.scheduling.concurrent.ScheduledExecutorFactoryBean">
    </bean>
    <bean id="retryScheduler" class="org.axonframework.commandhandling.gateway.IntervalRetryScheduler">
        <constructor-arg ref="scheduler"></constructor-arg>
        <constructor-arg value="5000"></constructor-arg>
        <constructor-arg value="5"></constructor-arg>
    </bean>

But the following error occurs when retrying the command

javax.persistence.PersistenceException: org.hibernate.HibernateException: Unable to access lob stream
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692) ~[hibernate-entitymanager-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602) ~[hibernate-entitymanager-5.0.9.Final.jar:5.0.9.Final]
at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:492) ~[hibernate-entitymanager-5.0.9.Final.jar:5.0.9.Final]
at sun.reflect.GeneratedMethodAccessor166.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_71]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_71]
at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:372) ~[spring-orm-4.3.2.RELEASE.jar:4.3.2.RELEASE]
at com.sun.proxy.$Proxy178.getResultList(Unknown Source) ~[na:na]
at org.axonframework.eventstore.jpa.DefaultEventEntryStore$BatchingAggregateStreamIterator.fetchBatch(DefaultEventEntryStore.java:319) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.eventstore.jpa.DefaultEventEntryStore$BatchingAggregateStreamIterator.<init>(DefaultEventEntryStore.java:290) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.eventstore.jpa.DefaultEventEntryStore$BatchingAggregateStreamIterator.<init>(DefaultEventEntryStore.java:272) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.eventstore.jpa.DefaultEventEntryStore.fetchAggregateStream(DefaultEventEntryStore.java:268) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.eventstore.jpa.JpaEventStore.readEvents(JpaEventStore.java:213) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.eventsourcing.EventSourcingRepository.doLoad(EventSourcingRepository.java:166) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.eventsourcing.EventSourcingRepository.doLoad(EventSourcingRepository.java:56) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.repository.AbstractRepository.load(AbstractRepository.java:76) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.repository.LockingRepository.load(LockingRepository.java:102) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.repository.LockingRepository.load(LockingRepository.java:51) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.commandhandling.annotation.AggregateAnnotationCommandHandler.loadAggregate(AggregateAnnotationCommandHandler.java:282) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.commandhandling.annotation.AggregateAnnotationCommandHandler.access$100(AggregateAnnotationCommandHandler.java:52) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.commandhandling.annotation.AggregateAnnotationCommandHandler$AggregateCommandHandler.handle(AggregateAnnotationCommandHandler.java:329) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.commandhandling.annotation.AggregateAnnotationCommandHandler.handle(AggregateAnnotationCommandHandler.java:277) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.commandhandling.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:63) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.commandhandling.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:69) ~[axon-core-2.4.3.jar:2.4.3]
at org.axonframework.commandhandling.SimpleCommandBus.doDispatch(SimpleCommandBus.java:127) [axon-core-2.4.3.jar:2.4.3]
at org.axonframework.commandhandling.SimpleCommandBus.doDispatch(SimpleCommandBus.java:103) [axon-core-2.4.3.jar:2.4.3]
at org.axonframework.commandhandling.SimpleCommandBus.dispatch(SimpleCommandBus.java:75) [axon-core-2.4.3.jar:2.4.3]
at org.axonframework.commandhandling.gateway.RetryingCallback$RetryDispatch.run(RetryingCallback.java:113) [axon-core-2.4.3.jar:2.4.3]
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-4.3.2.RELEASE.jar:4.3.2.RELEASE]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_71]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_71]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_71]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_71]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_71]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_71]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_71]

Any help would be appreciated.

Allard Buijze

unread,
Sep 24, 2016, 12:51:34 AM9/24/16
to Axon Framework Users
Most likely you need to set a transactionManager. Anywhere where a new thread picks up a task, must start a transaction.
I believe (but currently cannot check) it is set on the IntervalRetryScheduler.
--
You received this message because you are subscribed to the Google Groups "Axon Framework Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to axonframewor...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages