簡體   English   中英

帶有 JBOSS / Wildfly EJB 3 類的字節好友

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM