[ 
https://issues.apache.org/jira/browse/KARAF-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

fei long updated KARAF-7966:
----------------------------
    Description: 
  When I start Apache Karaf with a feature that loads a web WAR bundle, the 
prerequisite flag has been stetted as described in 
KARAF-3361(https://issues.apache.org/jira/browse/KARAF-3361?jql=project%20%3D%20KARAF%20AND%20text%20~%20war)
 :

<feature name="viewer" version="2.0.0">
    <feature prerequisite="true">war</feature>
    <bundle 
start-level="87">webbundle:mvn:com.test/viewer-war/2.0.0/war?Web-ContextPath=/app/viewer</bundle>
</feature>

But the following error occasionally occurs (not always):

[

Caused by: java.io.IOException: Could not download 
[webbundle:file:/C:/Program%20Files/xxxx/karaf/system/viewer-war/2.0.0/viewer-war-2.0.0.war?Web-ContextPath=/app/viewer&]
at 
org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:92)
 ~[?:?]
at 
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
 ~[?:?]
... 6 more
Caused by: java.net.MalformedURLException: Unknown protocol: webbundle
at java.net.URL.<init>(Unknown Source) ~[?:?]
at java.net.URL.<init>(Unknown Source) ~[?:?]
at java.net.URL.<init>(Unknown Source) ~[?:?]
at 
org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:63)
 ~[?:?]
at 
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
 ~[?:?]
... 6 more
Caused by: java.lang.IllegalStateException: Unknown protocol: webbundle
at 
org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
 ~[?:?]
at java.net.URL.<init>(Unknown Source) ~[?:?]
at java.net.URL.<init>(Unknown Source) ~[?:?]
at java.net.URL.<init>(Unknown Source) ~[?:?]
at 
org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:63)
 ~[?:?]
at 
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
 ~[?:?]
... 6 more
]

Changing the value of [featuresBootAsynchronous] in the 
org.apache.karaf.features.cfg configuration file into [true] could solve the 
[Unknown protocol: webbundle] error. 
However, the change brings a new issue: A feature may be loaded twice during 
Karaf starts, which can cause the start of Karaf service to fail.

One noticeable symptom of this issue is identical log messages appear twice 
during startup:
[
2025-04-11 02:34:21.720+0900,INFO,,<<<SVF02>>>,,,,"Adding features: 
aries-blueprint/[4.4.3,4.4.3],feature/[4.4.3,4.4.3],framework/[4.4.3,4.4.3],jaas/[4.4.3,4.4.3],wrap/[2.6.12,2.6.12]",
2025-04-11 02:34:21.721+0900,INFO,,<<<SVF02>>>,,,,"Adding features: 
aries-blueprint/[4.4.3,4.4.3],feature/[4.4.3,4.4.3],framework/[4.4.3,4.4.3],jaas/[4.4.3,4.4.3],wrap/[2.6.12,2.6.12]",
]

Why could a feature be loaded twice, when I set featuresBootAsynchronous to 
true?

How can I reliably resolve the [Unknown protocol: webbundle] error when loading 
a feature with a web WAR bundle, without enabling featuresBootAsynchronous?

  was:
  When I start Apache Karaf with a feature that loads a web WAR bundle, the 
prerequisite flag has been stetted as described in 
KARAF-3361(https://issues.apache.org/jira/browse/KARAF-3361?jql=project%20%3D%20KARAF%20AND%20text%20~%20war)
 :

<feature name="viewer" version="2.0.0">
    <feature prerequisite="true">war</feature>
    <bundle 
start-level="87">webbundle:mvn:com.test/viewer-war/2.0.0/war?Web-ContextPath=/app/viewer</bundle>
</feature>

But the following error occasionally occurs (not always):

[

Caused by: java.io.IOException: Could not download 
[webbundle:file:/C:/Program%20Files/xxxx/karaf/system/viewer-war/2.0.0/viewer-war-2.0.0.war?Web-ContextPath=/app/viewer&]
at 
org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:92)
 ~[?:?]
at 
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
 ~[?:?]
... 6 more
Caused by: java.net.MalformedURLException: Unknown protocol: webbundle
at java.net.URL.<init>(Unknown Source) ~[?:?]
at java.net.URL.<init>(Unknown Source) ~[?:?]
at java.net.URL.<init>(Unknown Source) ~[?:?]
at 
org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:63)
 ~[?:?]
at 
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
 ~[?:?]
... 6 more
Caused by: java.lang.IllegalStateException: Unknown protocol: webbundle
at 
org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
 ~[?:?]
at java.net.URL.<init>(Unknown Source) ~[?:?]
at java.net.URL.<init>(Unknown Source) ~[?:?]
at java.net.URL.<init>(Unknown Source) ~[?:?]
at 
org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:63)
 ~[?:?]
at 
org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
 ~[?:?]
