Saya memiliki Antarmuka lapisan layanan yang diperluas dari Antarmuka dasar; Saya ingin membuat Pointcut di sekitar Antarmuka lapisan layanan saya, tetapi pada salah satu metode yang ditentukan dalam Antarmuka dasar.
Misalnya.... Saya memiliki metode di Antarmuka dasar saya yang disebut "simpan()", saya meletakkannya di Antarmuka dasar saya karena hanya semua Antarmuka "anak" saya akan menyediakan fungsionalitas "simpan".
Saya ingin membuat PointCut hanya pada salah satu antarmuka "anak" saya ketika "simpanan" saya dipanggil.
Saya membuat pointcut seperti berikut:
@Pointcut("execution(* com.xyz.someapp.ChildServiceInterface.save(..))")
public void childServiceSavePointCut();
Saya kemudian membuat saran @Around di sekitar pointcut di atas seperti berikut:
@Around("childServiceSavePointCut()")
public void doMyAdvice()....
di mana "ChildServiceInterface" memperluas Antarmuka lain yang memiliki metode "save()" yang ditentukan.
Saran saya tidak pernah berjalan... Saya men-debug kode saya dan tidak melihat Saran saya di daftar Penasihat untuk layanan target saya.
Apakah saya berpikir ini akan berhasil, atau apakah saya salah menerapkannya?