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.
>
>
>
>
>

Reply via email to