You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "JS Bournival (JIRA)" <ji...@apache.org> on 2009/05/05 15:18:30 UTC

[jira] Created: (CXF-2202) Deploying REST service on CXF Transport for OSGi

Deploying REST service on CXF Transport for OSGi
------------------------------------------------

                 Key: CXF-2202
                 URL: https://issues.apache.org/jira/browse/CXF-2202
             Project: CXF
          Issue Type: Bug
          Components: OSGi
    Affects Versions: 2.2
         Environment: ServiceMix
  ServiceMix home             /opt/servers/fuse-esb/fuse-esb-4.1.0.0
  ServiceMix base             /opt/servers/fuse-esb/fuse-esb-4.1.0.0
  ServiceMix Kernel version   1.1.0.0-fuse
  ServiceMix version          4.1.0.0-fuse

JVM
  Java Virtual Machine        Java HotSpot(TM) 64-Bit Server VM version 1.6.0_07-b06-57
  Vendor                      Apple Inc.
  Uptime                      4 days 45 hours
  Total compile time          22.997 seconds
Threads
  Live threads                79
  Daemon threads              37
  Peak                        223
  Total started               14328
Memory
  Current heap size           54,440 kbytes
  Maximum heap size           502,464 kbytes
  Committed heap size         125,952 kbytes
  Pending objects             0
  Garbage collector           Name = 'Copy', Collections = 475, Time = 1.654 seconds
  Garbage collector           Name = 'MarkSweepCompact', Collections = 34, Time = 51.343 seconds
Classes
  Current classes loaded      7,442
  Total classes loaded        7,598
  Total classes unloaded      156
Operating system
  Name                        Mac OS X version 10.5.6
  Architecture                x86_64
  Processors                  2

            Reporter: JS Bournival


 have a serious issue that I want to discuss.   

I am developing rest services osgi bundles on fuse4/smx4 using the cxf-osgi transport.  JAX-RS impl is obviously CXF, which is fine.  But as I learned recently, I have to specify "/cxf" as part of my implementation @Path annotation, like this: 

<code> 
@Path("/cxf/top10") 
public class TopTenRestService { 
  // methods 
} 
</code> 

I find this somewhat strange because it exposes (shall I say binds) the underlying JAX-RS implementation to my service class, which is the complete opposite of what the JAX-RS spec should provide. 

Again, maybe I just don't get it.  Using it this way actually works, but there's something not right about how to specifiy the @Path. 

As a complement, here is my service configuration in my bundle' spring bean file:

<code> 
<import resource="classpath:META-INF/cxf/cxf.xml" /> 
<import resource="classpath:META-INF/cxf/cxf-extension-http.xml" /> 
<import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/> 
<import resource="classpath:META-INF/cxf/osgi/cxf-extension-osgi.xml" /> 

<jaxrs:server address="/top10"> 
        <jaxrs:serviceBeans> 
                <ref bean="topTenRestService" /> 
        </jaxrs:serviceBeans> 
</jaxrs:server> 

<bean id="topTenRestService" class="com.company.project.topten.TopTenRestService"></bean> 
</code> 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CXF-2202) Deploying REST service on CXF Transport for OSGi

Posted by "Sergey Beryozkin (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Beryozkin resolved CXF-2202.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.3
                   2.2.4
         Assignee: Sergey Beryozkin

'/cxf' is still a default alias but can be overridden by adding

org.apache.cxf.osgi.cfg properties into /etc directory

and setting 

org.apache.cxf.servlet.context property to some custom value:

org.apache.cxf.servlet.context=/bar

If this org.apache.cxf.osgi.cfg is not available then ConfigAdmin service can be used to configure 'cxfOsgiProps' 




> Deploying REST service on CXF Transport for OSGi
> ------------------------------------------------
>
>                 Key: CXF-2202
>                 URL: https://issues.apache.org/jira/browse/CXF-2202
>             Project: CXF
>          Issue Type: Bug
>          Components: OSGi
>    Affects Versions: 2.2
>         Environment: ServiceMix
>   ServiceMix home             /opt/servers/fuse-esb/fuse-esb-4.1.0.0
>   ServiceMix base             /opt/servers/fuse-esb/fuse-esb-4.1.0.0
>   ServiceMix Kernel version   1.1.0.0-fuse
>   ServiceMix version          4.1.0.0-fuse
> JVM
>   Java Virtual Machine        Java HotSpot(TM) 64-Bit Server VM version 1.6.0_07-b06-57
>   Vendor                      Apple Inc.
>   Uptime                      4 days 45 hours
>   Total compile time          22.997 seconds
> Threads
>   Live threads                79
>   Daemon threads              37
>   Peak                        223
>   Total started               14328
> Memory
>   Current heap size           54,440 kbytes
>   Maximum heap size           502,464 kbytes
>   Committed heap size         125,952 kbytes
>   Pending objects             0
>   Garbage collector           Name = 'Copy', Collections = 475, Time = 1.654 seconds
>   Garbage collector           Name = 'MarkSweepCompact', Collections = 34, Time = 51.343 seconds
> Classes
>   Current classes loaded      7,442
>   Total classes loaded        7,598
>   Total classes unloaded      156
> Operating system
>   Name                        Mac OS X version 10.5.6
>   Architecture                x86_64
>   Processors                  2
>            Reporter: JS Bournival
>            Assignee: Sergey Beryozkin
>             Fix For: 2.2.4, 2.3
>
>
>  have a serious issue that I want to discuss.   
> I am developing rest services osgi bundles on fuse4/smx4 using the cxf-osgi transport.  JAX-RS impl is obviously CXF, which is fine.  But as I learned recently, I have to specify "/cxf" as part of my implementation @Path annotation, like this: 
> <code> 
> @Path("/cxf/top10") 
> public class TopTenRestService { 
>   // methods 
> } 
> </code> 
> I find this somewhat strange because it exposes (shall I say binds) the underlying JAX-RS implementation to my service class, which is the complete opposite of what the JAX-RS spec should provide. 
> Again, maybe I just don't get it.  Using it this way actually works, but there's something not right about how to specifiy the @Path. 
> As a complement, here is my service configuration in my bundle' spring bean file:
> <code> 
> <import resource="classpath:META-INF/cxf/cxf.xml" /> 
> <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" /> 
> <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/> 
> <import resource="classpath:META-INF/cxf/osgi/cxf-extension-osgi.xml" /> 
> <jaxrs:server address="/top10"> 
>         <jaxrs:serviceBeans> 
>                 <ref bean="topTenRestService" /> 
>         </jaxrs:serviceBeans> 
> </jaxrs:server> 
> <bean id="topTenRestService" class="com.company.project.topten.TopTenRestService"></bean> 
> </code> 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.