Асинхронные прослушиватели Spring вместо потоков?

#spring

#spring

Вопрос:

У меня есть поток для обработки моего запроса: в основном, когда я создаю запрос, я нахожу предлагаемые услуги для конкретного запроса.Я использую thread.Я хочу избавиться от потока и использовать весенние прослушиватели и исполнитель задач (могу ли я).Как я могу это сделать.?Есть какой-нибудь пример

 public class FinderServiceImpl implements FinderService, Runnable {


    private RequestManager requestManager;
    private boolean continueRunning = true;
    private Thread service; 

    public RequestManager getRequestManager() {
        return RequestManager;
    }

    public void setRequestManager(
            RequestManager requestManager) {
        this.requestManager = requestManager;
    }

    public FinderServiceImpl() {
        service = new Thread(this);
        service.start();
    }

    public void run() {
        while (continueRunning) {
            try {
                synchronized (service) {
                    service.wait();
                }

            } catch (InterruptedException e) {
                LOG.error("Error in finder service: "   e);

            }

            if (requestManager != null) {
                LOG.debug("CALLING the RequestManager");
                requestManager.findForAllRequest();
                LOG.info("Finished Finding the  Offer. !!");
            }
        }
    }


    @Override
    public void notifyFinder()  {
        LOG.debug(" Notifier is called  the Service to Find ");
        synchronized (service) {
            service.notify();
        }
    }

    @Override
    public void scheduledFinding() {

        synchronized (service) {
            service.notify();
        }
    }


    @Override
    public void startService() {
        continueRunning = true;

        if (!service.isAlive()) {
            LOG.debug("Starting the finder service");
            service = new Thread(this);
            service.start();
        }
    }


    @Override
    public void stopService() {
        LOG.debug("Stopping the finder service");
        this.continueRunning = false;
    }
}
  

У меня есть класс requestmanager.

 Class RequestManager{

private FinderService OfferFinder;
public int createRequest(Request Request){
// create my request
OfferFinder.notifyFinder();


}