Wednesday, August 24, 2022

mixing spring boot web and webflux

Following how to use reactor scheduler in micro-services, things becomes even more tricky if you mix spring boot web and webflux.

subscribeOn
[nio-8090-exec-1] -----Service : foo
[oundedElastic-1] EmailServiceClient : Sending email notification
[ctor-http-nio-2] EmailServiceClient : Sent email notification

publishOn
[nio-8090-exec-1] EmailServiceClient : Sending email notification
[nio-8090-exec-1] -----Service : foo
[oundedElastic-1] EmailServiceClient : Sent email notification

publishOn + subscribeOn
[nio-8090-exec-1] -----Service : foo
[oundedElastic-1] EmailServiceClient : Sending email notification
[oundedElastic-2] EmailServiceClient : Sent email notification

Mono.just + subscribeOn
[nio-8090-exec-1] EmailServiceClient : Sending email notification
[nio-8090-exec-1] -----Service : foo
[ctor-http-nio-2] EmailServiceClient : Sent email notification

Mono.just + publishOn
[nio-8090-exec-1] EmailServiceClient : Sending email notification
[nio-8090-exec-1] -----Service : foo
[ctor-http-nio-2] EmailServiceClient : Sent email notification

Tuesday, March 01, 2022

failed to insert 1-to-many entities using Spring Data JPA

may related to this, i have to insert header and 2 lines individually to walk around.

spring-boot-starter-data-jpa:2.6.3

select first 1 header_
select header_
insert into header_
insert into line_
select dbinfo('serial8') from informix.systables where tabid=1
insert into line_
select dbinfo('serial8') from informix.systables where tabid=1
A different object with the same identifier value was already associated with the session :
 nested exception is javax.persistence.EntityExistsException:
A different object with the same identifier value was already associated with the session