On Thu, Aug 29, 2002 at 08:51:17AM +0200, Tomasz Skutnik wrote:
> Hello.
>
> As some of you recall
> (http://www.mail-archive.com/avalon-users%40jakarta.apache.org/msg00163.html)
> I've proposed some time ago contributing little Ant invoking server. But,
> given Jeffs inspiration, here is what I was able to create in the spare
> time I've had. This is generalized application invoker, based on Forehead
> framework.
>
> Application can be downloaded from
> http://scooter.ext.e-point.pl/apprunner.tar.gz
>
> Everything is inside - just unpack to jakarta-avalon-apps/ CVS
> directory and build (ant dist or ant sar). This is by no means complete
> project, and I'm not going to stop it's development, but I think it's
> the time to show it to the world. Read docs, play with sample
> configured apps, beware of multiple threads :) (see known issues section).
>
> I post it as evaluation/demo, and do not expect it to be commited in
> soon, if at all (I'd even hold its commiting for some time because of
> some *important* issues that need to be resolved - see inside docs). If
> someone is going to commit it anyway, please check if links for download
> page (which in fact doesn't work now for any Avalon application) and API
> documentation works.
>
> I've tried to adhere to Jakarta standards as close as possible and
> comment havily, but as alway something could have slipped out of my
> hands, so any comments/improvements are welcome.
This is really cool :) Wheee..... Ant, Maven, starting instantly! Code
and docs look very snazzy too. Top stuff :)
Avalon dev people: if there's no objection, I'd like to add this to -apps
(it's 300k)
Actually it was a PITA to get working, because at first I didn't realise
you have to configure src/conf/*.properties files, and getting them wrong
results in rather cryptic errors from Phoenix. I never did get Checkstyle
working, and in the end just removed checkstyle.{conf,properties} from
src/conf.
There's one quite largish issue with Forehead. In
ForeheadAppRunnerServer.java line 444, you create a new Forehead object:
final Forehead forehead = new Forehead();
Then Maven comes along and does:
Forehead.getInstance().getClassLoader("root.maven")
And throws a NPE, because getInstance() returns an unconfigured Forehead
instance. Maven assumes that whatever configured Forehead, used it as a
singleton and configured Forehead.getInstance().
We can't just change the above line to:
final Forehead forehead = Forehead.getInstance();
because then we're reusing a single Forehead object for all hosted apps!
So whichever initializes first will configure Forehead, and then all
other apps die. In my case, Maven get configured first, and when I run
Ant, Maven gets called and breaks.
I haven't sufficiently grokked appserver and forehead to figure out who's
to blame. If Maven justified in assuming Forehead.getInstance() is
configured?
Anyway, very cool :)
--Jeff
> Thanks.
>
> Have as much fun, as I had coding this project and learning Avalon.
>
> --
>
> Tomasz Skutnik, R&D Director, www.e-point.pl
> tel +48 (22) 853 48 30, mob +48 501 555 705, fax +48 (22) 853 48 30
> e-point S.A., ul. Filona 16, 02-658 Warsaw, Poland
> PGP/GPG public key: http://scooter.ext.e-point.pl/tomasz.skutnik.gpg
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>