[
https://issues.apache.org/jira/browse/CXF-8088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17008594#comment-17008594
]
Xilai Dai commented on CXF-8088:
--------------------------------
Hi [~ffang],
The changes seems introduce a regression in case of operate the
JAXRSServerFactoryBean dynamically using blueprint configuration.
In blueprint.xml:
{code}
<jaxrs:server id="ARestService" address="/sam" >
<jaxrs:serviceBeans>
<ref component-id="restService" />
</jaxrs:serviceBeans>
<jaxrs:providers>
<bean class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
<property name="ignoreNamespaces" value="true" />
<property name="dropRootElement" value="true" />
</bean>
</jaxrs:providers>
</jaxrs:server>
<bean id="securityProvider"
class="org.abc.security.ServiceSecurityProvider" init-method="init">
<property name="serviceEndpoint" ref="ARestService" />
</bean>
{code}
Adding some providers to the jaxrs:server dynamically in Java class:
{code}
public class ServiceSecurityProvider {
private JAXRSServerFactoryBean serviceEndpoint;
public void setServiceEndpoint(JAXRSServerFactoryBean serviceEndpoint) {
this.serviceEndpoint = serviceEndpoint;
}
public void init() {
Server oldServer = serviceEndpoint.getServer();
if (oldServer.isStarted()) {
oldServer.stop();
oldServer.destroy();
}
List<Object> providers = (List<Object>) serviceEndpoint.getProviders();
//add some security providers dynamically depends on the configuration
changes
providers.add(xxx);
Server newServer = serviceEndpoint.create();
newServer.start();
}
}
{code}
Then the new Server couldn't be created properly with the expected providers in
CXF 3.3.4.
But it worked well in CXF 3.3.1.
> ensure jaxrs endpoint can work correctly when using a shared bus exposed from
> another bundle
> --------------------------------------------------------------------------------------------
>
> Key: CXF-8088
> URL: https://issues.apache.org/jira/browse/CXF-8088
> Project: CXF
> Issue Type: Bug
> Reporter: Freeman Yue Fang
> Assignee: Freeman Yue Fang
> Priority: Major
> Fix For: 3.2.10, 3.3.3
>
>
> major 2 issues
> 1. not unregister the jaxrs endpoint correctly when stop the jaxrs endpoint
> bundle.
> 2. jaxrs binding should be added as bus extension so that the bus used by
> jaxrs binding factory is always valid
--
This message was sent by Atlassian Jira
(v8.3.4#803005)