[jboss-dev] Public vs. Private APIs

David M. Lloyd david.lloyd at redhat.com
Mon Dec 15 18:59:34 EST 2008


On 12/05/2008 09:33 AM, Andrig Miller wrote:
...
> As this discussion took place internally, we starting batting around the 
> idea of separately all the things we would like to be private into its 
> own lib directory.  So having one lib directory where have all the API's 
> that we intend to have customers/users use, and one where we have 
> everything else, so we can clearly communicate what should be used and 
> what shouldn't be used directly.

We should make *everything* private in my opinion.  Then, in *each* 
deployer we decide what capabilities are implicitly imported (JavaEE 
deployments will bring in the JavaEE classes for example) and use that 
information to build classloading metadata for that module.

Then we decide what other third-party capabilities we want to make 
available to users by default, should they *explicitly* request them 
(things like log4j/slf4j, quartz, hibernate, commons-crap, etc. spring to 
mind).

This would mean packaging up libraries with a wrapper JAR or something and 
including a jboss-classloading.xml for each one.  There was a thread in the 
MC development forum (I think) about this specifically, but I can't find it...

- DML



More information about the jboss-development mailing list