3 Replies Latest reply on Feb 21, 2013 3:14 AM by jrantav

    Blueprint is not loading on Jboss 7.1.1.Final

    daniel.todt

      Greetings,

       

      My current configuration is this (working):

       

              <subsystem xmlns="urn:jboss:domain:osgi:1.2" activation="eager">
                  <properties>
                      <!-- Specifies the beginning start level of the framework -->
                      <property name="org.osgi.framework.startlevel.beginning">1</property>
                  </properties>
                  <capabilities>
                      <!-- modules registered with the OSGi layer on startup -->
                      <capability name="javax.servlet.api:v25"/>
                      <capability name="javax.transaction.api"/>
                      <!-- bundles started in startlevel 1 -->
                      <capability name="org.apache.felix.log" startlevel="1"/>
                      <capability name="org.jboss.osgi.logging" startlevel="1"/>
                      <capability name="org.apache.felix.configadmin" startlevel="1"/>
                      <capability name="org.jboss.as.osgi.configadmin" startlevel="1"/>
                  </capabilities>
              </subsystem>
      

       

       

       

      When I try to add this part, the server cant load the capabilities:

       

       

                      <capability name="org.apache.aries:org.apache.aries.util:0.4" startlevel="2"/>
                      <capability name="org.apache.aries.proxy:org.apache.aries.proxy:0.4" startlevel="2"/>
                      <capability name="org.apache.aries.blueprint:org.apache.aries.blueprint:0.4" startlevel="2"/>
      

       

       

      Log:

       

      INFO [org.jboss.osgi.repository.core.RepositoryImpl] (MSC service thread 1-5) find providers for: [AbstractRequirement[atts={maven.identity=org.apache.aries:org.apache.aries.util:jar:0.4},[anonymous]]]
      INFO [org.jboss.osgi.repository.core.RepositoryImpl] (MSC service thread 1-5) found matching caps: []
      ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jbosgi.integration.AutoInstallHandler: org.jboss.msc.service.StartException in service jbosgi.integration.AutoInstallHandler: JBAS011955: Failed to process initial capabilities
                     at org.jboss.as.osgi.service.AutoInstallIntegration.start(AutoInstallIntegration.java:190)
                     at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
                     at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
      
                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09]
      
                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09]
      
                     at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09]
      Caused by: org.jboss.msc.service.StartException in anonymous service: JBAS011961: Cannot resolve capability: org.apache.aries:org.apache.aries.util:0.4
                     at org.jboss.as.osgi.service.AutoInstallIntegration.installInitialCapability(AutoInstallIntegration.java:264)
                     at org.jboss.as.osgi.service.AutoInstallIntegration.start(AutoInstallIntegration.java:183)
                     ... 5 more
      JBAS014777: service jbosgi.integration.AutoInstallHandler: org.jboss.msc.service.StartException in service jbosgi.integration.AutoInstallHandler: JBAS011955: Failed to process initial capabilities
      
      

       

      Trying a solution, I've created:

       

      $JBOSS_HOME\bundles\org\apache\aries\org.apache.aries.util\0.4\main\*jar-file*
      $JBOSS_HOME\bundles\org\apache\aries\proxy\org.apache.aries.proxy\0.4\main\*jar-file*
      $JBOSS_HOME\bundles\org\apache\aries\blueprint\org.apache.aries.blueprint\0.4\main\*jar-file*
      

       

      What I'm doing wrong?

       

      Edit:

      Is there any other options to use OSGI on JBoss ?

       

      Edit 2:

      Capabilities, need to be instaled, before I can declare it in standalone.xml?

       

      Edit 3:

      On JBoss AS 7.0.0 the Blueprint bundle works ..

      I've tryed to copy the "bundles" specific folders that works on JBoss 7.0.0 to JBoss 7.1.1 bundles folder, now the server load's all default modules ..

      But, when I try to start the Blueprint bundle, the server throws an exception ..

       

       

      ERROR [org.jboss.osgi.framework.internal.FrameworkEventsPlugin] (HttpManagementService-threads - 3) Framework ERROR: org.osgi.framework.BundleException: Cannot resolve bundle resModule: [jbosgi-blueprint:1.0.2]
              at org.jboss.osgi.framework.internal.ResolverPlugin.resolve(ResolverPlugin.java:157)
              at org.jboss.osgi.framework.internal.AbstractBundleState.ensureResolved(AbstractBundleState.java:551)
              at org.jboss.osgi.framework.internal.HostBundleState.startInternal(HostBundleState.java:211)
              at org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:488)
              at org.jboss.as.osgi.parser.BundleRuntimeHandler.handleOperation(BundleRuntimeHandler.java:132)
              at org.jboss.as.osgi.parser.BundleRuntimeHandler.executeRuntimeStep(BundleRuntimeHandler.java:89)
              at org.jboss.as.controller.AbstractRuntimeOnlyHandler$1.execute(AbstractRuntimeOnlyHandler.java:90) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.controller.ModelControllerImpl$DefaultPrepareStepHandler.execute(ModelControllerImpl.java:466) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:121) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.controller.ModelControllerImpl$1.execute(ModelControllerImpl.java:309) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.controller.ModelControllerImpl$1.execute(ModelControllerImpl.java:299) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
              at org.jboss.as.domain.http.server.DomainApiHandler.processRequest(DomainApiHandler.java:294)
              at org.jboss.as.domain.http.server.DomainApiHandler.doHandle(DomainApiHandler.java:201)
              at org.jboss.as.domain.http.server.DomainApiHandler.handle(DomainApiHandler.java:208)
              at org.jboss.as.domain.http.server.security.SubjectAssociationHandler.handle(SubjectAssociationHandler.java:51)
              at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
              at org.jboss.sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:69)
              at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
              at org.jboss.sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:710)
              at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
              at org.jboss.as.domain.http.server.RealmReadinessFilter.doFilter(RealmReadinessFilter.java:54)
              at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
              at org.jboss.sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:682)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09]
              at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09]
              at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
      Caused by: org.jboss.osgi.resolver.XResolverException: Unable to resolve Module[jbosgi-blueprint:1.0.2]: missing requirement [Module[jbosgi-blueprint:1.0.2]] package; (&(package=org.jboss.osgi.spi.capability)(version>=1.0.0)(!(version>=2.0.0)))
              at org.jboss.osgi.resolver.felix.FelixResolver.resolveInternal(FelixResolver.java:117)
              at org.jboss.osgi.resolver.spi.AbstractResolver.resolve(AbstractResolver.java:149)
              at org.jboss.osgi.framework.internal.ResolverPlugin.resolve(ResolverPlugin.java:155)
              ... 32 more
      
      
      ERROR [jbosgi-blueprint] (Thread-68) FrameworkEvent ERROR: org.apache.felix.log.LogException: org.osgi.framework.BundleException: Cannot resolve bundle resModule: [jbosgi-blueprint:1.0.2]
              at org.jboss.osgi.framework.internal.ResolverPlugin.resolve(ResolverPlugin.java:157)
              at org.jboss.osgi.framework.internal.AbstractBundleState.ensureResolved(AbstractBundleState.java:551)
              at org.jboss.osgi.framework.internal.HostBundleState.startInternal(HostBundleState.java:211)
              at org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:488)
              at org.jboss.as.osgi.parser.BundleRuntimeHandler.handleOperation(BundleRuntimeHandler.java:132)
              at org.jboss.as.osgi.parser.BundleRuntimeHandler.executeRuntimeStep(BundleRuntimeHandler.java:89)
              at org.jboss.as.controller.AbstractRuntimeOnlyHandler$1.execute(AbstractRuntimeOnlyHandler.java:90)
              at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385)
              at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272)
              at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200)
              at org.jboss.as.controller.ModelControllerImpl$DefaultPrepareStepHandler.execute(ModelControllerImpl.java:466)
              at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385)
              at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272)
              at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200)
              at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:121)
              at org.jboss.as.controller.ModelControllerImpl$1.execute(ModelControllerImpl.java:309)
              at org.jboss.as.controller.ModelControllerImpl$1.execute(ModelControllerImpl.java:299)
              at org.jboss.as.domain.http.server.DomainApiHandler.processRequest(DomainApiHandler.java:294)
              at org.jboss.as.domain.http.server.DomainApiHandler.doHandle(DomainApiHandler.java:201)
              at org.jboss.as.domain.http.server.DomainApiHandler.handle(DomainApiHandler.java:208)
              at org.jboss.as.domain.http.server.security.SubjectAssociationHandler.handle(SubjectAssociationHandler.java:51)
              at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
              at org.jboss.sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:69)
              at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
              at org.jboss.sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:710)
              at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:78)
              at org.jboss.as.domain.http.server.RealmReadinessFilter.doFilter(RealmReadinessFilter.java:54)
              at org.jboss.com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:81)
              at org.jboss.sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:682)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09]
              at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09]
              at org.jboss.threads.JBossThread.run(JBossThread.java:122)
      Caused by: org.apache.felix.log.LogException: org.jboss.osgi.resolver.XResolverException: Unable to resolve Module[jbosgi-blueprint:1.0.2]: missing requirement [Module[jbosgi-blueprint:1.0.2]] package; (&(package=org.jboss.osgi.spi.capability)(version>=1.0.0)(!(version>=2.0.0)))
              at org.jboss.osgi.resolver.felix.FelixResolver.resolveInternal(FelixResolver.java:117)
              at org.jboss.osgi.resolver.spi.AbstractResolver.resolve(AbstractResolver.java:149)
              at org.jboss.osgi.framework.internal.ResolverPlugin.resolve(ResolverPlugin.java:155)
              ... 32 more
      

       

       

      --

       

      Thanks, and apologies by my poor english.

       

      Edited by: Daniel Otavio Todt

        • 1. Re: Blueprint is not loading on Jboss 7.1.1.Final
          jrantav

          Wow, lot of questions.

           

          First off:

           

          What I'm doing wrong?

          Nothing. I checked and with closely similar configuration this works for me. I have

           

          <capability name="org.apache.aries:org.apache.aries.util:0.4"/>

          <capability name="org.apache.aries.proxy:org.apache.aries.proxy:0.4"/>

          <capability name="org.apache.aries.blueprint:org.apache.aries.blueprint:0.4"/>

           

          although I think I also have installed the appropriate jars to be able to specify that.

           

          Is there any other options to use OSGI on JBoss ?

           

          Certainly. The stuff you have relate to aries implementation of osgi - there is OSGi in itself in the JBoss, as well as other implementations such as Gemini. There are some stuff like JNDI where I think you might want to use Aries for the time being.

           

          Capabilities, need to be instaled, before I can declare it in standalone.xml?

           

          No. But as a general rule I usually prefer them installed, either as regular deployments or as modules. They can be also specified as maven cordinates, in which case they are retrieved 1) from local repo 2) from jboss repo 3) from maven central. These paths are hardcoded as far as I know.

           

          (&(package=org.jboss.osgi.spi.capability)(version>=1.0.0)(!(version>=2.0.0)))

           

          This sounds like you have incorrect versions. I wouldn't recommend taking anything out of an older version - if you want to change versions, go for a newer one, not older ones.

           

          (there is also an additional thing that JBoss 7.1.1 has a problem where some internal moduels don't have proper OSGi manifests set. You can open any .jar in the modules folder and see if it has META-INF/MANIFEST.MF with proper export-packages set. If not, you'll might want an update.)

           

          I think 7.2 is a big thing in the OSGi perspective, I think 7.1.1 is missing out on a lot of things, so I'm personally using 7.2 snapshot instead. For example, WABs are deployed on Jetty on 7.1.1 instead of JBoss (JBoss spins off a Jetty process).

           

          Disclaimer: I'm just a developer, so my answers are not any  JBoss employee answers.

          1 of 1 people found this helpful
          • 2. Re: Blueprint is not loading on Jboss 7.1.1.Final
            daniel.todt

            Thanks Jarkko.

             

            It cleared my mind, and brought me more questions .. haha ..

             

            Certainly. The stuff you have relate to aries implementation of osgi - there is OSGi in itself in the JBoss, as well as other implementations such as Gemini. There are some stuff like JNDI where I think you might want to use Aries for the time being.

             

            I've been looking for a good guide / tutorial / documentation that can help me learn more about OSGi, but I could not find anything useful.

            Could you direct me to some?

            I'm looking for OSGI, WAB, maybe OSGI with JNDI (Maven, or Not), etc ..

             

            This sounds like you have incorrect versions. I wouldn't recommend taking anything out of an older version - if you want to change versions, go for a newer one, not older ones.

             

            (there is also an additional thing that JBoss 7.1.1 has a problem where some internal moduels don't have proper OSGi manifests set. You can open any .jar in the modules folder and see if it has META-INF/MANIFEST.MF with proper export-packages set. If not, you'll might want an update.)

             

            I think 7.2 is a big thing in the OSGi perspective, I think 7.1.1 is missing out on a lot of things, so I'm personally using 7.2 snapshot instead. For example, WABs are deployed on Jetty on 7.1.1 instead of JBoss (JBoss spins off a Jetty process).

             

            I tried to download newer versions of JBoss, but it seems that snapshots versions are hidden, I could not download to 7.2 ..

             

            Thanks!

            • 3. Re: Blueprint is not loading on Jboss 7.1.1.Final
              jrantav

              I've been looking for a good guide / tutorial / documentation that can help me learn more about OSGi, but I could not find anything useful.

              Could you direct me to some?

              I'm looking for OSGI, WAB, maybe OSGI with JNDI (Maven, or Not), etc ..

               

              Main point of documentation should be https://docs.jboss.org/author/display/JBOSGI/Introduction and there is also https://docs.jboss.org/author/display/AS7/Helloworld+OSGi+quickstart

               

              There are some others, too, but I think there aren't that many good examples with existing apps and not just tests. I've played with Blueprint + OSGi myself and have some examples/pocs using Maven on my own repos, too.

               

              I tried to download newer versions of JBoss, but it seems that snapshots versions are hidden, I could not download to 7.2 ..

               

              Thanks!

              Check https://community.jboss.org/thread/167590

              1 of 1 people found this helpful