Я думал бы, что большим фактором будет производительность. И веб-сервер / код приложения и SQL Server кэшировали бы обычно запрашиваемые данные в памяти, и Вы уничтожаете свою производительность кэша путем выполнения их в том же пространстве памяти.
Вы можете использовать pointcut в или в пределах кода , чтобы соответствовать содержащему классу, и pointcut cflow , чтобы соответствовать выполнению метода addActionListener (), затем объедините его с pointcut execute , чтобы соответствовать телу метода actionPerformed ().
Например, этот pointcut будет соответствовать выполнению метода actionPerformed только внутри внутреннего класса InnerTest класса Test (при условии, что это test
) и только в потоке выполнения метода addActionListener:
pointcut innerTest(): within(test.Test.InnerTest) &&
cflow(execution(public void javax.swing.JButton.addActionListener(java.awt.event.ActionListener))) &&
execution(void actionPerformed(ActionEvent));
Если вас интересует только сопоставление вызовов к actionPerformed ( ) внутри внутреннего класса вы можете опустить предложение cflow.
It 'Стоит отметить, что если все, что вас интересует, это сопоставление выполнения любого метода actionPerformed (), этого будет достаточно:
pointcut innerTest():
execution(void java.awt.event.ActionListener+.actionPerformed(ActionEvent));