Where can I find Spring 4 OSGi bundles

2019-01-18 03:25发布

问题:

Where can I find OSGi bundles for Spring 4? I checked http://ebr.springsource.com/ but can only find Spring 3.2.x and the artifacts in Maven Central are not bundles.

Clarification

I'm not looking for Spring DM or similar. I'm looking for the "Spring Framework" JARs (spring-core, spring-beans, spring-context, …) as OSGi bundles. I'm not trying to create an application context in an OSGi environment. I just need the (exception) classes in an OSGi environment.

回答1:

Spring will NOT support any further releases as OSGi bundles. The official support has been stopped with spring 3.2.4 (although you could find 3.2.5 artifacts here, contradicting the statement made in the Eclipse Forum)

Glyn Normington from Spring source acknowledged that in several places, see here:

  • on Twitter
  • Eclipse Forum

However, there is hope. On the Karaf - dev list, one can read that they intend to support spring libraries in the ServiceMix project. Details in the entire thread see here.



回答2:

Spring source stopped creating jars with OSGI heaaders last year: http://www.infoq.com/news/2012/10/spring-osgi-gradle/

I do not think you will get an official maven repo containing OSGI bundles for spring. We use http://ebr.springsource.com/ frequently for OSGI bundles, but even that does not contain any version after 3.2

Could not add as comment due to low repo, hence adding as answer.



回答3:

I found ServiceMix had provided OSGi-fy Spring bundles up to ver. 4.1.4, http://repo2.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.spring-aop/

I tried it in my osgi Bundle project, to set dependeny like that :

 <dependency>
        <groupId>org.apache.servicemix.bundles</groupId>
        <artifactId>org.apache.servicemix.bundles.spring-core</artifactId>
        <version>4.1.1.RELEASE_3</version>
 </dependency>

Run in Felix a found sprint bundles are activated :

START LEVEL 1
 ID|State      |Level|Name
...
5|Resolved   |    1|Apache ServiceMix :: Bundles :: spring-expression (4.1.1.RELEASE_3)
6|Active     |    1|Apache Felix Gogo Command (0.14.0)
7|Active     |    1|Apache Felix Gogo Runtime (0.12.1)
8|Active     |    1|Apache Felix Gogo Shell (0.10.0)
...
10|Active     |    1|Apache ServiceMix :: Bundles :: spring-context (4.1.1.RELEASE_3)
11|Active     |    1|Apache ServiceMix :: Bundles :: spring-core (4.1.1.RELEASE_3)
.... 

But in it's latest release 5.4.0, ServiceMix only include spring 3.2.11.

Is there any risk when use spring 4.1.1 in my OSGi environment?



回答4:

I must say that migrating Spring to OSGi is still live in Apache ServiceMix. Get the latest(4.0.2.RELEASE) Spring artifacts with OSGi-enabled manifest from maven repo



回答5:

its a little bit tricky to find, here is the link for the OSGi bundle

http://docs.spring.io/downloads/nightly/release-download.php?project=OSGI

and for all spring projects

http://docs.spring.io/downloads/nightly/release-download.php



标签: spring osgi