[英]Byte Buddy with JBOSS / Wildfly EJB 3 classes
我嘗試將所有方法攔截到在 widlfly/jboss 下運行的 javaEE 應用程序中(在特定情況下為 JBOSS EAP 7.3.x)
但實際上似乎 EJB 3.x 方法沒有被攔截
我的代碼是
new AgentBuilder.Default()
.type((ElementMatchers.any()))
.transform((builder, typeDescription, classLoader, module) -> builder
.method(ElementMatchers.any()).intercept(Advice.to(MyProfilerTimer.class)))
.installOn(inst);
所以,我啟用了“any”作為 ElementMatcher 但在這種情況下,EJB 不被考慮
EJB 被注解為無狀態(它們不是遠程 ejb)
@SuppressWarnings("all")
@Stateless(name = "MyEJBSession")
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class MyEJBSession
{
我相信由於 JBOSS 邏輯通過代理或委托等方式實例化它
你知道如何添加我的攔截器嗎? 我正在使用最新的字節好友版本
謝謝
Byte Buddy 注冊了一個隱式的.ignore
匹配器,它排除了合成類型、引導類加載器和 Byte Buddy 自己的類型。 大多數情況下,這是人們想要的,但如果您使用 JBoss,它可能會生成標記為合成的類。 可能,您需要注冊一個不排除類的自定義忽略匹配器。
您還可以隨時向您的代理構建器注冊一個偵聽器,以查看是否發現了該類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.