You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by "Svatopluk Dedic (Jira)" <ji...@apache.org> on 2021/03/25 14:41:00 UTC
[jira] [Created] (NETBEANS-5499) Platform apps cannot connect using
HTTP protocol on JDK16
Svatopluk Dedic created NETBEANS-5499:
-----------------------------------------
Summary: Platform apps cannot connect using HTTP protocol on JDK16
Key: NETBEANS-5499
URL: https://issues.apache.org/jira/browse/NETBEANS-5499
Project: NetBeans
Issue Type: Bug
Components: core
Affects Versions: 12.3
Reporter: Svatopluk Dedic
I've found out that my platfom application does not work at all with HTTP protocol when run on JDK 16. The error thrown is:
{code:java}
INFO [org.netbeans.modules.autoupdate.updateproviders.AutoupdateCatalogFactory]: Unknown protocol: http
java.lang.IllegalStateException: Unknown protocol: http
at org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandlersStreamHandlerProxy.java:373)
at java.base/java.net.URL.<init>(URL.java:701)
Caused: java.net.MalformedURLException: Unknown protocol: http
at java.base/java.net.URL.<init>(URL.java:706)
at java.base/java.net.URL.<init>(URL.java:568)
at java.base/java.net.URL.<init>(URL.java:515)
[catch] at org.netbeans.modules.autoupdate.updateprovider.AutoupdateCatalogFactory.createUpdateProvider(AutoupdateCatalogFactory.java:98)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.netbeans.core.startup.layers.BinaryFS$AttrImpl$MethodAndParams.invoke(BinaryFS.java:730)
at org.netbeans.core.startup.layers.BinaryFS$AttrImpl.getValue(BinaryFS.java:660)
at org.netbeans.core.startup.layers.BinaryFS$BFSBase.getAttribute(BinaryFS.java:506)
{code}
No URL with http(s): protocol can be even *parsed*.
I managed to isolate the issue - it is caused by *Apache Felix* library included in NB platform that provides {{org.osgi.framework.launch.FrameworkFactory}} token.
The bug *does not occur* in NetBeans IDE, which has a direct dependency (Needs: declaration) on *org.netbeans.netbinox* module from its *ide.kit* module. In NetBeans, Netbinox loads and installs its URLStreamHandlerFactory ({{org.eclipse.osgi.framework.internal.protocol.StreamHandlerFactory}})
In a platform app that does not load (need) Netbinox, the Felix library installs its own URLStreamHandleFactory ( {{org.apache.felix.framework.URLHandlers}}), that creates *proxies*. So USHF for http *is* actually created, but it afterwards throws {{MalformedURLException}} on any http: url spec.
The bug does not occur on earlier JDKs.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists