David Lloyd created JBEE-185:
--------------------------------
Summary: Wrong class loading strategy used in jboss-jaxrs-api_spec
Key: JBEE-185
URL:
https://issues.jboss.org/browse/JBEE-185
Project: JBoss JavaEE Spec APIs
Issue Type: Bug
Components: jboss-jaxrs-api
Reporter: David Lloyd
Assignee: Scott Marlow
The commit here:
https://github.com/jboss/jboss-jaxrs-api_spec/commit/b578e70dd99a427758df...
...contains a wrong strategy for locating an API's implementation module. The
strategy used is to use reflection to try and find a fixed module name from a module
repository, but this is brittle and unnecessary.
The correct strategy is to use your own class loader, like this:
{code:java}
// allowed with secmgr check because caller is the class in question
ClassLoader myClassLoader = MyClass.class.getClassLoader();
try (InputStream is = myClassLoader.getResourceAsStream(serviceId)) {
// ...
} catch (IOException ex) {
// ...
}
{code}
In the WildFly code, the JAX-RS API module should depend on the implementation module
(probably with {{services="import"}}).
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)