В моем проекте для домашних животных у меня есть работа, работающая в течение длительного времени, я хочу показать статус пользователю о процессе и как далеко он прошел. Так что я нажимаю объекты статуса на тему JMS, там собирает и загружает приложение WS, чтобы передать их действительному клиенту. Я написал пунктирные сокращения в spring AOP (а именно @Before, @AfterReturn) и вызывая мою службу для отправки сообщения в тему. Теперь я хочу зарегистрировать статус службы не в начале метода или после возврата внутри метода. Поэтому я вызвал службу (у которой jmsTamplete был введен и получил статус объекта). Есть ли способ минимизировать эти вызовы, чтобы я не мог повторять вызовы службы. вот мой код sudo.
public class Myservice{
UserDao userDao;
LegService legservice;
ProviderDao providerDao;
....
StatusServive statusServie;
//aop will call the same service to send info to JMS topic
fetchandCalculateLeg(){
// here i called statusServie.senStatus(StatusObject);
List<Users> = userDao.fetchUserInfo();
// here i called statusServie.senStatus(StatusObject);
....
loop: #forEachUser
// here i called statusServie.senStatus(StatusObject);
someList = legservice.fecthLegInfoForEachUser();
// here i called statusServie.senStatus(StatusObject);
:endloop;
....
} }
В настоящее время у меня есть 3 задачи с длительным запуском, и я вызываю то же самое в каждом классе методов. Я хочу минимизировать вызовы.
EDIT1: Я также могу применить AOP к вызывающим методам, но какова производительность в этом случае? Как измерить производительность АОП (сколько памяти он потреблял во время приложения "Вверх" или "Создать прокси-объекты" ). Извините за задание стольких вопросов.