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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 
>>> 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 <[email protected]> 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
>>>> 
>>>> 
>> 

Reply via email to