2013-03-20 74 views
2

我們已經使用Apache CXF在我們的項目,我想知道是否有可能實現推送RESTful服務中CXF 2.7(從Servlet 3.0規範引入的功能)?如何實現與Apache CXF推式RESTful Web服務?

+0

你的意思是說如何在cxf版本2.7中實現? – 2014-05-27 18:43:51

+0

是的。你是對的。如何實現利用CXF – Artem 2014-05-27 19:56:05

+0

HMM的2.7版....可能是其更好地使用3.0.0,而不是使用2.7。我看到很多代碼實現的需要,比較的WebSocket JAR – 2014-05-28 07:07:07

回答

0

是.....下載CXF-3.0.0框架拉鍊(這裏是link)。提取你可以找到樣本目錄(樣本cxf項目的數量在那裏供我們參考)。在我們的例子中,選擇jax_rs/websocket目錄。您可以找到示例推送客戶maven項目。我修改了現有的pom.xml,並將其導入到eclipse中並完美工作。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.cxf.sample</groupId> 
    <artifactId>jax_rs_websocket</artifactId> 
    <version>3.0.0</version> 
    <name>JAX-RS WebSocket Demo</name> 
    <description>JAX-RS WebSocket Demo</description> 
    <properties> 
     <cxf.version>3.0.0</cxf.version> 
     <cxf.ahc.version>1.8.1</cxf.ahc.version> 
     <cxf.jetty.version>8.1.14.v20131031</cxf.jetty.version> 
     <cxf.netty3.version>3.8.0.Final</cxf.netty3.version> 
    </properties> 
    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <profiles> 
     <profile> 
      <id>server</id> 
      <build> 
       <defaultGoal>test</defaultGoal> 
       <plugins> 
        <plugin> 
         <groupId>org.codehaus.mojo</groupId> 
         <artifactId>exec-maven-plugin</artifactId> 
         <executions> 
          <execution> 
           <phase>test</phase> 
           <goals> 
            <goal>java</goal> 
           </goals> 
           <configuration> 
            <mainClass>demo.jaxrs.server.Server</mainClass> 
           </configuration> 
          </execution> 
         </executions> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
     <profile> 
      <id>client</id> 
      <build> 
       <defaultGoal>test</defaultGoal> 
       <plugins> 
        <plugin> 
         <groupId>org.codehaus.mojo</groupId> 
         <artifactId>exec-maven-plugin</artifactId> 
         <executions> 
          <execution> 
           <phase>test</phase> 
           <goals> 
            <goal>java</goal> 
           </goals> 
           <configuration> 
            <mainClass>demo.jaxrs.client.Client</mainClass> 
           </configuration> 
          </execution> 
         </executions> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
    </profiles> 
    <dependencies> 
     <dependency> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-rt-transports-http</artifactId> 
      <version>3.0.0</version> 
     </dependency> 
     <!-- This dependency is needed if you're using the Jetty container --> 
     <dependency> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-rt-transports-websocket</artifactId> 
      <version>3.0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-rt-frontend-jaxrs</artifactId> 
      <version>3.0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>javax.ws.rs-api</artifactId> 
      <version>2.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-websocket</artifactId> 
      <version>${cxf.jetty.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>com.ning</groupId> 
      <artifactId>async-http-client</artifactId> 
      <version>${cxf.ahc.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>io.netty</groupId> 
        <artifactId>netty</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>io.netty</groupId> 
      <artifactId>netty</artifactId> 
      <version>${cxf.netty3.version}</version> 
     </dependency> 
     <!-- JettyHttpDestination is referring to org.springframework.util.ClassUtils --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>4.0.3.RELEASE</version> 
     </dependency> 

    </dependencies> 
</project>