Assuming that there is a significant interest in Jericho, which from
the work on chain as well as other notes and discussions on the list,
I think I can assume there is, would there also be an interest in
making the significant class factories in Jericho hot deploy
factories? I would like to open a discussion on this to see if anyone
even thinks that would be a good idea. I think it would be a great
idea, letting us build a small Struts kernel.
If interfaces are in WEB-INF/classes/org/apache./struts/, then the hot
deploy factory could be, for example, in
WEB-INF/classes/deploy/org/apache/struts/.
A hot (deploy) factory would look something like the following. Other
options, of course, exist. But this is really simple.
package com.crackwillow.hot;
import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;
import com.crackwillow.constant.SiteConstant;
import com.crackwillow.hot.Point;
public class PointHotFactory {
static ClassLoader pointClassLoader;
static Class pointClass;
public static synchronized Point createPoint(Point existingPoint)
throws Exception {
// Startup implementation
if (pointClass == null) { loadPointImpl(); }
// Factory
Point newPoint = (Point) pointClass.newInstance();
// Copy state when going to a new implementation.
if (existingPoint != null) {
transferState(existingPoint,newPoint);
}
return newPoint;
}
public static synchronized void loadPointImpl()
throws Exception {
pointClass = new URLClassLoader(new URL[]{new
URL(SiteConstant.DEPLOY)}).loadClass("com.crackwillow.hot.PointImpl");
}
private static synchronized void transferState(Point existingPoint,
Point newPoint) {
newPoint.move(existingPoint.getX(), existingPoint.getY());
}
}
Which brings up the last part of the Subject. Does anyone have a
class that runs shell and batch scripts that compile classes? I've
not done that and don't have a clue. Talk to me! LOL ;-)
Jack
--
"You can't wake a person who is pretending to be asleep."
~Native Proverb~
"Each man is good in His sight. It is not necessary for eagles to be crows."
~Hunkesni (Sitting Bull), Hunkpapa Sioux~
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]