So, to complete my previous post, eclipse gemini could also handle spring-dm namespaces, but it looks like you're not using it. If you really want to have a spring architecture backed with spring, you should go in this way, as gemini is the natural spring-dm successor (sorry my aries companions). In the other way, Aries is much more mature, so if you're not tied to spring, go for it!
Regards again... 2014-05-20 22:45 GMT+02:00 Charlie Mordant <[email protected]>: > Hi, > > I don't think blueprint could take your config as you're using spring-dm > namespace. > As an advice, I would consider migrating from spring-dm to blueprint, as > the jars are no longer supported and fairly unstable (I encountered many > issues using them). > Concerning the first to other launch ok/nok, can you look at duplicate > package export (i.e. some jetty packages that are not in the same > version...). > I 'don't know if there is a simple grep command to see this kind of common > problem I faced multiple times, maybe JB can answer this :). > > Regards, Charlie > > > 2014-05-20 18:20 GMT+02:00 Dan <[email protected]>: > > Hi again, >> >> Could spring-dm and spring-dm-web both be picking up the spring >> configuration? It's in META-INF/osgi-config.xml and looks like this: >> >> <?xml version="1.0" encoding="UTF-8"?> >> <beans xmlns="http://www.springframework.org/schema/beans" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation="http://www.springframework.org/schema/beans >> http://www.springframework.org/schema/beans/spring-beans.xsd >> http://www.springframework.org/schema/context >> http://www.springframework.org/schema/context/spring-context.xsd >> http://www.springframework.org/schema/osgi >> http://www.springframework.org/schema/osgi/spring-osgi.xsd" >> xmlns:context="http://www.springframework.org/schema/context" >> xmlns:osgi="http://www.springframework.org/schema/osgi"> >> >> <context:annotation-config/> >> <bean class="data.Configuration"></bean> <!-- The JavaConfig class --> >> <osgi:service ref="database" auto-export="interfaces"></osgi:service> >> </beans> >> >> Alternatively, could the blueprint extender be picking up this bundle? >> >> Why only subsequent launches, not the first? >> >> Many thanks for any support offered, >> Dan. >> >> On 20 May 2014, at 16:31, Daniel McGreal wrote: >> >> Hi Karaf users, >> >> I have a Spring bundle which calls a third party library which itself >> calls a native library. Because of some unfortunate yet understandable >> decisions of the third party, I cannot have a @Bean created more than once. >> >> What's happening for me is that the first load of Karaf and >> initialisation of my bundles, everything works fine. But on the second >> load, I hit UnsatisfiedLinkExceptions with the message that "already loaded >> in another classloader". >> >> It seems that somehow after the first successful run, my Spring >> configuration is being loaded twice. >> >> My bundles: >> >> list -t 0 >> START LEVEL 100 , List Threshold: 0 >> ID | State | Lvl | Version | Name >> >> ------------------------------------------------------------------------------------------------------------------ >> 0 | Active | 0 | 4.2.1 | System Bundle >> 1 | Active | 5 | 1.4.0 | OPS4J Base - Lang >> 2 | Active | 5 | 2.2.0.20130927-173417 | bndlib >> 3 | Active | 5 | 1.7.0 | OPS4J Pax Swissbox :: Bnd >> Utils >> 4 | Active | 5 | 1.6.0 | OPS4J Pax Url - Maven >> Commons >> 5 | Active | 5 | 1.6.0 | OPS4J Pax Url - aether: >> 6 | Active | 5 | 1.6.0 | OPS4J Pax Url - wrap: >> 7 | Active | 8 | 1.7.2 | OPS4J Pax Logging - API >> 8 | Active | 8 | 1.7.2 | OPS4J Pax Logging - Service >> 9 | Active | 10 | 3.0.1 | Apache Karaf :: Service :: >> Guard >> 10 | Active | 10 | 1.6.0 | Apache Felix Configuration >> Admin Service >> 11 | Active | 11 | 3.2.8 | Apache Felix File Install >> 12 | Active | 12 | 4.1 | ASM all classes with debug >> info >> 13 | Active | 20 | 1.1.0 | Apache Aries Util >> 14 | Active | 20 | 1.0.0 | Apache Aries Proxy API >> 15 | Active | 20 | 1.0.2 | Apache Aries Proxy Service >> 16 | Active | 20 | 1.0.0 | Apache Aries Blueprint API >> 17 | Active | 20 | 1.0.3 | Apache Aries Blueprint CM >> 18 | Resolved | 20 | 1.0.0 | Apache Aries Blueprint >> Core Compatiblity Fragment Bundle, Hosts: 19 >> 19 | Active | 20 | 1.4.0 | Apache Aries Blueprint >> Core, Fragments: 18 >> 20 | Active | 24 | 3.0.1 | Apache Karaf :: Deployer >> :: Spring >> 21 | Active | 24 | 3.0.1 | Apache Karaf :: Deployer >> :: Blueprint >> 22 | Active | 24 | 3.0.1 | Apache Karaf :: Deployer >> :: Wrap Non OSGi Jar >> 23 | Active | 25 | 3.0.1 | Apache Karaf :: Region :: >> Core >> 24 | Active | 25 | 3.0.1 | Apache Karaf :: Features >> :: Core >> 25 | Active | 26 | 3.0.1 | Apache Karaf :: Deployer >> :: Features >> 26 | Active | 30 | 2.11.0 | JLine >> 27 | Active | 30 | 0.2.1 | JLEdit :: Core >> 28 | Active | 30 | 1.11 | jansi >> 29 | Active | 30 | 1.4.0 | OPS4J Base - Util - >> Property >> 30 | Active | 30 | 1.4.0 | OPS4J Base - Util - XML >> 31 | Active | 30 | 1.4.0 | OPS4J Base - Util - >> Collections >> 32 | Active | 30 | 1.6.0 | OPS4J Pax Url - Commons >> 33 | Active | 30 | 1.7.0 | OPS4J Pax Swissbox :: >> Property >> 34 | Active | 30 | 1.4.0 | OPS4J Base - Net >> 35 | Active | 30 | 1.4.0 | OPS4J Base - Monitors >> 36 | Active | 30 | 3.0.1 | Apache Karaf :: Features >> :: Command >> 37 | Active | 30 | 3.0.1 | Apache Karaf :: Shell :: >> Console >> 38 | Active | 30 | 3.0.1 | Apache Karaf :: JAAS :: >> Modules >> 39 | Active | 30 | 3.0.1 | Apache Karaf :: JAAS :: >> Config >> 40 | Active | 30 | 3.0.1 | Apache Karaf :: JAAS :: >> Boot >> 41 | Active | 30 | 0.9.0 | Apache Mina SSHD :: Core >> 42 | Active | 30 | 3.0.1 | Apache Karaf :: Bundle :: >> Commands >> 43 | Active | 30 | 3.0.1 | Apache Karaf :: Shell :: >> Table >> 44 | Active | 30 | 3.0.1 | Apache Karaf :: Bundle :: >> Core >> 45 | Active | 30 | 3.0.1 | Apache Karaf :: Shell :: >> Help System >> 46 | Active | 30 | 3.0.1 | Apache Karaf :: System :: >> Core >> 47 | Active | 30 | 3.0.1 | Apache Karaf :: System :: >> Shell Commands >> 48 | Active | 30 | 3.0.1 | Apache Karaf :: Shell :: >> Various Commands >> 49 | Active | 30 | 1.0.0 | Apache Aries Quiesce API >> 50 | Active | 30 | 3.0.1 | Apache Karaf :: >> ConfigAdmin :: Core >> 51 | Active | 30 | 3.0.1 | Apache Karaf :: >> ConfigAdmin :: Commands >> 52 | Active | 30 | 0.10.0 | Apache Felix Gogo Runtime >> 53 | Active | 30 | 3.0.1 | Apache Karaf :: Instance >> :: Core >> 54 | Active | 30 | 3.0.1 | Apache Karaf :: Instance >> :: Command >> 55 | Active | 30 | 3.0.1 | Apache Karaf :: JAAS :: >> Command >> 56 | Active | 30 | 3.0.1 | Apache Karaf :: Diagnostic >> :: Core >> 57 | Active | 30 | 3.0.1 | Apache Karaf :: Diagnostic >> :: Command >> 58 | Active | 30 | 3.0.1 | Apache Karaf :: Log :: Core >> 59 | Active | 30 | 3.0.1 | Apache Karaf :: Log :: >> Command >> 60 | Active | 30 | 3.0.1 | Apache Karaf :: Service :: >> Core >> 61 | Active | 30 | 3.0.1 | Apache Karaf :: Service :: >> Command >> 62 | Active | 30 | 3.0.1 | Apache Karaf :: Package :: >> Core >> 63 | Active | 30 | 3.0.1 | Apache Karaf :: Package :: >> Commands >> 64 | Active | 30 | 1.0.0.v20110524 | Region Digraph >> 65 | Active | 30 | 3.0.1 | Apache Karaf :: Region :: >> Persistence >> 66 | Active | 30 | 3.0.1 | Apache Karaf :: Region :: >> Shell Commands >> 67 | Active | 30 | 3.0.1 | Apache Karaf :: KAR :: Core >> 68 | Active | 30 | 3.0.1 | Apache Karaf :: KAR :: >> Command >> 69 | Active | 30 | 3.0.1 | Apache Karaf :: Deployer >> :: Karaf Archive (.kar) >> 70 | Active | 30 | 2.0.7 | Apache MINA Core >> 71 | Active | 30 | 3.0.1 | Apache Karaf :: Shell :: >> SSH >> 72 | Active | 30 | 3.0.1 | Apache Karaf :: Management >> 73 | Active | 30 | 1.1.0 | Apache Aries JMX API >> 74 | Active | 30 | 1.1.1 | Apache Aries JMX Core >> 75 | Active | 30 | 1.1.0 | Apache Aries JMX Blueprint >> API >> 76 | Active | 30 | 1.1.0 | Apache Aries JMX Blueprint >> Core >> 77 | Active | 30 | 1.0.0 | Apache Aries JMX Whiteboard >> 78 | Active | 80 | 0.0.1.BUILD-SNAPSHOT | entity.definition >> 79 | Active | 80 | 0.0.1.BUILD-SNAPSHOT | couchbase-lite >> 80 | Active | 80 | 1.9.2 | Data mapper for Jackson >> JSON processor >> 81 | Active | 80 | 3.7 | or.apache.poi >> 82 | Active | 80 | 1.1.3 | Commons Logging >> 83 | Failure | 80 | 0.0.1.BUILD-SNAPSHOT | data >> 84 | Active | 80 | 1.9.2 | Jackson JSON processor >> 85 | Active | 80 | 1.3 | commons-codec >> 86 | Active | 80 | 0.0.1.BUILD-SNAPSHOT | stockcheck.definition >> 87 | Active | 80 | 0.0.1.BUILD-SNAPSHOT | sweelee.web >> 88 | Active | 80 | 2.4.0 | XMLBeans Development Kit >> 89 | Active | 80 | 0.0.0 | vaadin.xml >> 90 | Active | 80 | 0.0.1.BUILD-SNAPSHOT | import.definition >> 91 | Active | 80 | 1.6.1 | dom4j DOM Processor >> 92 | Active | 30 | 2.2.0 | Apache ServiceMix :: Specs >> :: Activation API 1.4 >> 93 | Active | 30 | 1.0 | Servlet 3.0 >> 94 | Active | 30 | 1.4.4 | JavaMail API (compat) >> 95 | Active | 30 | 1.1.1 | geronimo-jta_1.1_spec >> 96 | Active | 30 | 1.0.1 | Annotation 1.1 >> 97 | Active | 30 | 1.1 | Java Authentication SPI >> for Containers >> 98 | Active | 30 | 8.1.14.v20131031 | Jetty :: Aggregate :: All >> Server >> 99 | Active | 30 | 1.6.0 | OPS4J Pax Swissbox :: OSGi >> Core >> 100 | Active | 30 | 1.6.0 | OPS4J Pax Swissbox :: >> Optional JCL >> 101 | Active | 20 | 3.16.0 | Apache XBean OSGI Bundle >> Utilities >> 102 | Active | 20 | 3.16.0 | Apache XBean :: ASM 4 >> shaded (repackaged) >> 103 | Active | 20 | 3.16 | Apache XBean :: Reflect >> 104 | Active | 20 | 3.16.0 | Apache XBean :: Finder >> shaded (repackaged) >> 105 | Active | 30 | 3.1.0 | OPS4J Pax Web - API >> 106 | Active | 30 | 3.1.0 | OPS4J Pax Web - Service SPI >> 107 | Active | 30 | 3.1.0 | OPS4J Pax Web - Runtime >> 108 | Active | 30 | 3.1.0 | OPS4J Pax Web - Jetty >> 109 | Active | 30 | 3.0.1 | Apache Karaf :: HTTP :: >> Core >> 110 | Active | 30 | 3.0.1 | Apache Karaf :: HTTP :: >> Commands >> 111 | Active | 30 | 3.1.0 | OPS4J Pax Web - Jsp Support >> 112 | Active | 30 | 3.1.0 | OPS4J Pax Web - Extender - >> Whiteboard >> 113 | Active | 30 | 3.1.0 | OPS4J Pax Web - Extender - >> WAR >> 114 | Active | 30 | 3.1.0 | OPS4J Pax Web - >> FileInstall Deployer >> 115 | Active | 30 | 1.4.2 | OPS4J Pax Url - war >> 116 | Active | 30 | 1.4.2 | OPS4J Pax Url - Commons >> 117 | Active | 30 | 1.6.0 | OPS4J Pax Swissbox :: Bnd >> Utils >> 118 | Active | 30 | 1.6.0 | OPS4J Pax Swissbox :: >> Property >> 119 | Active | 30 | 1.43.0 | aQute Bundle Tool Library >> 120 | Active | 30 | 3.0.1 | Apache Karaf :: Web :: Core >> 121 | Active | 30 | 3.0.1 | Apache Karaf :: Web :: >> Commands >> 122 | Active | 80 | 7.1.15 | vaadin-server >> 123 | Active | 80 | 7.1.15 | vaadin-client-compiled >> 124 | Active | 80 | 7.1.15 | vaadin-shared >> 125 | Active | 80 | 1.0.2 | vaadin-shared-deps >> 126 | Active | 80 | 7.1.15 | vaadin-themes >> 127 | Active | 80 | 1.6.3 | jsoup >> 128 | Active | 30 | 1.0.0.6 | Apache ServiceMix :: >> Bundles :: aopalliance >> 129 | Active | 30 | 3.2.4.RELEASE | Spring Core >> 130 | Active | 30 | 3.2.4.RELEASE | Spring Expression Language >> 131 | Active | 30 | 3.2.4.RELEASE | Spring Beans >> 132 | Active | 30 | 3.2.4.RELEASE | Spring AOP >> 133 | Active | 30 | 3.2.4.RELEASE | Spring Context >> 134 | Active | 30 | 3.2.4.RELEASE | Spring Context Support >> 135 | Active | 30 | 3.0.0.1 | Apache ServiceMix :: >> Bundles :: cglib >> 136 | Active | 30 | 1.2.1 | spring-osgi-io >> 137 | Active | 30 | 1.2.1 | spring-osgi-core >> 138 | Active | 30 | 1.2.1 | spring-osgi-extender >> 139 | Active | 30 | 1.2.1 | spring-osgi-annotation >> 140 | Active | 30 | 3.0.1 | Apache Karaf :: Bundle :: >> SpringStateService >> 141 | Active | 30 | 3.2.4.RELEASE | Spring Web >> 142 | Active | 30 | 3.2.4.RELEASE | Spring Web Servlet >> 143 | Active | 30 | 1.2.1 | spring-osgi-web >> >> >> The spring application is #83 (enigmatically called "data") and has a >> Spring-DM configuration file which just creates a JavaConfig bean, one of >> which is being instantiated twice. I put some logging into this bean >> definition: >> System.out.println("Making a database from: "+ >> Thread.currentThread().getContextClassLoader()); >> On the second load of Karaf, this line appears twice with "Making a >> database from: BundleDelegatingClassLoader for [null (data)]" for both >> outputs, the second of which throws the UnsatisfiedLinkException and fails >> to load the bundle. If I stop and start the bundle again, the same thing >> happens. If I rm -rf data and re-run Karaf the application works fine after >> installing the necessary features. >> >> Any suggestions? >> Best, Dan. >> >> >> >> >> >
