OK, here is what I am seeing.
If I create a simple bean, like this:
-----------------------------------------------------------
public class Test implements java.io.Serializable {
protected String fullName;
public String getFullName(){
return fullName;
};
public void setFullName(String newVal){
fullName = newVal;
};
}
-----------------------------------------------------------
I can make changes to EXISTING methods all day long, recompile and it reloads
just fine.
If I add or remove any propeties or methods (even private ones), I get a 500
error and need to either restart tomcat or undo the change and recompile.
If I use a more complex bean, like this one:
-----------------------------------------------------------
public class Test implements java.io.Serializable {
protected String fullName;
protected java.sql.Connection conn;
public java.sql.Connection getConn(){
return conn;
};
public void setConn(java.sql.Connection c){
this.conn = c;
};
public String getFullName(){
return fullName.toUpperCase();
/* return fullName; */
};
public void setFullName(String newVal){
fullName = newVal;
};
}
-----------------------------------------------------------
Now, ANY change brings the dreaded 500 error.
If I make the Connection property transient however, the behavior is as above
with one exception: any changes to existing methods make getConn return null,
but tomcat does not blow up. I presume the null value is because conn (as an
instance of java.sql.Connection) is not serializable.
Is this consistent with what others are seeing?
Larry