Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-2824

Bundles directory not resolved correctly with multi folder module-path definition

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 7.1.0.Final
    • 7.0.2.Final
    • OSGi
    • None

    Description

      Right, so here's my first attempt at filling a bug for AS7

      I'm using the AS7 managed container with a custom modulePath, but arquillian tests don't get deployed:

      23:58:49,527 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) Starting deployment of "arquillian-service"
      23:58:49,761 INFO  [org.jboss.as.jpa] (MSC service thread 1-5) added javax.persistence.api dependency to arquillian-service
      23:58:49,804 INFO  [org.jboss.osgi.framework.internal.BundleManager] (MSC service thread 1-3) JBossOSGi Framework Core - 1.0.0.CR8
      23:58:49,859 INFO  [org.jboss.osgi.framework.internal.BundleManager] (MSC service thread 1-2) Install bundle: system.bundle:0.0.0
      23:58:49,881 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jbosgi.AutoInstallProvider: 
      org.jboss.msc.service.StartException in service jbosgi.AutoInstallProvider: Failed to create auto install list
      	at org.jboss.as.osgi.service.AutoInstallIntegration.start(AutoInstallIntegration.java:156)
      	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
      	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_26]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_26]
      	at java.lang.Thread.run(Thread.java:680) [:1.6.0_26]
      Caused by: java.lang.IllegalArgumentException: Cannot find bundles directory: /Users/g/Go/code/scalabox.git/modules/lift/target/test-module:build/assembly/target/jboss-as-7.0.2.Final/bundles
      	at org.jboss.as.osgi.service.AutoInstallIntegration.start(AutoInstallIntegration.java:123)
      	... 5 more
      

      With a modulePath like:

      <property name="modulePath">
      ${jboss.home:build/assembly/target/jboss-as-7.0.2.Final}/modules:modules/lift/target/test-module
      </property>
      

      The AS OSGI code does not seem to bother separating the module paths and assumes it needs to go a directory under the last, which results in:

      Caused by: java.lang.IllegalArgumentException: Cannot find bundles directory: 
      /Users/g/Go/code/scalabox.git/build/assembly/target/jboss-as-7.0.2.Final/modules:modules/lift/target/bundles
      

      If I swap around the folder definition to be:

      <property name="modulePath">
      modules/lift/target/test-module:${jboss.home:build/assembly/target/jboss-as-7.0.2.Final}/modules
      </property>
      

      It doesn't work either:

      Caused by: java.lang.IllegalArgumentException: Cannot find bundles directory: /Users/g/Go/code/scalabox.git/modules/lift/target/test-module:build/assembly/target/jboss-as-7.0.2.Final/bundles
      

      It'd appear that OSGI is resolving bundles to: ${modulePath}/../bundles

      If it separated the module path before doing that, the bundles/ dir would be located fine.

      Alternatively, bundles should be resolved to: ${jbossHome}/bundles

      Attachments

        Issue Links

          Activity

            People

              tdiesler@redhat.com Thomas Diesler
              rh-ee-galder Galder ZamarreƱo
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: