arch@glassfish.java.net

Re: [arch] Some follow-up proposals and questions after the app client container review

From: Bill Shannon <bill.shannon_at_sun.com>
Date: Sun, 22 Feb 2009 10:31:43 -0800

Tim Quinn wrote:
> One-JAR
> http://one-jar.sourceforge.net/index.php?page=introduction&file=intro
> and http://www.ibm.com/developerworks/java/library/j-onejar/ constructs,
> before the user's code starts, an in-memory mapping from each class and
> resource name in all bundled JARs to the byte[] for the class or
> resource. One-JAR's custom class loader retrieves the pre-loaded byte
> code from the map.
> Seems OK for relatively small apps with relatively small supporting
> libraries, but could be a memory hog and suffer slow start-up for larger
> programs or libraries. I haven't found any performance information on
> One-JAR on-line.

That looks like the one I was thinking of.

Maybe we need a variant on this that maintains a cache of unpacked jars,
much like Java Web Start does?

It would be really good to contact some customers who use application
clients and find out what they want.

> Jar Jar Links (lame Start Wars reference), on the other hand, is an ant
> task and merges all entries from the specified JARs into a single JAR,
> resolving any name conflicts using ASM byte code transformation to
> rename classes and adjust the references to them. What looks like the
> main site for this tool http://tonicsystems.com/products/jarjar/ has
> timed out for me on numerous attempts.

Ya, don't do that.

> I have responses to the other technical points you raised. Let me know
> if you'd prefer further mail or a phone call.

I can't speak for others, but when I see a mail message that requires
pages of scrolling to read it all, I put it off until I have more time.
Guess what. I rarely find more time.

If being concise doesn't come naturally to you (:-)), I'd suggest trying
to break up a large topic into smaller topics, one per message.

On this subject, it might be worthwhile scheduling some time with asarch
to continue the discussion.