2017-12-28 24 views
0

나는 서비스 방법이있다. 조건에 따라 서비스 메서드를 비동기 적으로 호출하려면 어떻게해야합니까?

@Service 
public class MyService { 

    public void doSome() { 
    } 
} 

나는 이미 내가 @Async과 방법을 주석을 달 수 있습니다 알고 있습니다.

@Service 
public class MyService { 

    @Async 
    public void doSome() { 
    } 
} 

나는 발신자가 비동기로 선택하도록 할 수있는 방법이 있습니까? 일부 도우미와

말 ...

public void readSome(AsynContext asyncContext) { 
    if (async) { 
     asyncContext.call(() -> { 
      myService.doSome(); 
     }); 
    } else { 
     myService.doSome(); 
    } 
} 

@Autowired 
private MyService myService; 

아니면 두 가지 방법을해야합니까?

public void doSome() { 
} 

@Async 
public void doSomeAsync() { 
} 

답변

0

방금 ​​질문을 올린 직후 바로 링크에서 발견되었습니다. 나는이 작업을 수행 할 수 Creating Asynchronous Methods

  • 지금 나는 알고있다.

    public CompletableFuture<Some> doSome() { 
        // ... 
    } 
    

    고객은 대기할지 여부를 선택할 수 있습니다.