Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-9968

url.handler.protocol=profile doesn't work with latest patch of Red Hat Fuse 6.3.0

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • fuse-6.x-GA
    • jboss-fuse-6.3
    • Fabric8 v1
    • None
    • % %
    • Hide
      • Download and Unzip the attached reproducer. Build it with command 'mvn clean install'.
      • In Red Hat Fuse 6.3.0 R10 or R9, create fabric and follow below commands.
        profile-create --parent feature-camel testProfile
        profile-edit --feature camel-quartz2 testProfile 
        profile-edit --bundle mvn:org.jboss.fuse.samples/camel-spring-property/1.0-SNAPSHOT testProfile 
        profile-edit --pid camel.blueprint/result=profile:myFile.xml testProfile 
        profile-edit --resource myFile.xml testProfile 
        #add following to resource file and Ctrl + S to save
        <?xml version="1.0" encoding="UTF-8"?>
        key1=value1
        container-add-profile abc testProfile
        
      • We will get exception as
        Exception:
        2018-12-20 13:59:05,966 | ERROR | 7.1.1-1-thread-1 | DeploymentAgent                  | 87 - io.fabric8.fabric-agent - 1.2.0.redhat-630371 | Unable to update agent
        org.osgi.service.resolver.ResolutionException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=com.assurantsolutions.applecare.esb; type=osgi.bundle; version="[2.0.5.SNAPSHOT,2.0.5.SNAPSHOT]"; resolution:=mandatory [caused by: Unable to resolve com.assurantsolutions.applecare.esb/2.0.5.SNAPSHOT: missing requirement [com.assurantsolutions.applecare.esb/2.0.5.SNAPSHOT] osgi.service; effective:=active; filter:="(&(objectClass=org.osgi.service.url.URLStreamHandlerService)(url.handler.protocol=profile))"]
        	at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)[87:io.fabric8.fabric-agent:1.2.0.redhat-630371]
        
      • This run well in latest patch of 6.2.1, from heap-dump(screen-shot attached) we clearly see that the reference for org.osgi.service.url.URLStreamHandlerService;url.handler.protocol=profile is not available in 6.3.0 latest patch. However in 6.2.1 this is available.
      Show
      Download and Unzip the attached reproducer. Build it with command 'mvn clean install'. In Red Hat Fuse 6.3.0 R10 or R9, create fabric and follow below commands. profile-create --parent feature-camel testProfile profile-edit --feature camel-quartz2 testProfile profile-edit --bundle mvn:org.jboss.fuse.samples/camel-spring-property/1.0-SNAPSHOT testProfile profile-edit --pid camel.blueprint/result=profile:myFile.xml testProfile profile-edit --resource myFile.xml testProfile #add following to resource file and Ctrl + S to save <?xml version= "1.0" encoding= "UTF-8" ?> key1=value1 container-add-profile abc testProfile We will get exception as Exception: 2018-12-20 13:59:05,966 | ERROR | 7.1.1-1-thread-1 | DeploymentAgent | 87 - io.fabric8.fabric-agent - 1.2.0.redhat-630371 | Unable to update agent org.osgi.service.resolver.ResolutionException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=com.assurantsolutions.applecare.esb; type=osgi.bundle; version= "[2.0.5.SNAPSHOT,2.0.5.SNAPSHOT]" ; resolution:=mandatory [caused by: Unable to resolve com.assurantsolutions.applecare.esb/2.0.5.SNAPSHOT: missing requirement [com.assurantsolutions.applecare.esb/2.0.5.SNAPSHOT] osgi.service; effective:=active; filter:= "(&(objectClass=org.osgi.service.url.URLStreamHandlerService)(url.handler.protocol=profile))" ] at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)[87:io.fabric8.fabric-agent:1.2.0.redhat-630371] This run well in latest patch of 6.2.1, from heap-dump(screen-shot attached) we clearly see that the reference for org.osgi.service.url.URLStreamHandlerService;url.handler.protocol=profile is not available in 6.3.0 latest patch. However in 6.2.1 this is available.

    Description

      • Workaround is available if we replace
        <reference availability="mandatory"
                filter="(url.handler.protocol=profile)" id="resolverRef" interface="org.osgi.service.url.URLStreamHandlerService"/>
        

      with

      <reference availability="mandatory" id="resolverRef" interface="org.osgi.service.url.URLStreamHandlerService"/>
      
      • Omitting filter from service reference helps and application deploy and run well.

      Attachments

        1. 621_216.png
          139 kB
          Chandra Shekhar Pandey
        2. 630_356.png
          99 kB
          Chandra Shekhar Pandey

        Activity

          People

            ggrzybek Grzegorz Grzybek
            rhn-support-cpandey Chandra Shekhar Pandey (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: