[
https://issues.apache.org/jira/browse/FELIX-5206?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pierre De Rop updated FELIX-5206:
---------------------------------
Attachment: FELIX-5206.VFS
As discussed with Karl, I'm attaching a new patch (FELIX-5206.VFS) which is now
using the JBoss VFS api (if available) when loading bundles represented by
"vfs" URLs:
Added VFSRevision.java, which allows to transparently load bundles regardless
of the form in which the bundles are deployed (jar, ear, or unpackaged in the
jboss deployment directory).
And If a vfs protocol is detected but the VFS API is not there, then we use by
default the URLRevision. In this case, we assume that the bundle can be loaded
from the root of the bundle URL.
Also patched the URLRevision.getEntries() method which is using the URL
connection when accessing to the URL content.
Karl, are you OK with this ?
> Can't load bundle entries when embedding FelixConnect in JBoss
> --------------------------------------------------------------
>
> Key: FELIX-5206
> URL: https://issues.apache.org/jira/browse/FELIX-5206
> Project: Felix
> Issue Type: Bug
> Components: Connect
> Affects Versions: connect-0.1.0
> Reporter: Pierre De Rop
> Attachments: FELIX-5206-wrap-vfszipurl-to-jarfileurl.patch,
> FELIX-5206.VFS, FELIX-5206.patch
>
>
> I'm using Apache Connect embedded in JBoss EAP 5.2.
> I came across the following issue: When I launch Apache Connect under jboss,
> the ClasspathScanner loads bundles from a jboss classloader that I pass to
> the scanForBundles method. The problem is that jboss
> ClassLoader.getResources(...) method returns a list of URL with a special
> jboss "vfszip" URL, like:
> vfszip:/opt/SPS_2_0_I16/jboss/common/lib/DNSClient-1.2759.01.jar/
> Now, when declarative service (1.8.2) is started, it can't load the xml
> descriptors, because when it invokes the Bundle.findEntries(...) method, this
> one returns null, because the call to this method ends up calling the
> org.apache.felix.connect.URLRevision.getEntries() method, which is not
> implemented:
> {code}
> @Override
> public Enumeration<String> getEntries()
> {
> return Collections.enumeration(Collections.EMPTY_LIST);
> }
> {code}
> I have attached a simple patch to this issue which resolves the problem.
> Anyone could review it and let me know if I can commit it ?
> thanks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)