[
https://issues.jboss.org/browse/JBOSGI-507?page=com.atlassian.jira.plugin...
]
Martin Ždila commented on JBOSGI-507:
-------------------------------------
Hello
I was wrong in my first description. NPE is thrown when the resource doesn't exist.
URL.openConnection() must throw IOException instead. The source code of the atached
testcase is:
{code:java}
package com.mwaysolutions.gofer2.sandbox2;
import java.net.URL;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class SandboxActivator implements BundleActivator {
@Override
public void start(final BundleContext context) throws Exception {
final Bundle bundle = context.getBundle();
final URL baseUrl = bundle.getEntry("com/mwaysolutions/gofer2/sandbox2/");
final URL url = baseUrl.toURI().resolve("not-existing-resource").toURL();
url.openConnection();
}
@Override
public void stop(final BundleContext context) throws Exception {
}
}
{code}
{noformat}
15:15:02,483 ERROR [org.jboss.as.osgi] (MSC service thread 1-2) JBAS011912: Cannot start
bundle: gofer-sandbox2:1.0.0: org.osgi.framework.BundleException: Cannot start bundle:
gofer-sandbox2:1.0.0
at
org.jboss.osgi.framework.internal.HostBundleState.transitionToActive(HostBundleState.java:328)
[jbosgi-framework-core-1.1.0.jar:1.1.0]
at
org.jboss.osgi.framework.internal.HostBundleState.startInternal(HostBundleState.java:223)
[jbosgi-framework-core-1.1.0.jar:1.1.0]
at
org.jboss.osgi.framework.internal.AbstractBundleState.start(AbstractBundleState.java:494)
[jbosgi-framework-core-1.1.0.jar:1.1.0]
at
org.jboss.as.osgi.deployment.BundleStartTracker$1.processService(BundleStartTracker.java:144)
[jboss-as-osgi-service-7.1.0.CR1b.jar:7.1.0.CR1b]
at
org.jboss.as.osgi.deployment.BundleStartTracker$1.transition(BundleStartTracker.java:119)
[jboss-as-osgi-service-7.1.0.CR1b.jar:7.1.0.CR1b]
at
org.jboss.msc.service.ServiceControllerImpl.invokeListener(ServiceControllerImpl.java:1429)
[jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at org.jboss.msc.service.ServiceControllerImpl.access$2600(ServiceControllerImpl.java:49)
[jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at
org.jboss.msc.service.ServiceControllerImpl$ListenerTask.run(ServiceControllerImpl.java:1952)
[jboss-msc-1.0.1.GA.jar:1.0.1.GA]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[:1.6.0_26]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[:1.6.0_26]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_26]
Caused by: java.lang.NullPointerException
at
org.jboss.osgi.framework.internal.BundleProtocolHandler.openConnection(BundleProtocolHandler.java:52)
[jbosgi-framework-core-1.1.0.jar:1.1.0]
at
org.jboss.osgi.framework.internal.URLHandlerPlugin$URLStreamHandlerProxy.openConnection(URLHandlerPlugin.java:309)
[jbosgi-framework-core-1.1.0.jar:1.1.0]
at java.net.URL.openConnection(URL.java:945) [:1.6.0_26]
at com.mwaysolutions.gofer2.sandbox2.SandboxActivator.start(SandboxActivator.java:16)
at
org.jboss.osgi.framework.internal.HostBundleState.transitionToActive(HostBundleState.java:300)
[jbosgi-framework-core-1.1.0.jar:1.1.0]
... 10 more
{noformat}
NPE in URL.openConnection() for bundle:// protocol
--------------------------------------------------
Key: JBOSGI-507
URL:
https://issues.jboss.org/browse/JBOSGI-507
Project: JBoss OSGi
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Core Framework
Reporter: Martin Ždila
Assignee: Thomas Diesler
Priority: Critical
Attachments: gofer-sandbox2.jar
Version: jboss-as-7.1.0.CR1b
I am getting NullPointerException when calling new
URL("bundle://my.bundle-60-0-0/some/path/resource.xml").openConnection();
The URL is actually resolved as bundle.getEntry("some/path/resource.xml") and
the resource exists. The testcase works in Apache Felix.
Stacktrace:
15:49:09,983 WARN [org.eclipse.jetty.util.log] (qtp767222020-128)
/some/path/resource.xml: java.lang.NullPointerException
at
org.jboss.osgi.framework.internal.BundleProtocolHandler.openConnection(BundleProtocolHandler.java:52)
at
org.jboss.osgi.framework.internal.URLHandlerPlugin$URLStreamHandlerProxy.openConnection(URLHandlerPlugin.java:309)
at java.net.URL.openConnection(URL.java:945) [:1.6.0_26]
...
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira