No sir, just the core jar .. we’re not really doing anything too wild.. if 
anything the object hierarchy we have is a bit weird due to jaxb generation.  
But these same classes have always worked just fine.  Now after 1.5.2 it works 
fine .. for a while then something happens to disturb it.

net.sourceforge.stripes.util.bean.PropertyExpressionEvaluation 
#fillInTypeInformation()

one minute says java.lang.Short
Same class, same field, next minute says java.lang.Serializable.

We are not doing any crazy class reloading on the fly or anything like that.  I 
know bean introspection is cached somewhere, but as far as I know there is no 
background thread going on updating those results as they should never change.

Our class hierarchy is a bit wild like I said.

public class TheBindingTarget extends AbstractCompositeKeyEntity {
   private Short id;   // initially this is detected as Short, at some point it 
changes to Serializable.
   public Short getID()  { return this.ID; }
   public void setID(Short id)  { this.ID = id; }
// other fields, not important
}

public abstract class AbstractCompositeKeyEntity extends AbstractEntity<Short> {
   // overrides for equals and hashcode for a 3 part business key (ID, version, 
revision)
}

public abstract class AbstractEntity<PK extends Serializable>  implements 
Entity<PK> {
   // equals and hashcode for 1 part key, ID
}

public interface Entity<PK extends Serializable> extends Serializable  {
   PK getID();
   void setID(PK id);
}

The uppercase of “ID” comes from jaxb generated classes, which come from 
someone else’s xsd that I cannot control.  I don’t think the case is an issue 
however.  Given the nature of that hierarchy with generics and all that, I can 
understand how the “get type” code could be slightly thrown off for this case 
given the complexity going on in there.  However, it should be giving the same 
result every time – not changing from one minute to the next right?

-John

From: Samuel Santos [mailto:sama...@gmail.com]
Sent: Wednesday, May 04, 2011 11:35 AM
To: Stripes Users List
Subject: Re: [Stripes-users] Strange introspection issue after upgrade to 1.5.2

Hi John,

Do you use any Stripes extension/plugin?

Cheers,

--
Samuel Santos
http://www.samaxes.com/

On Wed, May 4, 2011 at 3:24 PM, Newman, John W 
<newma...@d3onc.com<mailto:newma...@d3onc.com>> wrote:
All,

We’ve been using jdk5 / jboss4.22 / stripes 1.5 in production, stable for a 
long time now.   We’ve decided it’s about time to do some upgrades to jdk6 / 
jboss 5.  The classpath scanner in stripes 1.5 does not work on jboss 5, which 
was fixed in 1.5.2 as a result of 
http://www.stripesframework.org/jira/browse/STS-655

Ok so in addition to jdk / jboss upgrade, we have to upgrade stripes.jar.  Not 
a big deal.  Everything has gone smoothly, except for one remaining issue that 
is about as bizarre as it gets.  The application starts up and runs fine.  But, 
if you leave it sit idle for a period of time, say ~30 minutes, sometimes, the 
bean introspection results will somehow change.  This doesn’t make a whole lot 
of sense to me, but it’s what we’re seeing.

After startup, DefaultActionBeanPropertyBinder says this one field is of type 
java.lang.Short (which it is), it will take a value and bind into that no 
problem.  You can click around all you want and everything is good.  Now, ~30 
minutes of idle time go by, all of a sudden DefaultActionBeanPropertyBinder now 
decides to say this same field is of type java.lang.Serializable, foolishly 
tries to do new Serializable(“value”); and fails.  I can’t explain why that 
result would change over time.

Might we be running into a regression that came from the changes in 
http://www.stripesframework.org/jira/browse/STS-664  also in 1.5.2 ?   That’s 
the only thing I’m seeing related to introspection.  Because this is such a 
weird issue, I’m not even sure if it’s stripes related.  We are working on 
narrowing it down and continuing to research, but I thought I’d ask here first. 
 Unfortunately I can’t run 1.5 in jboss5, but we are trying 1.5.2 in jboss4 
right now (I suspect this will still show the issue).

  Is there any reasonable explanation for that change causing the result to say 
“java.lang.Short” one minute, and “java.lang.Serializable” the next?  Has 
anyone else ran into this?


Thanks in advance for any ideas.
-John

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network
management toolset available today.  Delivers lowest initial
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Stripes-users mailing list
Stripes-users@lists.sourceforge.net<mailto:Stripes-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/stripes-users

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Stripes-users mailing list
Stripes-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to