El siguiente es el código en uno de mis controladores de resorte. En esto, necesito almacenar algunos datos en la base de datos de Postgres con subprocesos múltiples, por lo que no tengo que esperar hasta que guarde los datos en la base de datos y pueda enviar la respuesta a la API llamada. ¿Cómo puedo? ¿lograr esto?
//billingLogService.saveBillingLogDetails(Object); if (!Util.isNull(personId) && !Util.isNull(personConnectionData)) { return new Callable<Map<Long, PersonConnectionTo>>() { @Override public Map<Long, PersonConnectionTo> call() throws Exception { Map<Long, PersonConnectionTo> connectionTextMap = profileService.getconnectionTextForFocusCompany(focusCompanyId, personId, personConnectionData); return connectionTextMap; } }; }Una de las formas de hacerlo es poner toda la lógica (que desea ejecutar en un hilo separado) en un método de alguna clase de servicio.
Entonces
1. Anote la clase con @Service o equivalente.
2. Anotar método con @Async
3. Utilice @EnableAsync
Eso debería ser suficiente