On Mon, Jun 1, 2009 at 11:05 AM, Sergiu Dumitriu
<sergiu(a)xwiki.com>
wrote:
Vincent Massol wrote:
Hi,
I'm having 2 problems with Plexus:
1) I tried to upgrade and it's not working. They've dropped the
ability to dynamically register a new component instance for an
existing role. Jason Van Zyl said he's ok to fix it but he's busy on
other stuff and it's been now 2 weeks since he said he'll fix it.
Generally speaking there are not many people working on Plexus
core so
it's not moving much.
2) I tried using events (it was there in alpha-31 but seem to have
disappeared in recent versions - I may be wrong. However since
there's
zero documentation I had to try to find it in the code and couldn't
find it) and couldn't. Even in alpha-31 it doesn't work (it works
only
for components located in components.xml but since we're dynamically
registering components it doesn't work for us.
Thus I'm more and more tempted to drop support for Plexus and
instead
use our Embedded component manager for now and start a xwiki-osgi
module that would implement our SPI for OSGi. I've read OSGi
documentation and it looks not too difficult to do.
I have all the code done for sending Component Manager events but it
won't work with Plexus so I'm proposing to use our Embedded CM for
now. In the meantime I'll try to talk to Jason to see what can be
done
on the plexus side.
WDYT?
Note that our Embedded CM hasn't been tested for multithreading so
we'll need to verify it works in the 2.0 dev cycle and fix any
threading issue.
We can also take a look at Guice.
I don't know what the switch implies, but since we're in the early
stages of 2.0, we can try it on the trunk.
I had some reading about guice and it seems quite powerful and well
designed
and much lighter and focused on DI than Spring and maybe a bit "more
modern
and alive" than plexus even if plexus did it right... there is also an
out-of-the-box OSGI integration extension
http://code.google.com/p/peaberry/