[ 
https://issues.apache.org/jira/browse/CXF-6740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15115142#comment-15115142
 ] 

Andriy Redko commented on CXF-6740:
-----------------------------------

Hi Aki, Sergey,

My apologies for prematurely closing the issue. I truly believe that 
github.com/swagger-api/swagger-core/pull/1611 is going to fix the problem.
Yes, you are right Aki, we need to manage multiple configurations over a single 
servlet component. However, if I do understand the pull request correctly, each 
BeanConfig is enriched with contextId and scannerId.
They are not necessarily tight to ServletConfig and in Swagger2Feature we can 
set those properties to be unique for every instance of the JAX-RS server. As 
such the right scanner should be picked up for each Swagger instance 
corresponding to different JAX-RS APIs. I am wondering did you play with latest 
Swagger snapshot and things didn't work out for you?
Thanks!

Best Regards,
    Andriy Redko


> Collision by Swagger2Feature in two OSGI bundles 
> -------------------------------------------------
>
>                 Key: CXF-6740
>                 URL: https://issues.apache.org/jira/browse/CXF-6740
>             Project: CXF
>          Issue Type: Bug
>          Components: OSGi
>    Affects Versions: 3.1.4
>         Environment: Apache Karaf 4.0.2
>            Reporter: Andre Schlegel
>            Assignee: Andriy Redko
>
> I have two separate bundles in my karaf, which are using cxf with the 
> swagger2feature. The endpoints (/cxf/bpc-core and /cxf/bpc-monitor/ ) in both 
> bundles working fine. But I got on both swagger-URL the same swagger-File 
> (both for the monitor endpoints).
> I'm using the blueprint for swagger2feature configuration and annotation for 
> the endpoints.
> core bundle
> {code}
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>        xmlns:cxf="http://cxf.apache.org/blueprint/core";
>        xmlns:jaxrs="http://cxf.apache.org/blueprint/jaxrs";
>        xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>                            http://cxf.apache.org/blueprint/core 
> http://cxf.apache.org/schemas/blueprint/core.xsd
>                            http://cxf.apache.org/jaxrs 
> http://cxf.apache.org/schemas/blueprint/jaxrs.xsd";>
>     <!-- JAXRS providers -->
>     <bean id="jsonProvider" 
> class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider" />
>     <!-- Application resources -->
>     <bean id="authenticationResource" 
> class="de.virtimo.bpc.core.resource.AuthenticationResource" />
>     <bean id="configurationResource" 
> class="de.virtimo.bpc.core.resource.Configuration" />
>     <bean id="statusResource" class="de.virtimo.bpc.core.resource.Status" />
>     <!-- CXF Swagger2Feature -->  
>     <bean id="swagger2Feature_core" 
> class="org.apache.cxf.jaxrs.swagger.Swagger2Feature">
>         <property name="basePath" value="/bpc-core"/>
>         <property name="title" value="BPC Core"/>
>     </bean>
>     <cxf:bus>
>         <cxf:features>
>             <cxf:logging />
>         </cxf:features>
>     </cxf:bus>
>     <jaxrs:server id="bpcServer" address="/bpc-core">
>         <jaxrs:serviceBeans>
>             <ref component-id="authenticationResource" />
>             <ref component-id="configurationResource" />
>             <ref component-id="statusResource" />
>         </jaxrs:serviceBeans>
>         <jaxrs:providers>
>             <ref component-id="jsonProvider" />
>         </jaxrs:providers>
>         <jaxrs:features>
>             <ref component-id="swagger2Feature_core" />
>         </jaxrs:features>
>     </jaxrs:server>
> </blueprint>
> {code}
> Monitor Bundle
> {code}
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>        xmlns:cxf="http://cxf.apache.org/blueprint/core";
>        xmlns:jaxrs="http://cxf.apache.org/blueprint/jaxrs";
>        xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>                            http://cxf.apache.org/blueprint/core 
> http://cxf.apache.org/schemas/blueprint/core.xsd
>                            http://cxf.apache.org/jaxrs 
> http://cxf.apache.org/schemas/blueprint/jaxrs.xsd";>
>     <!-- JAXRS providers -->
>     <bean id="jsonProvider" 
> class="com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider" />
>     <!-- Application resources -->
>     <bean id="monitorResource" 
> class="de.virtimo.bpc.module.monitor.resource.Monitor" />
>     <!-- CXF Swagger2Feature -->  
>     <bean id="swagger2Feature_monitor" 
> class="org.apache.cxf.jaxrs.swagger.Swagger2Feature">
>         <property name="basePath" value="/bpc-monitor"/>Center"/>
>         <property name="title" value="BPC Monitor"/>
>     </bean>
>     <cxf:bus>
>         <cxf:features>
>             <cxf:logging />
>         </cxf:features>
>     </cxf:bus>
>     <jaxrs:server id="bpcMonitor" address="/bpc-monitor">
>         <jaxrs:serviceBeans>
>             <ref component-id="monitorResource" />
>         </jaxrs:serviceBeans>
>         <jaxrs:providers>
>             <ref component-id="jsonProvider" />
>         </jaxrs:providers>
>         <jaxrs:features>
>             <ref component-id="swagger2Feature_monitor" />
>         </jaxrs:features>
>     </jaxrs:server>
> </blueprint>
> {code}
> I got the swagger-file for the monitor bundle on /cxf/bpc-core/swagger.json 
> and /cxf/bpc-monitor/swagger.json
> Anyone suggestion how to handle this scenario?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to