... 6 more
]

Changing the value of [featuresBootAsynchronous] in the 
org.apache.karaf.features.cfg configuration file into [true] could solve the 
[Unknown protocol: webbundle] error. 
However, the change brings a new issue: A feature may be loaded twice during 
Karaf starts, which can cause the start of Karaf service to fail.

One noticeable symptom of this issue is identical log messages appear twice 
during startup:
[
2025-04-11 02:34:21.720+0900,INFO,,<<<SVF02>>>,,,,"Adding features: 
aries-blueprint/[4.4.3,4.4.3],feature/[4.4.3,4.4.3],framework/[4.4.3,4.4.3],jaas/[4.4.3,4.4.3],wrap/[2.6.12,2.6.12]",
2025-04-11 02:34:21.721+0900,INFO,,<<<SVF02>>>,,,,"Adding features: 
aries-blueprint/[4.4.3,4.4.3],feature/[4.4.3,4.4.3],framework/[4.4.3,4.4.3],jaas/[4.4.3,4.4.3],wrap/[2.6.12,2.6.12]",
]

Due to these duplicate feature activations, leaving featuresBootAsynchronous 
set to true is not a viable option.

How can I reliably resolve the [Unknown protocol: webbundle] error when loading 
a feature with a web WAR bundle, without enabling featuresBootAsynchronous?


>  Start Apache Karaf with a feature that can not loads a web WAR bundle
> ----------------------------------------------------------------------
>
>                 Key: KARAF-7966
>                 URL: https://issues.apache.org/jira/browse/KARAF-7966
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf
>    Affects Versions: 4.4.3
>            Reporter: fei long
>            Priority: Major
>
>   When I start Apache Karaf with a feature that loads a web WAR bundle, the 
> prerequisite flag has been stetted as described in 
> KARAF-3361(https://issues.apache.org/jira/browse/KARAF-3361?jql=project%20%3D%20KARAF%20AND%20text%20~%20war)
>  :
> <feature name="viewer" version="2.0.0">
>     <feature prerequisite="true">war</feature>
>     <bundle 
> start-level="87">webbundle:mvn:com.test/viewer-war/2.0.0/war?Web-ContextPath=/app/viewer</bundle>
> </feature>
> But the following error occasionally occurs (not always):
> [
> Caused by: java.io.IOException: Could not download 
> [webbundle:file:/C:/Program%20Files/xxxx/karaf/system/viewer-war/2.0.0/viewer-war-2.0.0.war?Web-ContextPath=/app/viewer&]
> at 
> org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:92)
>  ~[?:?]
> at 
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
>  ~[?:?]
> ... 6 more
> Caused by: java.net.MalformedURLException: Unknown protocol: webbundle
> at java.net.URL.<init>(Unknown Source) ~[?:?]
> at java.net.URL.<init>(Unknown Source) ~[?:?]
> at java.net.URL.<init>(Unknown Source) ~[?:?]
> at 
> org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:63)
>  ~[?:?]
> at 
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
>  ~[?:?]
> ... 6 more
> Caused by: java.lang.IllegalStateException: Unknown protocol: webbundle
> at 
> org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
>  ~[?:?]
> at java.net.URL.<init>(Unknown Source) ~[?:?]
> at java.net.URL.<init>(Unknown Source) ~[?:?]
> at java.net.URL.<init>(Unknown Source) ~[?:?]
> at 
> org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:63)
>  ~[?:?]
> at 
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
>  ~[?:?]
> ... 6 more
> ]
> Changing the value of [featuresBootAsynchronous] in the 
> org.apache.karaf.features.cfg configuration file into [true] could solve the 
> [Unknown protocol: webbundle] error. 
> However, the change brings a new issue: A feature may be loaded twice during 
> Karaf starts, which can cause the start of Karaf service to fail.
> One noticeable symptom of this issue is identical log messages appear twice 
> during startup:
> [
> 2025-04-11 02:34:21.720+0900,INFO,,<<<SVF02>>>,,,,"Adding features: 
> aries-blueprint/[4.4.3,4.4.3],feature/[4.4.3,4.4.3],framework/[4.4.3,4.4.3],jaas/[4.4.3,4.4.3],wrap/[2.6.12,2.6.12]",
> 2025-04-11 02:34:21.721+0900,INFO,,<<<SVF02>>>,,,,"Adding features: 
> aries-blueprint/[4.4.3,4.4.3],feature/[4.4.3,4.4.3],framework/[4.4.3,4.4.3],jaas/[4.4.3,4.4.3],wrap/[2.6.12,2.6.12]",
> ]
> Why could a feature be loaded twice, when I set featuresBootAsynchronous to 
> true?
> How can I reliably resolve the [Unknown protocol: webbundle] error when 
> loading a feature with a web WAR bundle, without enabling 
> featuresBootAsynchronous?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to