[Mulgara-dev] Comments solicited

Paul Gearon gearon at ieee.org
Wed Sep 3 19:39:23 UTC 2008


On Wed, Sep 3, 2008 at 10:54 AM, Alex Hall <alexhall at revelytix.com> wrote:
> Actually, now that I look more closely at Bootstrap.java, I see that its main
> purpose appears to be to allow you to extend the classpath by specifying
> additional jars with the "Embedded-Jar" manifest attribute.  All in all, though,
> I think that using a command-line switch to provide an additional classpath is
> much more useful than mucking with the mulgara.jar manifest.  Or, the approach I
> took was to grab all jars from a "lib" directory in the same directory as the
> Mulgara jar and add them to the classpath, so no command-line switch was
> necessary (I hate having to enumerate individual jar files with -cp, but then I
> guess that's what shell scripts are for).

Once upon a time, all the jars that Mulgara is dependent on were put
into the main jar. The Bootstrap class was used to make these
available to the class loader. It's cute, but it s*cked. For one
thing, it made it almost impossible for a debugger.

The main Mulgara jar now has all of those jars expanded into it. As a
result, I thought we didn't need Bootstrap anymore..... until this
morning. It seems that "Mulgara Lite" is using it.

Actually, as it stands, I'm not sure if anyone is using Mulgara Lite.
As a result, I'm thinking of re-purposing that build. Could anyone who
IS using it please let me know. (I really need to ask that question on
Mulgara-general as well).

<snip/>
> OK, I guess the store example was a bad one :-)  The point I was trying to make
> is, like Paul says, too many things in mulgara-config are unnecessarily
> configurable.  The classic example of this is the Database class.  On a related
> note, why are the stringpool and nodepool factories configured independently?  I
> suppose it might be possible to use the 1.0 stringpool with the 1.1 nodepool,
> but why anybody would want to do that is beyond me.

The node pool and string pool were designed to be completely
uncoupled, hence this clear delineation.

Funnily enough, the 1.0/1.1 example is a poor one. 1.1 actually
couples the two together. In fact, I had to go to a lot of effort to
make sure they were guaranteed to be appropriately coupled.  :-)

Paul



More information about the Mulgara-dev mailing list