You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Roy Teeuwen <ro...@teeuwen.be> on 2015/11/12 10:31:52 UTC
Installing ESA Files
Hey all,
I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
Greetings,
Roy
Re: Installing ESA Files
Posted by Roy Teeuwen <ro...@teeuwen.be>.
Perfect! Thanks :)
Greets
Roy
> On 12 Nov 2015, at 13:24, David Bosschaert <da...@gmail.com> wrote:
>
> Hi Roy,
>
> That blog post references old-ish versions of the relevant bundles.
> You might want to take a look at
> http://aries.apache.org/modules/subsystems.html for a newer list of
> bundles required.
>
> Alternatively you can just use the latest Sling launchpad (9-SNAPSHOT,
> which you'd have to build yourself). It has all the deps for
> Subsystems installed. Just install the webconsole plugin on top of
> that and it should work - I just tried it and it works for me :)
>
> Cheers,
>
> David
>
> On 12 November 2015 at 11:58, Roy Teeuwen <ro...@teeuwen.be> wrote:
>> Hey David,
>>
>> I tried your second approach.
>>
>> I first installed subsystems on felix by following this guide:
>>
>> http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html <http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html>
>>
>> Afterwords I tried to install a subsystem through the webconsole, but the error.log returns following exception:
>>
>> 12.11.2015 12:48:31.624 *ERROR* [Thread-65] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-65,5,main]
>> org.osgi.service.subsystem.SubsystemException: java.net.MalformedURLException: Unknown protocol: inputstream
>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:560)
>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:252)
>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:58)
>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.net.MalformedURLException: Unknown protocol: inputstream
>> at java.net.URL.<init>(URL.java:620)
>> at java.net.URL.<init>(URL.java:483)
>> at java.net.URL.<init>(URL.java:432)
>> at java.net.URI.toURL(URI.java:1089)
>> at org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:69)
>> at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:113)
>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
>> at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
>> ... 8 common frames omitted
>> Caused by: java.lang.IllegalStateException: Unknown protocol: inputstream
>> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
>> at java.net.URL.<init>(URL.java:615)
>> ... 16 common frames omitted
>>
>>
>> Any idea where it’s going wrong?
>>
>> Greetings
>> Roy
>>
>>> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>>>
>>> Hi Roy,
>>>
>>> You currently have a couple of options in Sling to install subsystems.
>>>
>>> 1. Directly by calling the OSGi Subsystem Service
>>> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
>>> but this requires you to create some code around it.
>>> 2. With the webconsole subsystem plugin
>>> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
>>> this plugin is currently under vote for its first release, but you can
>>> build it yourself from that URL and install it into sling. That plugin
>>> looks like this: http://tinypic.com/r/2z8tbpe/8
>>> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
>>> by putting them in the install directory...
>>>
>>> If you're just experimenting, option 2 is definitely the easiest.
>>>
>>> Cheers,
>>>
>>> David
>>>
>>> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>> Hey all,
>>>>
>>>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>>>
>>>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>>>
>>>> Greetings,
>>>> Roy
>>>>
>>>>
>>
Re: Installing ESA Files
Posted by Roy Teeuwen <ro...@teeuwen.be>.
Hey David,
I found the problem. It seems that OSGi is a lot more strict when using subsystems. I had the following embedded dependency:
<dependency>
<groupId>com.squeakysand.osgi</groupId>
<artifactId>squeakysand-osgi</artifactId>
<version>0.4.0</version>
</dependency>
This generated the following import-package in the manifest file:
org.osgi.framework;version="[1.5,2)”
Without subsystems this didn’t seem to be a problem, with subsystems this generated the error in my previous mail.
Greetings,
Roy
> On 13 Nov 2015, at 22:09, Roy Teeuwen <ro...@teeuwen.be> wrote:
>
> Hey David,
>
> Thanks for the help so far, I seem to have found the problem for this one :).
> When looking at the mdm-parser-core’s generated manifest file I found the Require-Capability header, generated by using maven-bundle-plugin 2.5.4. I upgraded to 3.0.1 and that issue was resolved.
>
> But alas, on to the next error :(...
>
> 13.11.2015 22:01:23.849 *ERROR* [Thread-95] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-95,5,main]
> org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar] because it is exposed to package 'org.osgi.framework' from resources org.apache.felix.framework [org.apache.felix.framework [0](R 0)] and org.apache.felix.framework [org.apache.felix.framework [0](R 0)] via two dependency chains.
>
> Chain 1:
> idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
> import: (&(osgi.wiring.package=org.osgi.framework)(&(version>=1.5.0)(!(version>=2.0.0))))
> |
> export: osgi.wiring.package: org.osgi.framework
> org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
>
> Chain 2:
> idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
> import: (&(osgi.wiring.package=org.apache.sling.event.jobs.consumer)(&(version>=1.2.0)(!(version>=2.0.0))))
> |
> export: osgi.wiring.package=org.apache.sling.event.jobs.consumer; uses:=org.osgi.service.event
> org.apache.sling.event [org.apache.sling.event [103](R 103.0)]
> import: (&(osgi.wiring.package=org.osgi.service.event)(version>=1.2.0)(!(version>=2.0.0)))
> |
> export: osgi.wiring.package=org.osgi.service.event; uses:=org.osgi.framework
> org.apache.felix.eventadmin [org.apache.felix.eventadmin [9](R 9.0)]
> import: (&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)(!(version>=2.0.0)))
> |
> export: osgi.wiring.package: org.osgi.framework
> org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
>
> Any clue in this one ? (again, when installing these two bundles, api and core, without a subsystem but with the newly generated manifest from maven-bundle-plugin 3.0.1, this issue does not arise)
>
> Thanks!
> Roy
>
>
>> On 13 Nov 2015, at 09:29, David Bosschaert <da...@gmail.com> wrote:
>>
>> Hi Roy,
>>
>> It's looking for an provider of the osgi.service capability for the
>> service org.apache.sling.event.jobs.JobManager.
>> Normally those requirements are of type 'effective:=active'... as they
>> are a hint to a provisioning system but should not influence
>> resolution. This service is provided by Sling, but maybe it does not
>> have the capability in its manifest (yet). By having it
>> effective:=active the system should still resolve regardless of
>> whether the service provider actually declares that capability.
>>
>> So such a requirement is either in one of your bundles (e.g. in
>> mdm-parser-core-1.0.0-SNAPSHOT.jar) or in the subsystem? If so I
>> wonder how that requirement was generated there? The requirement
>> should be fine if you use the JobManager but it should have the
>> 'effective:=active' directive, e.g.
>>
>> Require-Capability: osgi.service;
>> filter:="(objectClass=com.foo.MyService)"; effective:="active"
>>
>> See also 134.16.2.2 of the OSGi Enterprise R6 spec [1].
>>
>> Cheers,
>>
>> David
>>
>> [1] https://www.osgi.org/developer/downloads/release-6/
>>
>> On 12 November 2015 at 23:23, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>> Hey David,
>>>
>>> I’m currently using the Sling launchpad 9-SNAPSHOT, and I can indeed directly install the subsystems felix webconsole, so perfect, thanks!
>>>
>>> But now when I try to iinstall an esa I get following exception. Is there anything extra I should to do get it working in Sling?
>>>
>>> 13.11.2015 00:18:00.060 *ERROR* [Thread-119] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-119,5,main]
>>> org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:356)
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:98)
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90)
>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)
>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:646)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:690)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:278)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:65)
>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>>> at java.lang.Thread.run(Thread.java:745)
>>> Caused by: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
>>> at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
>>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235)
>>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:373)
>>>
>>> It is generated by following plugin and is a feature, so by my knowledge all services/bundles should just be imported/exported. The dependencies are 3 bundles with all the rest of their dependencies already available in the standard Sling 9-SNAPSHOT (if I install the 3 bundles separately through the webconsole, everything works fine so):
>>>
>>> <plugin>
>>> <groupId>org.apache.aries</groupId>
>>> <artifactId>esa-maven-plugin</artifactId>
>>> <version>1.0.0</version>
>>> <extensions>true</extensions>
>>> <configuration>
>>> <generateManifest>true</generateManifest>
>>> <startOrder>dependencies</startOrder>
>>> <instructions>
>>> <Subsystem-Type>osgi.subsystem.feature</Subsystem-Type>
>>> </instructions>
>>> </configuration>
>>> </plugin>
>>>
>>> Thanks alot!
>>> Greets
>>> Roy
>>>
>>>> On 12 Nov 2015, at 13:24, David Bosschaert <da...@gmail.com> wrote:
>>>>
>>>> Hi Roy,
>>>>
>>>> That blog post references old-ish versions of the relevant bundles.
>>>> You might want to take a look at
>>>> http://aries.apache.org/modules/subsystems.html for a newer list of
>>>> bundles required.
>>>>
>>>> Alternatively you can just use the latest Sling launchpad (9-SNAPSHOT,
>>>> which you'd have to build yourself). It has all the deps for
>>>> Subsystems installed. Just install the webconsole plugin on top of
>>>> that and it should work - I just tried it and it works for me :)
>>>>
>>>> Cheers,
>>>>
>>>> David
>>>>
>>>> On 12 November 2015 at 11:58, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>> Hey David,
>>>>>
>>>>> I tried your second approach.
>>>>>
>>>>> I first installed subsystems on felix by following this guide:
>>>>>
>>>>> http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html <http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html>
>>>>>
>>>>> Afterwords I tried to install a subsystem through the webconsole, but the error.log returns following exception:
>>>>>
>>>>> 12.11.2015 12:48:31.624 *ERROR* [Thread-65] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-65,5,main]
>>>>> org.osgi.service.subsystem.SubsystemException: java.net.MalformedURLException: Unknown protocol: inputstream
>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:560)
>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:252)
>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:58)
>>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>> Caused by: java.net.MalformedURLException: Unknown protocol: inputstream
>>>>> at java.net.URL.<init>(URL.java:620)
>>>>> at java.net.URL.<init>(URL.java:483)
>>>>> at java.net.URL.<init>(URL.java:432)
>>>>> at java.net.URI.toURL(URI.java:1089)
>>>>> at org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:69)
>>>>> at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:113)
>>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
>>>>> ... 8 common frames omitted
>>>>> Caused by: java.lang.IllegalStateException: Unknown protocol: inputstream
>>>>> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
>>>>> at java.net.URL.<init>(URL.java:615)
>>>>> ... 16 common frames omitted
>>>>>
>>>>>
>>>>> Any idea where it’s going wrong?
>>>>>
>>>>> Greetings
>>>>> Roy
>>>>>
>>>>>> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>>>>>>
>>>>>> Hi Roy,
>>>>>>
>>>>>> You currently have a couple of options in Sling to install subsystems.
>>>>>>
>>>>>> 1. Directly by calling the OSGi Subsystem Service
>>>>>> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
>>>>>> but this requires you to create some code around it.
>>>>>> 2. With the webconsole subsystem plugin
>>>>>> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
>>>>>> this plugin is currently under vote for its first release, but you can
>>>>>> build it yourself from that URL and install it into sling. That plugin
>>>>>> looks like this: http://tinypic.com/r/2z8tbpe/8
>>>>>> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
>>>>>> by putting them in the install directory...
>>>>>>
>>>>>> If you're just experimenting, option 2 is definitely the easiest.
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> David
>>>>>>
>>>>>> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>>>> Hey all,
>>>>>>>
>>>>>>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>>>>>>
>>>>>>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>>>>>>
>>>>>>> Greetings,
>>>>>>> Roy
>>>>>>>
>>>>>>>
>>>>>
>>>
>
Re: Installing ESA Files
Posted by Roy Teeuwen <ro...@teeuwen.be>.
Hey David,
https://issues.apache.org/jira/browse/ARIES-1452 <https://issues.apache.org/jira/browse/ARIES-1452> with test case
Cheers,
Roy
> On 13 Nov 2015, at 22:33, Roy Teeuwen <ro...@teeuwen.be> wrote:
>
> Hey David,
>
> I will definitely do that, seeing as I now know the cause of the problem and I can reproduce it :), thanks!
>
> Greets,
> Roy
>> On 13 Nov 2015, at 22:31, David Bosschaert <da...@gmail.com> wrote:
>>
>> Hi Roy,
>>
>> On the face of it this shouldn't be a problem. Both chains boil down
>> to the same origin (the framework) so this should be absolutely fine
>> as far as I can see.
>>
>> Would it be possible to create a little test case for it and uploading
>> it to the Aries JIRA [1]? Since you say that it doesn't appear with a
>> plain framework maybe this has something to do with how Aries
>> Subsystems drives the resolver...
>>
>> Cheers,
>>
>> David
>>
>> [1] https://issues.apache.org/jira/browse/ARIES
>>
>> On 13 November 2015 at 21:09, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>> Hey David,
>>>
>>> Thanks for the help so far, I seem to have found the problem for this one :).
>>> When looking at the mdm-parser-core’s generated manifest file I found the Require-Capability header, generated by using maven-bundle-plugin 2.5.4. I upgraded to 3.0.1 and that issue was resolved.
>>>
>>> But alas, on to the next error :(...
>>>
>>> 13.11.2015 22:01:23.849 *ERROR* [Thread-95] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-95,5,main]
>>> org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar] because it is exposed to package 'org.osgi.framework' from resources org.apache.felix.framework [org.apache.felix.framework [0](R 0)] and org.apache.felix.framework [org.apache.felix.framework [0](R 0)] via two dependency chains.
>>>
>>> Chain 1:
>>> idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
>>> import: (&(osgi.wiring.package=org.osgi.framework)(&(version>=1.5.0)(!(version>=2.0.0))))
>>> |
>>> export: osgi.wiring.package: org.osgi.framework
>>> org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
>>>
>>> Chain 2:
>>> idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
>>> import: (&(osgi.wiring.package=org.apache.sling.event.jobs.consumer)(&(version>=1.2.0)(!(version>=2.0.0))))
>>> |
>>> export: osgi.wiring.package=org.apache.sling.event.jobs.consumer; uses:=org.osgi.service.event
>>> org.apache.sling.event [org.apache.sling.event [103](R 103.0)]
>>> import: (&(osgi.wiring.package=org.osgi.service.event)(version>=1.2.0)(!(version>=2.0.0)))
>>> |
>>> export: osgi.wiring.package=org.osgi.service.event; uses:=org.osgi.framework
>>> org.apache.felix.eventadmin [org.apache.felix.eventadmin [9](R 9.0)]
>>> import: (&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)(!(version>=2.0.0)))
>>> |
>>> export: osgi.wiring.package: org.osgi.framework
>>> org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
>>>
>>> Any clue in this one ? (again, when installing these two bundles, api and core, without a subsystem but with the newly generated manifest from maven-bundle-plugin 3.0.1, this issue does not arise)
>>>
>>> Thanks!
>>> Roy
>>>
>>>
>>>> On 13 Nov 2015, at 09:29, David Bosschaert <da...@gmail.com> wrote:
>>>>
>>>> Hi Roy,
>>>>
>>>> It's looking for an provider of the osgi.service capability for the
>>>> service org.apache.sling.event.jobs.JobManager.
>>>> Normally those requirements are of type 'effective:=active'... as they
>>>> are a hint to a provisioning system but should not influence
>>>> resolution. This service is provided by Sling, but maybe it does not
>>>> have the capability in its manifest (yet). By having it
>>>> effective:=active the system should still resolve regardless of
>>>> whether the service provider actually declares that capability.
>>>>
>>>> So such a requirement is either in one of your bundles (e.g. in
>>>> mdm-parser-core-1.0.0-SNAPSHOT.jar) or in the subsystem? If so I
>>>> wonder how that requirement was generated there? The requirement
>>>> should be fine if you use the JobManager but it should have the
>>>> 'effective:=active' directive, e.g.
>>>>
>>>> Require-Capability: osgi.service;
>>>> filter:="(objectClass=com.foo.MyService)"; effective:="active"
>>>>
>>>> See also 134.16.2.2 of the OSGi Enterprise R6 spec [1].
>>>>
>>>> Cheers,
>>>>
>>>> David
>>>>
>>>> [1] https://www.osgi.org/developer/downloads/release-6/
>>>>
>>>> On 12 November 2015 at 23:23, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>> Hey David,
>>>>>
>>>>> I’m currently using the Sling launchpad 9-SNAPSHOT, and I can indeed directly install the subsystems felix webconsole, so perfect, thanks!
>>>>>
>>>>> But now when I try to iinstall an esa I get following exception. Is there anything extra I should to do get it working in Sling?
>>>>>
>>>>> 13.11.2015 00:18:00.060 *ERROR* [Thread-119] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-119,5,main]
>>>>> org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
>>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
>>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:356)
>>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:98)
>>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90)
>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)
>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30)
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:646)
>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:690)
>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:278)
>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:65)
>>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>> Caused by: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
>>>>> at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
>>>>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235)
>>>>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)
>>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:373)
>>>>>
>>>>> It is generated by following plugin and is a feature, so by my knowledge all services/bundles should just be imported/exported. The dependencies are 3 bundles with all the rest of their dependencies already available in the standard Sling 9-SNAPSHOT (if I install the 3 bundles separately through the webconsole, everything works fine so):
>>>>>
>>>>> <plugin>
>>>>> <groupId>org.apache.aries</groupId>
>>>>> <artifactId>esa-maven-plugin</artifactId>
>>>>> <version>1.0.0</version>
>>>>> <extensions>true</extensions>
>>>>> <configuration>
>>>>> <generateManifest>true</generateManifest>
>>>>> <startOrder>dependencies</startOrder>
>>>>> <instructions>
>>>>> <Subsystem-Type>osgi.subsystem.feature</Subsystem-Type>
>>>>> </instructions>
>>>>> </configuration>
>>>>> </plugin>
>>>>>
>>>>> Thanks alot!
>>>>> Greets
>>>>> Roy
>>>>>
>>>>>> On 12 Nov 2015, at 13:24, David Bosschaert <da...@gmail.com> wrote:
>>>>>>
>>>>>> Hi Roy,
>>>>>>
>>>>>> That blog post references old-ish versions of the relevant bundles.
>>>>>> You might want to take a look at
>>>>>> http://aries.apache.org/modules/subsystems.html for a newer list of
>>>>>> bundles required.
>>>>>>
>>>>>> Alternatively you can just use the latest Sling launchpad (9-SNAPSHOT,
>>>>>> which you'd have to build yourself). It has all the deps for
>>>>>> Subsystems installed. Just install the webconsole plugin on top of
>>>>>> that and it should work - I just tried it and it works for me :)
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> David
>>>>>>
>>>>>> On 12 November 2015 at 11:58, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>>>> Hey David,
>>>>>>>
>>>>>>> I tried your second approach.
>>>>>>>
>>>>>>> I first installed subsystems on felix by following this guide:
>>>>>>>
>>>>>>> http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html <http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html>
>>>>>>>
>>>>>>> Afterwords I tried to install a subsystem through the webconsole, but the error.log returns following exception:
>>>>>>>
>>>>>>> 12.11.2015 12:48:31.624 *ERROR* [Thread-65] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-65,5,main]
>>>>>>> org.osgi.service.subsystem.SubsystemException: java.net.MalformedURLException: Unknown protocol: inputstream
>>>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
>>>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
>>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:560)
>>>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:252)
>>>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:58)
>>>>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>>>>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>>>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>>>> Caused by: java.net.MalformedURLException: Unknown protocol: inputstream
>>>>>>> at java.net.URL.<init>(URL.java:620)
>>>>>>> at java.net.URL.<init>(URL.java:483)
>>>>>>> at java.net.URL.<init>(URL.java:432)
>>>>>>> at java.net.URI.toURL(URI.java:1089)
>>>>>>> at org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:69)
>>>>>>> at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:113)
>>>>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
>>>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
>>>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
>>>>>>> ... 8 common frames omitted
>>>>>>> Caused by: java.lang.IllegalStateException: Unknown protocol: inputstream
>>>>>>> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
>>>>>>> at java.net.URL.<init>(URL.java:615)
>>>>>>> ... 16 common frames omitted
>>>>>>>
>>>>>>>
>>>>>>> Any idea where it’s going wrong?
>>>>>>>
>>>>>>> Greetings
>>>>>>> Roy
>>>>>>>
>>>>>>>> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>>>>>>>>
>>>>>>>> Hi Roy,
>>>>>>>>
>>>>>>>> You currently have a couple of options in Sling to install subsystems.
>>>>>>>>
>>>>>>>> 1. Directly by calling the OSGi Subsystem Service
>>>>>>>> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
>>>>>>>> but this requires you to create some code around it.
>>>>>>>> 2. With the webconsole subsystem plugin
>>>>>>>> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
>>>>>>>> this plugin is currently under vote for its first release, but you can
>>>>>>>> build it yourself from that URL and install it into sling. That plugin
>>>>>>>> looks like this: http://tinypic.com/r/2z8tbpe/8
>>>>>>>> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
>>>>>>>> by putting them in the install directory...
>>>>>>>>
>>>>>>>> If you're just experimenting, option 2 is definitely the easiest.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>>
>>>>>>>> David
>>>>>>>>
>>>>>>>> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>>>>>> Hey all,
>>>>>>>>>
>>>>>>>>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>>>>>>>>
>>>>>>>>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>>>>>>>>
>>>>>>>>> Greetings,
>>>>>>>>> Roy
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>
>>>
>
Re: Installing ESA Files
Posted by Roy Teeuwen <ro...@teeuwen.be>.
Hey David,
I will definitely do that, seeing as I now know the cause of the problem and I can reproduce it :), thanks!
Greets,
Roy
> On 13 Nov 2015, at 22:31, David Bosschaert <da...@gmail.com> wrote:
>
> Hi Roy,
>
> On the face of it this shouldn't be a problem. Both chains boil down
> to the same origin (the framework) so this should be absolutely fine
> as far as I can see.
>
> Would it be possible to create a little test case for it and uploading
> it to the Aries JIRA [1]? Since you say that it doesn't appear with a
> plain framework maybe this has something to do with how Aries
> Subsystems drives the resolver...
>
> Cheers,
>
> David
>
> [1] https://issues.apache.org/jira/browse/ARIES
>
> On 13 November 2015 at 21:09, Roy Teeuwen <ro...@teeuwen.be> wrote:
>> Hey David,
>>
>> Thanks for the help so far, I seem to have found the problem for this one :).
>> When looking at the mdm-parser-core’s generated manifest file I found the Require-Capability header, generated by using maven-bundle-plugin 2.5.4. I upgraded to 3.0.1 and that issue was resolved.
>>
>> But alas, on to the next error :(...
>>
>> 13.11.2015 22:01:23.849 *ERROR* [Thread-95] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-95,5,main]
>> org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar] because it is exposed to package 'org.osgi.framework' from resources org.apache.felix.framework [org.apache.felix.framework [0](R 0)] and org.apache.felix.framework [org.apache.felix.framework [0](R 0)] via two dependency chains.
>>
>> Chain 1:
>> idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
>> import: (&(osgi.wiring.package=org.osgi.framework)(&(version>=1.5.0)(!(version>=2.0.0))))
>> |
>> export: osgi.wiring.package: org.osgi.framework
>> org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
>>
>> Chain 2:
>> idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
>> import: (&(osgi.wiring.package=org.apache.sling.event.jobs.consumer)(&(version>=1.2.0)(!(version>=2.0.0))))
>> |
>> export: osgi.wiring.package=org.apache.sling.event.jobs.consumer; uses:=org.osgi.service.event
>> org.apache.sling.event [org.apache.sling.event [103](R 103.0)]
>> import: (&(osgi.wiring.package=org.osgi.service.event)(version>=1.2.0)(!(version>=2.0.0)))
>> |
>> export: osgi.wiring.package=org.osgi.service.event; uses:=org.osgi.framework
>> org.apache.felix.eventadmin [org.apache.felix.eventadmin [9](R 9.0)]
>> import: (&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)(!(version>=2.0.0)))
>> |
>> export: osgi.wiring.package: org.osgi.framework
>> org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
>>
>> Any clue in this one ? (again, when installing these two bundles, api and core, without a subsystem but with the newly generated manifest from maven-bundle-plugin 3.0.1, this issue does not arise)
>>
>> Thanks!
>> Roy
>>
>>
>>> On 13 Nov 2015, at 09:29, David Bosschaert <da...@gmail.com> wrote:
>>>
>>> Hi Roy,
>>>
>>> It's looking for an provider of the osgi.service capability for the
>>> service org.apache.sling.event.jobs.JobManager.
>>> Normally those requirements are of type 'effective:=active'... as they
>>> are a hint to a provisioning system but should not influence
>>> resolution. This service is provided by Sling, but maybe it does not
>>> have the capability in its manifest (yet). By having it
>>> effective:=active the system should still resolve regardless of
>>> whether the service provider actually declares that capability.
>>>
>>> So such a requirement is either in one of your bundles (e.g. in
>>> mdm-parser-core-1.0.0-SNAPSHOT.jar) or in the subsystem? If so I
>>> wonder how that requirement was generated there? The requirement
>>> should be fine if you use the JobManager but it should have the
>>> 'effective:=active' directive, e.g.
>>>
>>> Require-Capability: osgi.service;
>>> filter:="(objectClass=com.foo.MyService)"; effective:="active"
>>>
>>> See also 134.16.2.2 of the OSGi Enterprise R6 spec [1].
>>>
>>> Cheers,
>>>
>>> David
>>>
>>> [1] https://www.osgi.org/developer/downloads/release-6/
>>>
>>> On 12 November 2015 at 23:23, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>> Hey David,
>>>>
>>>> I’m currently using the Sling launchpad 9-SNAPSHOT, and I can indeed directly install the subsystems felix webconsole, so perfect, thanks!
>>>>
>>>> But now when I try to iinstall an esa I get following exception. Is there anything extra I should to do get it working in Sling?
>>>>
>>>> 13.11.2015 00:18:00.060 *ERROR* [Thread-119] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-119,5,main]
>>>> org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:356)
>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:98)
>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90)
>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)
>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:646)
>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:690)
>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:278)
>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:65)
>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>>>> at java.lang.Thread.run(Thread.java:745)
>>>> Caused by: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
>>>> at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
>>>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235)
>>>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)
>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:373)
>>>>
>>>> It is generated by following plugin and is a feature, so by my knowledge all services/bundles should just be imported/exported. The dependencies are 3 bundles with all the rest of their dependencies already available in the standard Sling 9-SNAPSHOT (if I install the 3 bundles separately through the webconsole, everything works fine so):
>>>>
>>>> <plugin>
>>>> <groupId>org.apache.aries</groupId>
>>>> <artifactId>esa-maven-plugin</artifactId>
>>>> <version>1.0.0</version>
>>>> <extensions>true</extensions>
>>>> <configuration>
>>>> <generateManifest>true</generateManifest>
>>>> <startOrder>dependencies</startOrder>
>>>> <instructions>
>>>> <Subsystem-Type>osgi.subsystem.feature</Subsystem-Type>
>>>> </instructions>
>>>> </configuration>
>>>> </plugin>
>>>>
>>>> Thanks alot!
>>>> Greets
>>>> Roy
>>>>
>>>>> On 12 Nov 2015, at 13:24, David Bosschaert <da...@gmail.com> wrote:
>>>>>
>>>>> Hi Roy,
>>>>>
>>>>> That blog post references old-ish versions of the relevant bundles.
>>>>> You might want to take a look at
>>>>> http://aries.apache.org/modules/subsystems.html for a newer list of
>>>>> bundles required.
>>>>>
>>>>> Alternatively you can just use the latest Sling launchpad (9-SNAPSHOT,
>>>>> which you'd have to build yourself). It has all the deps for
>>>>> Subsystems installed. Just install the webconsole plugin on top of
>>>>> that and it should work - I just tried it and it works for me :)
>>>>>
>>>>> Cheers,
>>>>>
>>>>> David
>>>>>
>>>>> On 12 November 2015 at 11:58, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>>> Hey David,
>>>>>>
>>>>>> I tried your second approach.
>>>>>>
>>>>>> I first installed subsystems on felix by following this guide:
>>>>>>
>>>>>> http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html <http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html>
>>>>>>
>>>>>> Afterwords I tried to install a subsystem through the webconsole, but the error.log returns following exception:
>>>>>>
>>>>>> 12.11.2015 12:48:31.624 *ERROR* [Thread-65] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-65,5,main]
>>>>>> org.osgi.service.subsystem.SubsystemException: java.net.MalformedURLException: Unknown protocol: inputstream
>>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
>>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
>>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:560)
>>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:252)
>>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:58)
>>>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>>>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>>> Caused by: java.net.MalformedURLException: Unknown protocol: inputstream
>>>>>> at java.net.URL.<init>(URL.java:620)
>>>>>> at java.net.URL.<init>(URL.java:483)
>>>>>> at java.net.URL.<init>(URL.java:432)
>>>>>> at java.net.URI.toURL(URI.java:1089)
>>>>>> at org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:69)
>>>>>> at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:113)
>>>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
>>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
>>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
>>>>>> ... 8 common frames omitted
>>>>>> Caused by: java.lang.IllegalStateException: Unknown protocol: inputstream
>>>>>> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
>>>>>> at java.net.URL.<init>(URL.java:615)
>>>>>> ... 16 common frames omitted
>>>>>>
>>>>>>
>>>>>> Any idea where it’s going wrong?
>>>>>>
>>>>>> Greetings
>>>>>> Roy
>>>>>>
>>>>>>> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>>>>>>>
>>>>>>> Hi Roy,
>>>>>>>
>>>>>>> You currently have a couple of options in Sling to install subsystems.
>>>>>>>
>>>>>>> 1. Directly by calling the OSGi Subsystem Service
>>>>>>> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
>>>>>>> but this requires you to create some code around it.
>>>>>>> 2. With the webconsole subsystem plugin
>>>>>>> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
>>>>>>> this plugin is currently under vote for its first release, but you can
>>>>>>> build it yourself from that URL and install it into sling. That plugin
>>>>>>> looks like this: http://tinypic.com/r/2z8tbpe/8
>>>>>>> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
>>>>>>> by putting them in the install directory...
>>>>>>>
>>>>>>> If you're just experimenting, option 2 is definitely the easiest.
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>> David
>>>>>>>
>>>>>>> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>>>>> Hey all,
>>>>>>>>
>>>>>>>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>>>>>>>
>>>>>>>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>>>>>>>
>>>>>>>> Greetings,
>>>>>>>> Roy
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>
>>
Re: Installing ESA Files
Posted by David Bosschaert <da...@gmail.com>.
Hi Roy,
On the face of it this shouldn't be a problem. Both chains boil down
to the same origin (the framework) so this should be absolutely fine
as far as I can see.
Would it be possible to create a little test case for it and uploading
it to the Aries JIRA [1]? Since you say that it doesn't appear with a
plain framework maybe this has something to do with how Aries
Subsystems drives the resolver...
Cheers,
David
[1] https://issues.apache.org/jira/browse/ARIES
On 13 November 2015 at 21:09, Roy Teeuwen <ro...@teeuwen.be> wrote:
> Hey David,
>
> Thanks for the help so far, I seem to have found the problem for this one :).
> When looking at the mdm-parser-core’s generated manifest file I found the Require-Capability header, generated by using maven-bundle-plugin 2.5.4. I upgraded to 3.0.1 and that issue was resolved.
>
> But alas, on to the next error :(...
>
> 13.11.2015 22:01:23.849 *ERROR* [Thread-95] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-95,5,main]
> org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar] because it is exposed to package 'org.osgi.framework' from resources org.apache.felix.framework [org.apache.felix.framework [0](R 0)] and org.apache.felix.framework [org.apache.felix.framework [0](R 0)] via two dependency chains.
>
> Chain 1:
> idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
> import: (&(osgi.wiring.package=org.osgi.framework)(&(version>=1.5.0)(!(version>=2.0.0))))
> |
> export: osgi.wiring.package: org.osgi.framework
> org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
>
> Chain 2:
> idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
> import: (&(osgi.wiring.package=org.apache.sling.event.jobs.consumer)(&(version>=1.2.0)(!(version>=2.0.0))))
> |
> export: osgi.wiring.package=org.apache.sling.event.jobs.consumer; uses:=org.osgi.service.event
> org.apache.sling.event [org.apache.sling.event [103](R 103.0)]
> import: (&(osgi.wiring.package=org.osgi.service.event)(version>=1.2.0)(!(version>=2.0.0)))
> |
> export: osgi.wiring.package=org.osgi.service.event; uses:=org.osgi.framework
> org.apache.felix.eventadmin [org.apache.felix.eventadmin [9](R 9.0)]
> import: (&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)(!(version>=2.0.0)))
> |
> export: osgi.wiring.package: org.osgi.framework
> org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
>
> Any clue in this one ? (again, when installing these two bundles, api and core, without a subsystem but with the newly generated manifest from maven-bundle-plugin 3.0.1, this issue does not arise)
>
> Thanks!
> Roy
>
>
>> On 13 Nov 2015, at 09:29, David Bosschaert <da...@gmail.com> wrote:
>>
>> Hi Roy,
>>
>> It's looking for an provider of the osgi.service capability for the
>> service org.apache.sling.event.jobs.JobManager.
>> Normally those requirements are of type 'effective:=active'... as they
>> are a hint to a provisioning system but should not influence
>> resolution. This service is provided by Sling, but maybe it does not
>> have the capability in its manifest (yet). By having it
>> effective:=active the system should still resolve regardless of
>> whether the service provider actually declares that capability.
>>
>> So such a requirement is either in one of your bundles (e.g. in
>> mdm-parser-core-1.0.0-SNAPSHOT.jar) or in the subsystem? If so I
>> wonder how that requirement was generated there? The requirement
>> should be fine if you use the JobManager but it should have the
>> 'effective:=active' directive, e.g.
>>
>> Require-Capability: osgi.service;
>> filter:="(objectClass=com.foo.MyService)"; effective:="active"
>>
>> See also 134.16.2.2 of the OSGi Enterprise R6 spec [1].
>>
>> Cheers,
>>
>> David
>>
>> [1] https://www.osgi.org/developer/downloads/release-6/
>>
>> On 12 November 2015 at 23:23, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>> Hey David,
>>>
>>> I’m currently using the Sling launchpad 9-SNAPSHOT, and I can indeed directly install the subsystems felix webconsole, so perfect, thanks!
>>>
>>> But now when I try to iinstall an esa I get following exception. Is there anything extra I should to do get it working in Sling?
>>>
>>> 13.11.2015 00:18:00.060 *ERROR* [Thread-119] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-119,5,main]
>>> org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:356)
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:98)
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90)
>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)
>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:646)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:690)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:278)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:65)
>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>>> at java.lang.Thread.run(Thread.java:745)
>>> Caused by: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
>>> at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
>>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235)
>>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:373)
>>>
>>> It is generated by following plugin and is a feature, so by my knowledge all services/bundles should just be imported/exported. The dependencies are 3 bundles with all the rest of their dependencies already available in the standard Sling 9-SNAPSHOT (if I install the 3 bundles separately through the webconsole, everything works fine so):
>>>
>>> <plugin>
>>> <groupId>org.apache.aries</groupId>
>>> <artifactId>esa-maven-plugin</artifactId>
>>> <version>1.0.0</version>
>>> <extensions>true</extensions>
>>> <configuration>
>>> <generateManifest>true</generateManifest>
>>> <startOrder>dependencies</startOrder>
>>> <instructions>
>>> <Subsystem-Type>osgi.subsystem.feature</Subsystem-Type>
>>> </instructions>
>>> </configuration>
>>> </plugin>
>>>
>>> Thanks alot!
>>> Greets
>>> Roy
>>>
>>>> On 12 Nov 2015, at 13:24, David Bosschaert <da...@gmail.com> wrote:
>>>>
>>>> Hi Roy,
>>>>
>>>> That blog post references old-ish versions of the relevant bundles.
>>>> You might want to take a look at
>>>> http://aries.apache.org/modules/subsystems.html for a newer list of
>>>> bundles required.
>>>>
>>>> Alternatively you can just use the latest Sling launchpad (9-SNAPSHOT,
>>>> which you'd have to build yourself). It has all the deps for
>>>> Subsystems installed. Just install the webconsole plugin on top of
>>>> that and it should work - I just tried it and it works for me :)
>>>>
>>>> Cheers,
>>>>
>>>> David
>>>>
>>>> On 12 November 2015 at 11:58, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>> Hey David,
>>>>>
>>>>> I tried your second approach.
>>>>>
>>>>> I first installed subsystems on felix by following this guide:
>>>>>
>>>>> http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html <http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html>
>>>>>
>>>>> Afterwords I tried to install a subsystem through the webconsole, but the error.log returns following exception:
>>>>>
>>>>> 12.11.2015 12:48:31.624 *ERROR* [Thread-65] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-65,5,main]
>>>>> org.osgi.service.subsystem.SubsystemException: java.net.MalformedURLException: Unknown protocol: inputstream
>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:560)
>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:252)
>>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:58)
>>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>> Caused by: java.net.MalformedURLException: Unknown protocol: inputstream
>>>>> at java.net.URL.<init>(URL.java:620)
>>>>> at java.net.URL.<init>(URL.java:483)
>>>>> at java.net.URL.<init>(URL.java:432)
>>>>> at java.net.URI.toURL(URI.java:1089)
>>>>> at org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:69)
>>>>> at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:113)
>>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
>>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
>>>>> ... 8 common frames omitted
>>>>> Caused by: java.lang.IllegalStateException: Unknown protocol: inputstream
>>>>> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
>>>>> at java.net.URL.<init>(URL.java:615)
>>>>> ... 16 common frames omitted
>>>>>
>>>>>
>>>>> Any idea where it’s going wrong?
>>>>>
>>>>> Greetings
>>>>> Roy
>>>>>
>>>>>> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>>>>>>
>>>>>> Hi Roy,
>>>>>>
>>>>>> You currently have a couple of options in Sling to install subsystems.
>>>>>>
>>>>>> 1. Directly by calling the OSGi Subsystem Service
>>>>>> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
>>>>>> but this requires you to create some code around it.
>>>>>> 2. With the webconsole subsystem plugin
>>>>>> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
>>>>>> this plugin is currently under vote for its first release, but you can
>>>>>> build it yourself from that URL and install it into sling. That plugin
>>>>>> looks like this: http://tinypic.com/r/2z8tbpe/8
>>>>>> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
>>>>>> by putting them in the install directory...
>>>>>>
>>>>>> If you're just experimenting, option 2 is definitely the easiest.
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> David
>>>>>>
>>>>>> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>>>> Hey all,
>>>>>>>
>>>>>>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>>>>>>
>>>>>>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>>>>>>
>>>>>>> Greetings,
>>>>>>> Roy
>>>>>>>
>>>>>>>
>>>>>
>>>
>
Re: Installing ESA Files
Posted by Roy Teeuwen <ro...@teeuwen.be>.
Hey David,
Thanks for the help so far, I seem to have found the problem for this one :).
When looking at the mdm-parser-core’s generated manifest file I found the Require-Capability header, generated by using maven-bundle-plugin 2.5.4. I upgraded to 3.0.1 and that issue was resolved.
But alas, on to the next error :(...
13.11.2015 22:01:23.849 *ERROR* [Thread-95] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-95,5,main]
org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar] because it is exposed to package 'org.osgi.framework' from resources org.apache.felix.framework [org.apache.felix.framework [0](R 0)] and org.apache.felix.framework [org.apache.felix.framework [0](R 0)] via two dependency chains.
Chain 1:
idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
import: (&(osgi.wiring.package=org.osgi.framework)(&(version>=1.5.0)(!(version>=2.0.0))))
|
export: osgi.wiring.package: org.osgi.framework
org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
Chain 2:
idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
import: (&(osgi.wiring.package=org.apache.sling.event.jobs.consumer)(&(version>=1.2.0)(!(version>=2.0.0))))
|
export: osgi.wiring.package=org.apache.sling.event.jobs.consumer; uses:=org.osgi.service.event
org.apache.sling.event [org.apache.sling.event [103](R 103.0)]
import: (&(osgi.wiring.package=org.osgi.service.event)(version>=1.2.0)(!(version>=2.0.0)))
|
export: osgi.wiring.package=org.osgi.service.event; uses:=org.osgi.framework
org.apache.felix.eventadmin [org.apache.felix.eventadmin [9](R 9.0)]
import: (&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)(!(version>=2.0.0)))
|
export: osgi.wiring.package: org.osgi.framework
org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
Any clue in this one ? (again, when installing these two bundles, api and core, without a subsystem but with the newly generated manifest from maven-bundle-plugin 3.0.1, this issue does not arise)
Thanks!
Roy
> On 13 Nov 2015, at 09:29, David Bosschaert <da...@gmail.com> wrote:
>
> Hi Roy,
>
> It's looking for an provider of the osgi.service capability for the
> service org.apache.sling.event.jobs.JobManager.
> Normally those requirements are of type 'effective:=active'... as they
> are a hint to a provisioning system but should not influence
> resolution. This service is provided by Sling, but maybe it does not
> have the capability in its manifest (yet). By having it
> effective:=active the system should still resolve regardless of
> whether the service provider actually declares that capability.
>
> So such a requirement is either in one of your bundles (e.g. in
> mdm-parser-core-1.0.0-SNAPSHOT.jar) or in the subsystem? If so I
> wonder how that requirement was generated there? The requirement
> should be fine if you use the JobManager but it should have the
> 'effective:=active' directive, e.g.
>
> Require-Capability: osgi.service;
> filter:="(objectClass=com.foo.MyService)"; effective:="active"
>
> See also 134.16.2.2 of the OSGi Enterprise R6 spec [1].
>
> Cheers,
>
> David
>
> [1] https://www.osgi.org/developer/downloads/release-6/
>
> On 12 November 2015 at 23:23, Roy Teeuwen <ro...@teeuwen.be> wrote:
>> Hey David,
>>
>> I’m currently using the Sling launchpad 9-SNAPSHOT, and I can indeed directly install the subsystems felix webconsole, so perfect, thanks!
>>
>> But now when I try to iinstall an esa I get following exception. Is there anything extra I should to do get it working in Sling?
>>
>> 13.11.2015 00:18:00.060 *ERROR* [Thread-119] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-119,5,main]
>> org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:356)
>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:98)
>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90)
>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)
>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:646)
>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:690)
>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:278)
>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:65)
>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
>> at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235)
>> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)
>> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:373)
>>
>> It is generated by following plugin and is a feature, so by my knowledge all services/bundles should just be imported/exported. The dependencies are 3 bundles with all the rest of their dependencies already available in the standard Sling 9-SNAPSHOT (if I install the 3 bundles separately through the webconsole, everything works fine so):
>>
>> <plugin>
>> <groupId>org.apache.aries</groupId>
>> <artifactId>esa-maven-plugin</artifactId>
>> <version>1.0.0</version>
>> <extensions>true</extensions>
>> <configuration>
>> <generateManifest>true</generateManifest>
>> <startOrder>dependencies</startOrder>
>> <instructions>
>> <Subsystem-Type>osgi.subsystem.feature</Subsystem-Type>
>> </instructions>
>> </configuration>
>> </plugin>
>>
>> Thanks alot!
>> Greets
>> Roy
>>
>>> On 12 Nov 2015, at 13:24, David Bosschaert <da...@gmail.com> wrote:
>>>
>>> Hi Roy,
>>>
>>> That blog post references old-ish versions of the relevant bundles.
>>> You might want to take a look at
>>> http://aries.apache.org/modules/subsystems.html for a newer list of
>>> bundles required.
>>>
>>> Alternatively you can just use the latest Sling launchpad (9-SNAPSHOT,
>>> which you'd have to build yourself). It has all the deps for
>>> Subsystems installed. Just install the webconsole plugin on top of
>>> that and it should work - I just tried it and it works for me :)
>>>
>>> Cheers,
>>>
>>> David
>>>
>>> On 12 November 2015 at 11:58, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>> Hey David,
>>>>
>>>> I tried your second approach.
>>>>
>>>> I first installed subsystems on felix by following this guide:
>>>>
>>>> http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html <http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html>
>>>>
>>>> Afterwords I tried to install a subsystem through the webconsole, but the error.log returns following exception:
>>>>
>>>> 12.11.2015 12:48:31.624 *ERROR* [Thread-65] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-65,5,main]
>>>> org.osgi.service.subsystem.SubsystemException: java.net.MalformedURLException: Unknown protocol: inputstream
>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:560)
>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:252)
>>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:58)
>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>>>> at java.lang.Thread.run(Thread.java:745)
>>>> Caused by: java.net.MalformedURLException: Unknown protocol: inputstream
>>>> at java.net.URL.<init>(URL.java:620)
>>>> at java.net.URL.<init>(URL.java:483)
>>>> at java.net.URL.<init>(URL.java:432)
>>>> at java.net.URI.toURL(URI.java:1089)
>>>> at org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:69)
>>>> at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:113)
>>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
>>>> at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
>>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
>>>> ... 8 common frames omitted
>>>> Caused by: java.lang.IllegalStateException: Unknown protocol: inputstream
>>>> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
>>>> at java.net.URL.<init>(URL.java:615)
>>>> ... 16 common frames omitted
>>>>
>>>>
>>>> Any idea where it’s going wrong?
>>>>
>>>> Greetings
>>>> Roy
>>>>
>>>>> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>>>>>
>>>>> Hi Roy,
>>>>>
>>>>> You currently have a couple of options in Sling to install subsystems.
>>>>>
>>>>> 1. Directly by calling the OSGi Subsystem Service
>>>>> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
>>>>> but this requires you to create some code around it.
>>>>> 2. With the webconsole subsystem plugin
>>>>> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
>>>>> this plugin is currently under vote for its first release, but you can
>>>>> build it yourself from that URL and install it into sling. That plugin
>>>>> looks like this: http://tinypic.com/r/2z8tbpe/8
>>>>> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
>>>>> by putting them in the install directory...
>>>>>
>>>>> If you're just experimenting, option 2 is definitely the easiest.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> David
>>>>>
>>>>> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>>> Hey all,
>>>>>>
>>>>>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>>>>>
>>>>>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>>>>>
>>>>>> Greetings,
>>>>>> Roy
>>>>>>
>>>>>>
>>>>
>>
Re: Installing ESA Files
Posted by David Bosschaert <da...@gmail.com>.
Hi Roy,
It's looking for an provider of the osgi.service capability for the
service org.apache.sling.event.jobs.JobManager.
Normally those requirements are of type 'effective:=active'... as they
are a hint to a provisioning system but should not influence
resolution. This service is provided by Sling, but maybe it does not
have the capability in its manifest (yet). By having it
effective:=active the system should still resolve regardless of
whether the service provider actually declares that capability.
So such a requirement is either in one of your bundles (e.g. in
mdm-parser-core-1.0.0-SNAPSHOT.jar) or in the subsystem? If so I
wonder how that requirement was generated there? The requirement
should be fine if you use the JobManager but it should have the
'effective:=active' directive, e.g.
Require-Capability: osgi.service;
filter:="(objectClass=com.foo.MyService)"; effective:="active"
See also 134.16.2.2 of the OSGi Enterprise R6 spec [1].
Cheers,
David
[1] https://www.osgi.org/developer/downloads/release-6/
On 12 November 2015 at 23:23, Roy Teeuwen <ro...@teeuwen.be> wrote:
> Hey David,
>
> I’m currently using the Sling launchpad 9-SNAPSHOT, and I can indeed directly install the subsystems felix webconsole, so perfect, thanks!
>
> But now when I try to iinstall an esa I get following exception. Is there anything extra I should to do get it working in Sling?
>
> 13.11.2015 00:18:00.060 *ERROR* [Thread-119] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-119,5,main]
> org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:356)
> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:98)
> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90)
> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)
> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:646)
> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:690)
> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:278)
> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:65)
> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
> at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)
> at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:373)
>
> It is generated by following plugin and is a feature, so by my knowledge all services/bundles should just be imported/exported. The dependencies are 3 bundles with all the rest of their dependencies already available in the standard Sling 9-SNAPSHOT (if I install the 3 bundles separately through the webconsole, everything works fine so):
>
> <plugin>
> <groupId>org.apache.aries</groupId>
> <artifactId>esa-maven-plugin</artifactId>
> <version>1.0.0</version>
> <extensions>true</extensions>
> <configuration>
> <generateManifest>true</generateManifest>
> <startOrder>dependencies</startOrder>
> <instructions>
> <Subsystem-Type>osgi.subsystem.feature</Subsystem-Type>
> </instructions>
> </configuration>
> </plugin>
>
> Thanks alot!
> Greets
> Roy
>
>> On 12 Nov 2015, at 13:24, David Bosschaert <da...@gmail.com> wrote:
>>
>> Hi Roy,
>>
>> That blog post references old-ish versions of the relevant bundles.
>> You might want to take a look at
>> http://aries.apache.org/modules/subsystems.html for a newer list of
>> bundles required.
>>
>> Alternatively you can just use the latest Sling launchpad (9-SNAPSHOT,
>> which you'd have to build yourself). It has all the deps for
>> Subsystems installed. Just install the webconsole plugin on top of
>> that and it should work - I just tried it and it works for me :)
>>
>> Cheers,
>>
>> David
>>
>> On 12 November 2015 at 11:58, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>> Hey David,
>>>
>>> I tried your second approach.
>>>
>>> I first installed subsystems on felix by following this guide:
>>>
>>> http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html <http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html>
>>>
>>> Afterwords I tried to install a subsystem through the webconsole, but the error.log returns following exception:
>>>
>>> 12.11.2015 12:48:31.624 *ERROR* [Thread-65] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-65,5,main]
>>> org.osgi.service.subsystem.SubsystemException: java.net.MalformedURLException: Unknown protocol: inputstream
>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:560)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:252)
>>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:58)
>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>>> at java.lang.Thread.run(Thread.java:745)
>>> Caused by: java.net.MalformedURLException: Unknown protocol: inputstream
>>> at java.net.URL.<init>(URL.java:620)
>>> at java.net.URL.<init>(URL.java:483)
>>> at java.net.URL.<init>(URL.java:432)
>>> at java.net.URI.toURL(URI.java:1089)
>>> at org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:69)
>>> at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:113)
>>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
>>> at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
>>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
>>> ... 8 common frames omitted
>>> Caused by: java.lang.IllegalStateException: Unknown protocol: inputstream
>>> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
>>> at java.net.URL.<init>(URL.java:615)
>>> ... 16 common frames omitted
>>>
>>>
>>> Any idea where it’s going wrong?
>>>
>>> Greetings
>>> Roy
>>>
>>>> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>>>>
>>>> Hi Roy,
>>>>
>>>> You currently have a couple of options in Sling to install subsystems.
>>>>
>>>> 1. Directly by calling the OSGi Subsystem Service
>>>> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
>>>> but this requires you to create some code around it.
>>>> 2. With the webconsole subsystem plugin
>>>> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
>>>> this plugin is currently under vote for its first release, but you can
>>>> build it yourself from that URL and install it into sling. That plugin
>>>> looks like this: http://tinypic.com/r/2z8tbpe/8
>>>> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
>>>> by putting them in the install directory...
>>>>
>>>> If you're just experimenting, option 2 is definitely the easiest.
>>>>
>>>> Cheers,
>>>>
>>>> David
>>>>
>>>> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>>> Hey all,
>>>>>
>>>>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>>>>
>>>>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>>>>
>>>>> Greetings,
>>>>> Roy
>>>>>
>>>>>
>>>
>
Re: Installing ESA Files
Posted by Roy Teeuwen <ro...@teeuwen.be>.
Hey David,
I’m currently using the Sling launchpad 9-SNAPSHOT, and I can indeed directly install the subsystems felix webconsole, so perfect, thanks!
But now when I try to iinstall an esa I get following exception. Is there anything extra I should to do get it working in Sling?
13.11.2015 00:18:00.060 *ERROR* [Thread-119] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-119,5,main]
org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)
at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:356)
at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:98)
at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90)
at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54)
at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:646)
at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:690)
at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:278)
at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:65)
at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar: missing requirement org.apache.aries.subsystem.core.archive.RequireCapabilityRequirement: namespace=osgi.service, attributes={}, directives={filter=(objectClass=org.apache.sling.event.jobs.JobManager), effective=active, resolution=mandatory, cardinality=single}, resource=/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract4257393115279757160.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar
at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:235)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:158)
at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:373)
It is generated by following plugin and is a feature, so by my knowledge all services/bundles should just be imported/exported. The dependencies are 3 bundles with all the rest of their dependencies already available in the standard Sling 9-SNAPSHOT (if I install the 3 bundles separately through the webconsole, everything works fine so):
<plugin>
<groupId>org.apache.aries</groupId>
<artifactId>esa-maven-plugin</artifactId>
<version>1.0.0</version>
<extensions>true</extensions>
<configuration>
<generateManifest>true</generateManifest>
<startOrder>dependencies</startOrder>
<instructions>
<Subsystem-Type>osgi.subsystem.feature</Subsystem-Type>
</instructions>
</configuration>
</plugin>
Thanks alot!
Greets
Roy
> On 12 Nov 2015, at 13:24, David Bosschaert <da...@gmail.com> wrote:
>
> Hi Roy,
>
> That blog post references old-ish versions of the relevant bundles.
> You might want to take a look at
> http://aries.apache.org/modules/subsystems.html for a newer list of
> bundles required.
>
> Alternatively you can just use the latest Sling launchpad (9-SNAPSHOT,
> which you'd have to build yourself). It has all the deps for
> Subsystems installed. Just install the webconsole plugin on top of
> that and it should work - I just tried it and it works for me :)
>
> Cheers,
>
> David
>
> On 12 November 2015 at 11:58, Roy Teeuwen <ro...@teeuwen.be> wrote:
>> Hey David,
>>
>> I tried your second approach.
>>
>> I first installed subsystems on felix by following this guide:
>>
>> http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html <http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html>
>>
>> Afterwords I tried to install a subsystem through the webconsole, but the error.log returns following exception:
>>
>> 12.11.2015 12:48:31.624 *ERROR* [Thread-65] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-65,5,main]
>> org.osgi.service.subsystem.SubsystemException: java.net.MalformedURLException: Unknown protocol: inputstream
>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:560)
>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:252)
>> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:58)
>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
>> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.net.MalformedURLException: Unknown protocol: inputstream
>> at java.net.URL.<init>(URL.java:620)
>> at java.net.URL.<init>(URL.java:483)
>> at java.net.URL.<init>(URL.java:432)
>> at java.net.URI.toURL(URI.java:1089)
>> at org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:69)
>> at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:113)
>> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
>> at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
>> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
>> ... 8 common frames omitted
>> Caused by: java.lang.IllegalStateException: Unknown protocol: inputstream
>> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
>> at java.net.URL.<init>(URL.java:615)
>> ... 16 common frames omitted
>>
>>
>> Any idea where it’s going wrong?
>>
>> Greetings
>> Roy
>>
>>> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>>>
>>> Hi Roy,
>>>
>>> You currently have a couple of options in Sling to install subsystems.
>>>
>>> 1. Directly by calling the OSGi Subsystem Service
>>> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
>>> but this requires you to create some code around it.
>>> 2. With the webconsole subsystem plugin
>>> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
>>> this plugin is currently under vote for its first release, but you can
>>> build it yourself from that URL and install it into sling. That plugin
>>> looks like this: http://tinypic.com/r/2z8tbpe/8
>>> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
>>> by putting them in the install directory...
>>>
>>> If you're just experimenting, option 2 is definitely the easiest.
>>>
>>> Cheers,
>>>
>>> David
>>>
>>> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>>> Hey all,
>>>>
>>>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>>>
>>>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>>>
>>>> Greetings,
>>>> Roy
>>>>
>>>>
>>
Re: Installing ESA Files
Posted by David Bosschaert <da...@gmail.com>.
Hi Roy,
That blog post references old-ish versions of the relevant bundles.
You might want to take a look at
http://aries.apache.org/modules/subsystems.html for a newer list of
bundles required.
Alternatively you can just use the latest Sling launchpad (9-SNAPSHOT,
which you'd have to build yourself). It has all the deps for
Subsystems installed. Just install the webconsole plugin on top of
that and it should work - I just tried it and it works for me :)
Cheers,
David
On 12 November 2015 at 11:58, Roy Teeuwen <ro...@teeuwen.be> wrote:
> Hey David,
>
> I tried your second approach.
>
> I first installed subsystems on felix by following this guide:
>
> http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html <http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html>
>
> Afterwords I tried to install a subsystem through the webconsole, but the error.log returns following exception:
>
> 12.11.2015 12:48:31.624 *ERROR* [Thread-65] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-65,5,main]
> org.osgi.service.subsystem.SubsystemException: java.net.MalformedURLException: Unknown protocol: inputstream
> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
> at java.security.AccessController.doPrivileged(Native Method)
> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:560)
> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:252)
> at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:58)
> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
> at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.net.MalformedURLException: Unknown protocol: inputstream
> at java.net.URL.<init>(URL.java:620)
> at java.net.URL.<init>(URL.java:483)
> at java.net.URL.<init>(URL.java:432)
> at java.net.URI.toURL(URI.java:1089)
> at org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:69)
> at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:113)
> at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
> at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
> at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
> ... 8 common frames omitted
> Caused by: java.lang.IllegalStateException: Unknown protocol: inputstream
> at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
> at java.net.URL.<init>(URL.java:615)
> ... 16 common frames omitted
>
>
> Any idea where it’s going wrong?
>
> Greetings
> Roy
>
>> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>>
>> Hi Roy,
>>
>> You currently have a couple of options in Sling to install subsystems.
>>
>> 1. Directly by calling the OSGi Subsystem Service
>> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
>> but this requires you to create some code around it.
>> 2. With the webconsole subsystem plugin
>> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
>> this plugin is currently under vote for its first release, but you can
>> build it yourself from that URL and install it into sling. That plugin
>> looks like this: http://tinypic.com/r/2z8tbpe/8
>> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
>> by putting them in the install directory...
>>
>> If you're just experimenting, option 2 is definitely the easiest.
>>
>> Cheers,
>>
>> David
>>
>> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>>> Hey all,
>>>
>>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>>
>>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>>
>>> Greetings,
>>> Roy
>>>
>>>
>
Re: Installing ESA Files
Posted by Roy Teeuwen <ro...@teeuwen.be>.
Hey David,
I tried your second approach.
I first installed subsystems on felix by following this guide:
http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html <http://coderthoughts.blogspot.be/2014/01/osgi-subsytems-on-apache-felix.html>
Afterwords I tried to install a subsystem through the webconsole, but the error.log returns following exception:
12.11.2015 12:48:31.624 *ERROR* [Thread-65] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-65,5,main]
org.osgi.service.subsystem.SubsystemException: java.net.MalformedURLException: Unknown protocol: inputstream
at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:101)
at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:31)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:560)
at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:252)
at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:58)
at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$1.exec(WebConsolePlugin.java:191)
at org.apache.felix.webconsole.plugins.subsystem.internal.WebConsolePlugin$5.run(WebConsolePlugin.java:267)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.MalformedURLException: Unknown protocol: inputstream
at java.net.URL.<init>(URL.java:620)
at java.net.URL.<init>(URL.java:483)
at java.net.URL.<init>(URL.java:432)
at java.net.URI.toURL(URI.java:1089)
at org.apache.aries.subsystem.core.internal.Location.<init>(Location.java:69)
at org.apache.aries.subsystem.core.internal.RawSubsystemResource.<init>(RawSubsystemResource.java:113)
at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:92)
at org.apache.aries.subsystem.core.internal.InstallAction.createSubsystemResource(InstallAction.java:128)
at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:62)
... 8 common frames omitted
Caused by: java.lang.IllegalStateException: Unknown protocol: inputstream
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
at java.net.URL.<init>(URL.java:615)
... 16 common frames omitted
Any idea where it’s going wrong?
Greetings
Roy
> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>
> Hi Roy,
>
> You currently have a couple of options in Sling to install subsystems.
>
> 1. Directly by calling the OSGi Subsystem Service
> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
> but this requires you to create some code around it.
> 2. With the webconsole subsystem plugin
> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
> this plugin is currently under vote for its first release, but you can
> build it yourself from that URL and install it into sling. That plugin
> looks like this: http://tinypic.com/r/2z8tbpe/8
> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
> by putting them in the install directory...
>
> If you're just experimenting, option 2 is definitely the easiest.
>
> Cheers,
>
> David
>
> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>> Hey all,
>>
>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>
>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>
>> Greetings,
>> Roy
>>
>>
Re: Installing ESA Files
Posted by Roy Teeuwen <ro...@teeuwen.be>.
Hey David,
Hehe sorry, of course, I meant the sling-maven-plugin ;). Was mixing it up a bit.
It would be great if the sling maven plugin could also install esa files
Greetings,
Roy
> On 12 Nov 2015, at 13:56, David Bosschaert <da...@gmail.com> wrote:
>
> Hi Roy,
>
> On 12 November 2015 at 10:17, Roy Teeuwen <ro...@teeuwen.be> wrote:
>> Is there any willingness to also make the maven-bundle-plugin install esa files? This would surely be a lot handier when integrating the esa files into a CI system.
>
> I'm not sure whether the maven-bundle-plugin is the best option for
> installing subsystems as it really depends on what your target
> environment is how you want to install them. However maybe the
> sling-maven-plugin might be useful here. It has a sling:install goal
> which can be used to install bundles. It currently doesn't accept
> subsystems (yet) but it should be easy to add I think...
>
> Just a thought...
>
> David
>
> [1] http://sling.apache.org/site/sling.html
Re: Installing ESA Files
Posted by David Bosschaert <da...@gmail.com>.
Hi Roy,
On 12 November 2015 at 10:17, Roy Teeuwen <ro...@teeuwen.be> wrote:
> Is there any willingness to also make the maven-bundle-plugin install esa files? This would surely be a lot handier when integrating the esa files into a CI system.
I'm not sure whether the maven-bundle-plugin is the best option for
installing subsystems as it really depends on what your target
environment is how you want to install them. However maybe the
sling-maven-plugin might be useful here. It has a sling:install goal
which can be used to install bundles. It currently doesn't accept
subsystems (yet) but it should be easy to add I think...
Just a thought...
David
[1] http://sling.apache.org/site/sling.html
Re: Installing ESA Files
Posted by Roy Teeuwen <ro...@teeuwen.be>.
Hey David,
Ok very cool, thanks for the info!
Is there any willingness to also make the maven-bundle-plugin install esa files? This would surely be a lot handier when integrating the esa files into a CI system.
Greetings,
Roy
> On 12 Nov 2015, at 11:11, David Bosschaert <da...@gmail.com> wrote:
>
> Hi Roy,
>
> You currently have a couple of options in Sling to install subsystems.
>
> 1. Directly by calling the OSGi Subsystem Service
> https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
> but this requires you to create some code around it.
> 2. With the webconsole subsystem plugin
> https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
> this plugin is currently under vote for its first release, but you can
> build it yourself from that URL and install it into sling. That plugin
> looks like this: http://tinypic.com/r/2z8tbpe/8
> 3. You can also feed .esa files to the OSGi Installer in sling, e.g.
> by putting them in the install directory...
>
> If you're just experimenting, option 2 is definitely the easiest.
>
> Cheers,
>
> David
>
> On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
>> Hey all,
>>
>> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>>
>> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>>
>> Greetings,
>> Roy
>>
>>
Re: Installing ESA Files
Posted by David Bosschaert <da...@gmail.com>.
Hi Roy,
You currently have a couple of options in Sling to install subsystems.
1. Directly by calling the OSGi Subsystem Service
https://osgi.org/javadoc/r6/enterprise/org/osgi/service/subsystem/Subsystem.html
but this requires you to create some code around it.
2. With the webconsole subsystem plugin
https://svn.apache.org/repos/asf/felix/trunk/webconsole-plugins/subsystems
this plugin is currently under vote for its first release, but you can
build it yourself from that URL and install it into sling. That plugin
looks like this: http://tinypic.com/r/2z8tbpe/8
3. You can also feed .esa files to the OSGi Installer in sling, e.g.
by putting them in the install directory...
If you're just experimenting, option 2 is definitely the easiest.
Cheers,
David
On 12 November 2015 at 09:31, Roy Teeuwen <ro...@teeuwen.be> wrote:
> Hey all,
>
> I have fetched the sling launchpad 8 from maven central and I made a subsystem with the esa maven plugin from apache aries. Now when I want to install it, I get a popup with the error “You cannot select a .esa file. Try again…"
>
> Is this not the way to install OSGi subsystems? And would it be possible to install this esa with the maven-bundle plugin?
>
> Greetings,
> Roy
>
>