Nel mio progetto domestico ho un lavoro di lunga durata, voglio mostrare lo stato all'utente sul processo e fino a che punto è andato. Quindi sto spingendo gli oggetti status su topic JMS da lì sto raccogliendo e alimentando l'app WS per inviarli a un client valido. Ho scritto dei tagli ai punti in primavera AOP (ovvero @Before, @AfterReturn) e ho chiamato il mio servizio per inviare il messaggio all'argomento. Ora voglio registrare lo stato del servizio non sul metodo di avvio o dopo il ritorno all'interno del metodo anche. Così ho chiamato il servizio (che ha iniettato jmsTamplete e ha preso l'oggetto status). C'è un modo per minimizzare queste chiamate in modo che non possa ripetere le chiamate di servizio. ecco il mio codice sudo.Quanto è efficiente Spring AOP in caso di consumo di memoria
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;
....
} }
Attualmente ho 3 attività a esecuzione lunga e sto chiamando lo stesso in ogni classe di metodo. Voglio ridurre al minimo le chiamate.
EDIT1: Posso applicare AOP anche sui metodi di chiamata, ma quali sono le prestazioni in questo caso? Come misurare le prestazioni AOP (quanta memoria ha consumato durante l'applicazione Up o per creare oggetti proxy). Ci scusiamo per aver fatto così tante domande.
Il titolo della domanda non sembra riflettersi nella domanda. – bhspencer