Hi,
I tested the attached WAR with M2,M3 and RELEASE, results below:
- M2: works as stated by the user- M3: Exception as stated below by the
user- Release: same as M3 (exception as stated below).
Source-code would be beneficial for debug purpose :)
Best,Richard


Am Montag, den 14.10.2019, 06:11 -0500 schrieb Richard Monson-Haefel:
> It would be great if someone in the community could take a quick look
> atthis and report back.  It seems to be a bug, but I'm not sure.
> Anyone?
> ---------- Forwarded message ---------From: makkus <[email protected]
> >Date: Mon, Oct 14, 2019 at 5:14 AMSubject: CDI Principal injection:
> object is not an instance of declaringclassTo: <
> [email protected]>
> 
> Hi Folks,
> in TomEE 8.0.0 there seems to be something wrong with the
> Principalinjection: 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@RequestScopedpublic class PrincipalTest {
>     @Inject    private Principal principal;
>     public String userName(){        return
> principal.getName();    }}
> Inside a  JSF page I can use "User Name: #{principalTest.userName()}"
> todisplay the user name. (See attached  leak2.war<
> http://tomee-openejb.979440.n4.nabble.com/file/t376354/leak2.war>   o
> rhttps://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
> declaringclass
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nativ
> eMethod)
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Native
> MethodAccessorImpl.java:62)
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(De
> legatingMethodAccessorImpl.java:43)        java.base/java.lang.reflec
> t.Method.invoke(Method.java:566)
> org.apache.openejb.cdi.ManagedSecurityService$PrincipalInvocationHand
> ler.invoke(ManagedSecurityService.java:183)        com.sun.proxy.$Pro
> xy72.getName(Unknown
> Source)        leaktest.PrincipalTest.userName(PrincipalTest.java:25)
> leaktest.PrincipalTest$$OwbNormalScopeProxy0.userName(leaktest/Princi
> palTest.java)
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Nativ
> eMethod)
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Native
> MethodAccessorImpl.java:62)
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(De
> legatingMethodAccessorImpl.java:43)        java.base/java.lang.reflec
> t.Method.invoke(Method.java:566)        javax.el.BeanELResolver.invok
> e(BeanELResolver.java:158)...
> 
> Doese someone kow if this code is unsupported in 8.0.0 ? How can I
> get areference 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 Zowalla, M.Sc.Research Associate, PhD Student | Medical Informatics


Hochschule Heilbronn – University of Applied SciencesMax-Planck-Str. 39 D-74081 
Heilbronn phone: +49 7131 504 6791mail: [email protected]: 
http://www.mi.hs-heilbronn.de/ 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to