I have to say that I'm not at all interested in moving to Spring. At all. I've used both Spring and Plexus, and while I don't think Plexus is the end-all, be-all, it's better IMO than Spring. As far as annotations go, I completely agree with Jason, that Annotations should be standardized, and framework-agnostic. As for OSGi, I think we're definitely moving in the direction of that type of system in the 2.1 extensions and plugin handling code, but I'd be a little hesitant to make the decision to give up all control over our classloading model without doing some serious tests on a branch to make sure OSGi can support our needs. IMO, ClassWorlds is fast approaching the capability of OSGi in terms of raw classloading flexibility.

I have to say that I take some issue with the idea that we should completely refactor Maven to "standards" - which, by the way, are only popular items when we're talking about Spring, not specified standards that have more than one implementation - just so our users will get warm fuzzies about using the tool. From the user's perspective, if we have the bugs worked out of this system properly (we don't) then it absolutely shouldn't matter. If we get our annotations standardized to something that truly is being used by a large number of projects (where Spring is just one project...I'm not talking about all the projects *using* Spring), then plugin development shouldn't be that difficult to wrap one's head around. For many applications, it's actually not that hard now, as you don't need to interact with Plexus that much as-is. For instance, you don't even know that it's Plexus doing the DI for your plugin when you use @component annotations in your plugin...if that annotation were standardized, it would matter even less.

I can appreciate that you don't want to learn another suite of technologies in order to be able to work on Maven, but I can repeat your argument back to you: I'm not interested in learning a suite of new apis in order to keep developing on Maven...at least, not unless there is a compelling reason.

My two cents.

-john


On May 2, 2008, at 3:25 PM, nicolas de loof wrote:

From the fiew documentation available, XBean seems to be a container for
jsr250-based components, with plugability for various IoC containers.

The "discover, download and install" plugin model seems to be very similar to OSGi, and the link to Eclipse Equinox makes me suppose it's OSGi based
under the hood.

This looks very similar to Spring-DM + Equinox, with support for multiple
IoC containers.

If maven only needs jsr-250 + custom annotations, it could be IoC container
agnostic, beeing Spring or anything else with same features.

I also have never bought the argument that what's popular is what's best.
Maven wouldn't exist if that were the
case. There's always room for competitors.

beeing the most popular is not a technical argument, but this is to be
considered :
1. the leader may not be technicaly stupid, beeing the leader
2. when used as a service, the documentation / good knoledge from
developer community is IMHO a big element to consider.

Sorry to say, but I allready had to learn Spring in deep,
some limited Plexus, and now OSGi, I won't look more at XBean until it gets
mainly used or comes with highly innovative features.

I agrea there is always room for competitors and that's a good thing to see people come with new ideas and projects, but just some "nice" features is
not enough for me to choose a software, as what maven expect from it's
container is limited to simple IoC (no AOP, declarative TX, bytecode
instrumentation...) and advanced classloader/plugability. Only the second
criteria can help the choice, and OSGi seems to be the most promising
technology.

About "Maven wouldn't exist if that were the case", please remember Maven1 was desinged as a "let's share common ANT scripts" and envolved on this
basis, and Maven2 was a "lets take what was good in M1 and make it
stronger". You never build from scratch, but allways start from what is
considered good.

Today, what is considered good is
- about IoC : to be non-intrusive (plexus IS intrusive, as LogEnabled
demonstrates in most of classes) and to be compliant with the fiew existing
standards (JSR250 or other).
- about plugin-based-architecture : hot deployment, replacement and
concurrent versionning, with OSGI as the only recognized candidate (as JSR
for "java modules" is still WIP)

Nicolas.


2008/5/2 Jesse McConnell <[EMAIL PROTECTED]>:

http://geronimo.apache.org/xbean

On Fri, May 2, 2008 at 1:04 PM, Hilco Wijbenga <[EMAIL PROTECTED]>
wrote:
On Fri, May 2, 2008 at 9:25 AM, Jason van Zyl <[EMAIL PROTECTED]> wrote:
 <snip/>

 And ultimately the container DI is not the important part but the
implementations of our components. Using standard annotations for
that is a
good thing and that's not hard. XBR does full JEE injection and can
manage
any sort of annotation based DI because it's entirely agnostic. At
any rate
full support for that is now possible with XBR.

XBR? I did some googling but all I could find (aside from lots of TVs)
 was a reference to an apparently brand new Maven 2.1 project. No
 website or anything. Where can I find more information?

 Cheers,
 Hilco



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





--
jesse mcconnell
[EMAIL PROTECTED]

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



---
John Casey
Committer and PMC Member, Apache Maven
mail: jdcasey at commonjava dot org
blog: http://www.ejlife.net/blogs/john
rss: http://feeds.feedburner.com/ejlife/john


Reply via email to