Tim Moores wrote:I wouldn't call OSGi old-fashioned, but you're right that it hasn't exactly become mainstream. That was probably to be expected as it solves some tough architectural problems. And, before things like Declarative Services and containers like Apache Karaf came along, had a steep learning curve. Even with those it's not a trivial technology to use. But it's still being developed, as are its major implementations (Apache Felix and Eclipse Equinox) and their respective ecosystems.
In the past I have successfully used Felix for implementing a plugin solution for dynamic updates. Back then, I used the Felix and OSGi APIs directly to create my own container. These days, my choice for that would be to embed Karaf, and let it handle all the low-level stuff.
Tim Holloway wrote:
OSGi has the virtue that it allows you to effectively carve your JVM into multiple mini-JVMs, each with its own classpath and context. This is also what webapp servers do, and in fact, OSGi has been used to create webapp servers.
There have been experiments done on partitioning JVMs over the years and occasional motions towards that in the general Java language environment, but for the moment, OSGi is probably the best-known and best-supported way to do that kind of stuff.
Claude Moore wrote:Thanks Tim for sharing your experience and your point of view! Yes, Spring is a IoC framework and essentially an opinionated way of organizing code.About Spring managed apps within Osgi, are you thinking about Spring Dynamic Modules? AFAIK it's no longer supported or developed. Meanwhile, I had a look at karaf, the product Tim mentioned in his reply.Looks interesting and anything but abandoned.
As of 2018-MAY-14, the Eclipse Gemini Blueprint (the successor of DM) seems to be working on a new release (3.0.0) which integrates Spring 5. So, maybe not completely dead. Spring DM is used in Atlassian JIRA and in JBoss Fuse so hopefully they invest some effort to bring this on.
Tim Holloway wrote:If Jira is using OSGi, then I don't think OSGi is likely to die very soon. Love it or hate it, Jira is a force to be reckoned with.
Claude Moore wrote:The main risk is to be blamed for choosing the "hard way of doing things", while a more comfortable one was available.
Tim Holloway wrote:
I actually don't know if Spring Boot these days does other things besides stand-alone webapp systems.