Trong dự án thú cưng của tôi, tôi có một công việc đang chạy dài, tôi muốn hiển thị trạng thái cho người dùng về quy trình và cách nó đi xa. Vì vậy, đang đẩy các đối tượng trạng thái vào chủ đề JMS từ đó đang chọn và đưa vào ứng dụng WS để truyền chúng tới một ứng dụng khách hợp lệ. Tôi đã viết các điểm cắt trong mùa xuân AOP (cụ thể là @Before, @AfterReturn) và gọi dịch vụ của tôi để gửi tin nhắn đến chủ đề. Bây giờ tôi muốn đăng nhập trạng thái của dịch vụ không phải trên phương thức bắt đầu hoặc sau khi trả về bên trong phương thức. Vì vậy, tôi gọi là dịch vụ (trong đó có jmsTamplete tiêm và lấy đối tượng trạng thái). Có cách nào để giảm thiểu các cuộc gọi này để tôi không thể lặp lại các cuộc gọi dịch vụ. đây là mã sudo của tôi.Làm thế nào hiệu quả là Spring AOP trong trường hợp tiêu thụ bộ nhớ
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;
....
} }
Hiện tại tôi có 3 tác vụ chạy dài và tôi gọi cùng trong mỗi lớp phương pháp. tôi muốn giảm thiểu các cuộc gọi.
EDIT1: Tôi cũng có thể áp dụng AOP trên các phương thức gọi nhưng hiệu suất trong trường hợp này là gì? Làm thế nào để đo hiệu suất AOP (bao nhiêu bộ nhớ nó tiêu thụ trong quá trình ứng dụng Lên hoặc để tạo các đối tượng proxy). Xin lỗi vì đã hỏi rất nhiều câu hỏi.
Tiêu đề câu hỏi của bạn dường như không được phản ánh trong câu hỏi của bạn. – bhspencer