Cecile wrote:
Steve,
2007/3/12, Steve Loughran <[EMAIL PROTECTED]>:
yes, but can you do dynamic code download?
I'm not sure what you mean by "dynamic code download".
RMI can be used to send objects over the wire where the far end doesnt
have the .class files. The URLs to the files get sent over via the rmi
codebase list of URLs, which the far end instantiates and uses. This
lets RMI nodes share content dynamically, wich is used in jini a lot.
The problems we hit are related to the recipient not knowing which
bundle to load stuff in...the wire serialization doesnt include enough
data for a complete reconstruction.
This might be a digression from Nascif's original question.
RMI aside, I've written code with multiple implementations of a single
interface (all residing in different bundles) and one my services
would adapt itself depending on what other dependent services were
running or disable itself if required services were not available. I
have hunch that you're thinking of cross-VM service dependencies. i.e.
A bundle in one VM accessing a class in another VM.
Sort of, but its mainly getting machines to talk to each other without
having all the artifacts pre-installed at the far end. I think OSGi
works best if whoever assembles the bundle knew exactly what was going
to be needed at all times.
anyway, this is a digression from the issues of building/using OSGi. I
think Ivy and Ant could be made OSGi friendly.
-have manifest information that can be used for both setting up the
classpaths at compile, and for making OSGi manifests
-at compile time, you only want the service interfaces
-tasks to do the packaging, create the metadata in the manifests
-A new ant resource, say, <osgipath> that sets up classloaders right
-an osgi-aware version of <java> that runs OSGi apps by setting things
up right.
just some thoughts; we may discuss this at apachecon in may, if you are
going to be in Amsterdam
-steve