2017-04-19 13 views
1

다음은 스프링 컨트롤러 중 하나의 코드입니다.이 데이터는 데이터베이스에 데이터를 저장할 때까지 기다리지 않아도 Postgres 데이터베이스에 데이터를 저장해야하므로 응답을 보낼 수 있습니다. 다시 API를 호출합니다. 어떻게하면됩니까?스프링 부트 컨트롤러의 멀티 스레딩

//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; 
     } 
    }; 
} 
+0

당신은 Async' 주석 @ 봄의를'사용하여 볼 수 있었다 충분해야 @Async
3. @EnableAsync

2. 주석 방법. – CollinD

답변

0

하나의 방법은 전체 서비스를 별도의 스레드로 실행하고 일부 서비스 클래스의 메소드에 넣는 것입니다.
다음은
입니다. 1. @Service 또는 이와 동등한 클래스를 주석으로 지정하십시오.

+0

예외 발생 WARN 9071 --- [cTaskExecutor-2] ohengine.jdbc.spi.SqlExceptionHelper : SQL 오류 : 0, SQLState : 42883 오류 9071 --- [cTaskExecutor-2] ohengine.jdbc.spi.SqlExceptionHelper 오류 : 연산자가 없습니다. bigint = bytea 힌트 : 주어진 이름 및 인수 유형과 일치하는 연산자가 없습니다. 명시 적 타입 캐스트를 추가해야 할 수도 있습니다. 위치 : 123 ERROR 9071 --- [cTaskExecutor-2] .a.i.SimpleAsyncUncaughtExceptionHandler : 비동기 메소드 'public void com.equilar.bsp.service.impl.BillingLogServiceImpl.saveConnectionText (java.lang.Long)'을 호출하는 중 예기치 않은 오류가 발생했습니다. – vk1

+0

이것은 코드와 관련이 있습니다. 개미는 별도의 스레드에서 실행하는 것과 정확히 관련이 있습니다. – pvpkiran