While I doubt this is very common for most systems, we have had problems
with jsp pages under HP-UX ( albeit using jrun 2.3.3).

Sometimes when we place new jsp pages on our server that use a particular
java class and we do not restart Jrun
then unrelated Jsp pages elsewhere in the site that use that class begin to
throw IllegalClassChange exceptions. Restarting jrun solves the problem.  Of
course, this problem may be resolvable by accessing the class using the bean
tag rather than calling it directly but we have not had a chance to check
out the entire phase space of possibilities yet as it only occurs on our
production machine and not on the test machine.  Also, it is not a very
reproducible event and appears to depend on system load and memory
available.

Jeff

-----Original Message-----
From: Jackie Comeau [mailto:[EMAIL PROTECTED]]
Sent: Thursday, August 02, 2001 8:05 AM
To: JRun-Talk
Subject: RE: bean newbie question


So, you recommend every time you make a JSP change to stop and restart the 
server to make sure JRun recognizes the change? I have not run into this 
yet, but I'm just playing around with JSP and actually developing anything 
serious yet.

This is not a good thing! Is this a possible bug with JRun and has it been 
reported?

I think I would test my JSP's changes anyways before putting them into 
production, so hopefully I won't come up with problems of new class files 
not replacing old automatically. But yeah, I see the problem if your 
copying your changes over assuming the production server is going to 
recompile.

Hmmm, not good!

Jackie

On Wednesday, August 01, 2001 6:00 PM, Haseltine, Celeste 
[SMTP:[EMAIL PROTECTED]] wrote:
> Jay,
>
> To answer your question, I don't think you can.  The server loads all 
your
> classes into memory, along with your compiled JSP pages.  If your in a
> development mode, JRUN will compile your JSP's to servlets the first time
> you request the JSP, and subsequently when it see's that the "saved" date 
is
> newer than the compile date.  But not so for class files.  In order to
> replace an old class file with a new class file in memory, you have to 
stop
> and restart the server.  Although this is not usually required for JSP
> pages, but I have had times where minor changes in a JSP did NOT cause 
JRUN
> to recompile the JSP to a servlet, and I had to stop/restart the server 
in
> order to reflect the changes in the JSP page also.
>
> If you are using JRUN studio as your IDE, you can stop and restart the
> server from within the IDE using hotkeys.  If not, you can assign a 
shortcut
> to your desktop and stop/restart the server from the shortcut.
>
> Celeste
>
> -----Original Message-----
> From: Jay [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, August 01, 2001 7:45 PM
> To: JRun-Talk
> Subject: bean newbie question
>
>
> This should be simple.  I have created a bean, the first time I execute a
> JSP page that calls the bean, a class file is created for the bean and 
the
> jsp page in C:\test\WEB-INF\jsp.   I then have to move the bean.class 
file
> into the C:\test\WEB-INF\classes directory for my code to 
execute.(because I
> get a java.lang.NoClassDefFoundError: getmov)
>  However, if I make a change to the source code of the bean and 
reexecute,
> it appears that the original class is still in memory and manifests it 
self
> when the JSP is executed thereby not reflecting the new changes. I have
> remove all traces of the .java and .class files ( ie delete them)  and to
> restart the default server inorder to create new classes.
>
> 1.How can I clear the old code and create a new class that reflects the
> changes to the source without restarting the server everytime
> 2. Where exactly should the .class file reside in the
> C:\test\WEB-INF\classes  or in C:\test\WEB-INF\classes\beans
>
> //HERE IS THE BEAN
> import java.lang.* ;
> public class getmov {
>
> private String convert,clipnumber ;
>
> public void setConvert (String convert)
> {this.convert = convert ; }
>
> public String getConvert()
> { return convert ; }
>
> public String getClipnumber()
> { return  clipnumber ; }
>
> public void setClipnumber(String clipnumber)
> {
>
>  if (this.convert != "TRUE")
>  {   this.clipnumber  = "TRUE" ;   }
>   else
>     {   this.clipnumber  = "FALSE" ;  }
>
> }
>
> }
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to