Börcsök József created ARIES-2054:
-------------------------------------
Summary: @JaxrsApplicationSelect is ignored
Key: ARIES-2054
URL: https://issues.apache.org/jira/browse/ARIES-2054
Project: Aries
Issue Type: Bug
Components: jax-rs-whiteboard
Affects Versions: jax-rs-whiteboard-2.0.0
Environment: OSGi container: Apache Karaf 4.3.2; startup features:
minimal + eventadmin + wrap; boot features: scr, test-jaxrs (below).
Feature definition:
{code:xml}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features name="test-features-${project.version}"
xmlns="http://karaf.apache.org/xmlns/features/v1.6.0">
<repository>mvn:org.apache.cxf.karaf/apache-cxf/3.4.4/xml/features</repository>
<feature name="test-jaxrs" version="${project.version}" install="false">
<!--feature>pax-web-http-whiteboard</feature-->
<feature>felix-http</feature>
<feature>aries-jax-rs-whiteboard</feature>
<feature>aries-jax-rs-whiteboard-jackson</feature>
<bundle
dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/2.9.0</bundle>
<bundle
dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/2.9.0</bundle>
</feature>
<feature name="dynamo-jackson" version="2.12.3" install="false">
<bundle>mvn:com.fasterxml.jackson.core/jackson-core/2.12.3</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-annotations/2.12.3</bundle>
<bundle>mvn:com.fasterxml.jackson.core/jackson-databind/2.12.3</bundle>
<bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-base/2.12.3</bundle>
<bundle>mvn:com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/2.12.3</bundle>
<bundle>mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/2.12.3</bundle>
<bundle>mvn:com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.12.3</bundle>
</feature>
<feature name="aries-jax-rs-whiteboard" version="2.0.0" install="false">
<feature dependency="true">felix-http</feature>
<feature dependency="true">aries-proxy</feature>
<feature dependency="true">cxf-core</feature>
<bundle
dependency="true">mvn:org.apache.aries.spec/org.apache.aries.javax.jax.rs-api/1.0.4</bundle>
<bundle
dependency="true">mvn:org.osgi/org.osgi.util.function/1.1.0</bundle>
<bundle
dependency="true">mvn:org.osgi/org.osgi.util.promise/1.1.1</bundle>
<bundle
dependency="true">mvn:org.osgi/org.osgi.service.jaxrs/1.0.0</bundle>
<bundle
dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.annotation-api-1.3/1.3_3</bundle>
<bundle
dependency="true">mvn:org.apache.aries.component-dsl/org.apache.aries.component-dsl.component-dsl/1.2.2</bundle>
<bundle
dependency="true">mvn:javax.activation/javax.activation-api/1.2.0</bundle>
<bundle
dependency="true">mvn:com.sun.activation/javax.activation/1.2.0</bundle>
<bundle
dependency="true">mvn:org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle/1.3.3</bundle>
<bundle
dependency="true">mvn:org.apache.aries/org.apache.aries.util/1.1.3</bundle>
<bundle dependency="true">mvn:org.ow2.asm/asm-all/5.0.4</bundle>
<bundle
dependency="true">mvn:com.fasterxml.woodstox/woodstox-core/6.2.6</bundle>
<bundle
dependency="true">mvn:org.codehaus.woodstox/stax2-api/4.2.1</bundle>
<bundle
dependency="true">mvn:org.apache.cxf/cxf-rt-frontend-jaxrs/3.4.4</bundle>
<bundle
dependency="true">mvn:org.apache.cxf/cxf-rt-rs-client/3.4.4</bundle>
<bundle
dependency="true">mvn:org.apache.cxf/cxf-rt-rs-sse/3.4.4</bundle>
<bundle
dependency="true">mvn:org.apache.cxf/cxf-rt-security/3.4.4</bundle>
<bundle
dependency="true">mvn:org.apache.cxf/cxf-rt-transports-http/3.4.4</bundle>
<bundle>mvn:org.apache.aries.jax.rs/org.apache.aries.jax.rs.whiteboard/2.0.0</bundle>
</feature>
<feature name="aries-jax-rs-whiteboard-jackson" version="2.0.0"
install="false">
<feature dependency="true">aries-jax-rs-whiteboard</feature>
<feature dependency="true">dynamo-jackson</feature>
<bundle dependency="true">mvn:javax.xml.bind/jaxb-api/2.3.1</bundle>
<bundle dependency="true">mvn:com.sun.xml.bind/jaxb-impl/2.3.4</bundle>
<bundle>mvn:org.apache.aries.jax.rs/org.apache.aries.jax.rs.jackson/2.0.0</bundle>
</feature>
</features>
{code}
Reporter: Börcsök József
JaxrsApplicationSelect annotation (or equivalent
{{osgi.jaxrs.application.select}} property) is ignored by JAX-RS Whiteboard
2.x. The same code works fine with versions 1.0.x and 1.1.0.
Sample:
{code:java}
@Component(service = TestResource.class, scope = ServiceScope.PROTOTYPE)
@Path("test")
@JaxrsResource
@JaxrsApplicationSelect("(" + JaxrsWhiteboardConstants.JAX_RS_NAME + "=" +
MyApplication.NAME + ")")
public class TestResource {
//...
}
@Component(service = Application.class)
@JaxrsName(MyApplication.NAME)
@JaxrsApplicationBase("/my")
public class MyApplication extends Application {
public static final String NAME = "my-app";
}
@Component(service = Application.class)
@JaxrsName(OtherApplication.NAME)
@JaxrsApplicationBase("/other")
public class OtherApplication extends Application {
public static final String NAME = "other-app";
}{code}
TestResource is exposed by all applications including default one
({{/my/test}}, {{/other/test}}, {{/cxf/test}}).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)