I think this is a compiler bug. javap gives next code: ........... 26: getfield #2; //Field subject:Ljavax/security/auth/Subject; 29: ifnonnull 42 32: aload_2 33: getfield #2; //Field subject:Ljavax/security/auth/Subject; 36: ifnonnull 91 39: goto 87 42: aload_0 43: getfield #2; //Field subject:Ljavax/security/auth/Subject; 46: aload_2 47: getfield #2; //Field subject:Ljavax/security/auth/Subject; 50: invokevirtual #8; //Method javax/security/auth/Subject.equals:(Ljava/lang/Object;)Z 53: ifeq 73 <--------------------- if(subject.equals(o.subject)) 56: aload_0 57: getfield #3; //Field cri:Ljavax/resource/spi/ConnectionRequestInfo; 60: ifnonnull 73 63: aload_2 64: getfield #3; //Field cri:Ljavax/resource/spi/ConnectionRequestInfo; 67: ifnonnull 91 70: goto 87 73: aload_0 <---------------------- 74: getfield #3; //Field cri:Ljavax/resource/spi/ConnectionRequestInfo; 77: aload_2 78: getfield #3; //Field cri:Ljavax/resource/spi/ConnectionRequestInfo; 81: invokevirtual #9; //Method java/lang/Object.equals:(Ljava/lang/Object;)Z 84: ifeq 91 87: iconst_1 88: goto 92 91: iconst_0 92: ireturn
The result is the following construction if(subject.equals(o.subject)){ cri.equals(o.cri); } djencks wrote: > > I opened GERONIMO-4639 and fixed this in trunk and branches 2.1 > > I couldn't understand the nested iff statements too well so I just > replaced it with what idea generates for equals :-) > > This is a component, not part of geronimo itself. We'll need to push > a release of at least the 2.1 branch. > > thanks > david jencks > -- View this message in context: http://www.nabble.com/NullPointerException-MultiPoolConnectionInterceptor%24SubjectCRIKey.equals-tp23634940s134p23648828.html Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.