Dear, We are trying to get to a point where bundles installed through Aries subsystems can be updated at runtime. The new artifacts for the bundles are supposed to be retrieved from our maven repositories.
Our current setup is capable of two things: - Installing bundle jars present as content in ESA archives - Installing bundles retrieved from our maven repositories based on the subsystem content of an ESA not containing bundle jars. When trying to update a bundle (regardless whether it was a packaged jar or an artifact retrieved from our maven repositories), we run into issues when resolving the URI. Specifically we get the following exception: java.net.MalformedURLException: Unknown protocol: subsystem at java.net.URL.<init>(URL.java:620) at org.apache.felix.framework.util.SecureAction.createURL(SecureAction.java:255) ... at org.apache.felix.gogo.command.Basic.update(Basic.java:849) ... Caused by: java.lang.IllegalStateException: Unknown protocol: subsystem at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373) at java.net.URL.<init>(URL.java:615) ... 40 more When debugging this execution, we looked at the bundle (BundleImpl) used by Felix and we saw that originalLocation of the BundleArchive is referencing the subsystem: "subsystem://?Subsystem-SymbolicName=com.myGroupId.my-subsystem-subsystem&Subsystem-Version=1.0.0.SNAPSHOT!/[email protected] " This location explains the unknown protocol when parsing the URI. Is it possible to influence this originalLocation in Aries? Can you give us a pointer to where this originalLocation of the installed bundle is set? Thanks! Wouter
