Berin Loritsch wrote:

It's obvious that there are some issues to work out. That's OK. experiments
like this help us expand our minds and learn. What's wrong with getting some
impirical evidence? In the end, how much of this will save time in development,
etc.?


It may be that the current approach of scanning all the classes in a JAR file
is the wrong solution. Avalon has a need, so how do we solve it?


With Fortress, we used a Java standard for identifying all the components that
implement a service. This packaging standard works. I put the basic ANT task
to collect implementations of a service in the ANT BugZilla. It works. The
next fundamental problem was how do we know what services are available? I did
the next simplest thing: added a list in META-INF/services.list so that we could
discover the components by iterating over the services, and then finding the
components that implement the service.


With Merlin, it uses the Manifest (another Java standard) and marks certain
classes and interfaces as an Avalon Type or an Avalon Service.


This is incorrect. Merlin usage of manifest is 100% standard. Manifest entries describe jar file structural dependencies that the jar file containing the manfest has. This is referred to the optional extensions specification.

For trpe and service entries Merlin colocates <classname>.xtype and classname.xservice resources in a jar file. When a list of jar files if presented for loading (the result of the resolution of a set of target jar files + recusive optional jar dependency resolution, Merloin scanns each jar file for type and service entries, building a type and service repository in the process.



Both approaches work. The Merlin approach requires you to explicitly parse the
Manifest (which intails looking at the JarFile, getting its Manifest, and using
the Manifest object to parse the contents). Fortress allows you to work with a
set of files that are no more than a list. You to simply use the getResource()
or getResources() methods to get the lists.


This mixes up what is going on. Merlin mani9fest usaage to get establish the physical depndencies that one jar file has on othe jar files, and from that, recusive assemsment of what depednecies thosr new hjars have. There is nothing equivalent to this in Fortress.


Both of these approaches try to comply with a standard that is already present
in Java land.


Which standards are you referring to?

Stephen.

--

Stephen J. McConnell
mailto:[EMAIL PROTECTED]
http://www.osm.net

Sent via James running under Merlin as an NT service.
http://avalon.apache.org/sandbox/merlin




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to