Synchronizing James and Cornerstone
Stephen McConnell <[email protected]> Sat, 11 Jan 2003 06:06:27 +0100
| Newsgroups | gmane.comp.jakarta.avalon.apps.devel,gmane.comp.jakarta.avalon.devel,gmane.comp.jakarta.james.devel |
|---|---|
| Message-ID | <[email protected]> |
Noel J. Bergman wrote:
>>the transition from Composable to Serviceable is not too difficult
>>is just a matter of some specific replacements and a some
>>validatition - the more relavant question is when?
>>
>>
>
>Well, that's why I asked. What exactly do we need to do? We may not do it
>for James v2, but I'd like James v3 (HEAD) to be able to float against
>Avalon.
>
On timming I would very much like to see synchronization as early as
possible. I'm currently running into lot of problems with James that
are related to the Cornerstone version in james/lib. The problem
appears to be that the James version is still linked to BlockContext
whereas the Avalon version is not (following recent Cornerstone changes).
Some of the problems I'm encountering when attempting to build James
against Avalon Cornerstone include:
- Classes in James that extend Cornerstone and call super
on ComponentManager (which is broken because the Cornerstone
classes no longer implement ComponentManager.
- Numerouse casting errors related to James casting of objects
to Component which do not exist in the current Cornerstone
package.
- Some more tricky errors related to the passing of component
managers and component across different instances which don't
show up until runtime.
Problems related to working with the current James version of
Cornerstone include:
- ClassCastExceptions when dealing with context (which is surely
related to Pheonix BlockContext but I don't know where the code is
backing the the James version of Cornerstone so I'm working in
the dark.
Things would be *so* much easier if we got James and Cornerstone in sync.
In addition to synchronization I think there is some repackaging
required on the Avalon side. Currently the Cornerstone.jar contains a
bunch of components that are not used by James (RMISubscriber,
SocketStreamPublisher, RMIPublisher, DefaultAuthenticator, and Glue).
It would make a lot more sense for individual components in Cornerstone
to be packaged in individual jars and treated as specific products (with
respective releases, status, versions, etc.).
Cheers, Steve.
--
Stephen J. McConnell
mailto:[email protected]
http://www.osm.net