cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andriy Redko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-6740) Collision by Swagger2Feature in two OSGI bundles
Date Mon, 25 Jan 2016 12:41:39 GMT

    [ 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)

Mime
View raw message