Container-Proxy
Du bekommst niemals eine EJB direkt — der WildFly-Container gibt dir einen Proxy.
Im
JndiServletsichtbar als z.B.HelloBean$$$view6.
I. Was macht der Proxy?
Bei jedem Methoden-Aufruf macht der Proxy automatisch:
- Pool-Lookup (bei @Stateless)
- Transaktion starten (CMT)
- Threading absichern
- Logging
- Security-Check
II. Warum sieht man ihn?
Wenn du via JNDI eine Bean holst und .getClass().getName() aufrufst, siehst du nicht HelloBean, sondern HelloBean$$$view6 — eine zur Laufzeit generierte Klasse.
.NET-Vergleich
Wie Castle DynamicProxy oder EF Core Lazy-Loading-Proxies — beide generieren Subklassen zur Laufzeit.
III. Konsequenz
Du kannst eine EJB nie mit new erstellen — sonst hast du keinen Proxy → keine CMT → keine Pool-Verwaltung.