Thanks for this, Marcus! I've asked the development community to look into it. Please be patient as it can take a while to figure these things out.
On Mon, Oct 14, 2019 at 5:14 AM makkus <sancho-...@gmx.de> wrote: > Hi Folks, > > in TomEE 8.0.0 there seems to be something wrong with the Principal > injection: The follwoing code works fine in M2: > > package leaktest; > > import java.security.Principal; > import javax.enterprise.context.RequestScoped; > import javax.inject.Inject; > import javax.inject.Named; > > @Named > @RequestScoped > public class PrincipalTest { > > @Inject > private Principal principal; > > public String userName(){ > return principal.getName(); > } > } > > Inside a JSF page I can use "User Name: #{principalTest.userName()}" to > display the user name. (See attached leak2.war > <http://tomee-openejb.979440.n4.nabble.com/file/t376354/leak2.war> or > https://1drv.ms/u/s!AlHB9FAlFWW_iLJlTcyBEqApE_UAvQ?e=HODheK for example. ) > > > In 8.0.0. this is code will produce an IllegalArgumentException: > > java.lang.IllegalArgumentException: object is not an instance of declaring > class > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > > > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > java.base/java.lang.reflect.Method.invoke(Method.java:566) > > > org.apache.openejb.cdi.ManagedSecurityService$PrincipalInvocationHandler.invoke(ManagedSecurityService.java:183) > com.sun.proxy.$Proxy72.getName(Unknown Source) > leaktest.PrincipalTest.userName(PrincipalTest.java:25) > > > leaktest.PrincipalTest$$OwbNormalScopeProxy0.userName(leaktest/PrincipalTest.java) > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > > > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > java.base/java.lang.reflect.Method.invoke(Method.java:566) > javax.el.BeanELResolver.invoke(BeanELResolver.java:158) > ... > > > Doese someone kow if this code is unsupported in 8.0.0 ? How can I get a > reference to the principal name in 8.0.0. > > Best Regards, > Marcus > > > > > -- > Sent from: > http://tomee-openejb.979440.n4.nabble.com/TomEE-Users-f979441.html > -- Richard Monson-Haefel https://twitter.com/rmonson https://www.linkedin.com/in/monsonhaefel/