#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();
}