openshift不支持spring-jersey,那就用cloudfoundry吧

Cloudfoundry 上的jersey-spring. –20130401

上一篇中提到openshift不支持jersey-spring配置,这一事件让我时刻不能释怀.

我觉得完美的openshift就有了一点点瑕疵了.

这一次意外发现cloudfoundry 可以实现jersey-spring,而且构造过程如此简单.让我觉得跟cloudfoundry真是相见很晚啊..

美中不足的是, 不知道cloudfoundry是怎么部署的? 是war上传部署(不太可能),还是直接把git上传代码(无从考证). 还是svn(很有可能) 他完全就屏蔽了这一层,我也不知道他是怎么实现的。。。

---于2013年4月16号,我发现了cloudfoundry 的增量更新功能,也就是上传代码的时候,他只会检测更新部分并上传。看来cloudfoundry考虑相当周到。

可以用cloudfoundry的vmc工具来上传代码,也可以使用eclipse插件来上传代码。。

这里推荐后者。。

至于eclipse for cloudfoundry插件怎么安装的。

看这里:http://cndocs.cloudfoundry.com/tools/STS/configuring-STS.html

代码看这里:test.rar

这里就是实现了一个jersey类:

@Component

@Path("/payment")

public class PaymentService {

@Autowired

TransactionBo transactionBo;

@GET

@Path("/mkyong")

public Response savePayment() {

String result = transactionBo.save();

return Response.status(200).entity(result).build();

}

}

其中transactionBo类由spring注入,见

applicationContext.xml文件

<bean id="transactionBo" class="com.mkyong.transaction.impl.TransactionBoImpl" />

最后显示见:

public class TransactionBoImpl implements TransactionBo {

public String save() {

return "Jersey + Spring example";

}

}

搞定。Pom文件是:

<dependencies>

<!-- Jersey -->

<dependency>

<groupId>com.sun.jersey</groupId>

<artifactId>jersey-server</artifactId>

<version>1.8</version>

</dependency>

<!-- Spring 3 dependencies -->

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>3.1.0.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>3.1.0.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-web</artifactId>

<version>3.1.0.RELEASE</version>

</dependency>

<!-- Jersey + Spring -->

<dependency>

<groupId>com.sun.jersey.contribs</groupId>

<artifactId>jersey-spring</artifactId>

<version>1.8</version>

<exclusions>

<exclusion>

<groupId>org.springframework</groupId>

<artifactId>spring</artifactId>

</exclusion>

<exclusion>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

</exclusion>

<exclusion>

<groupId>org.springframework</groupId>

<artifactId>spring-web</artifactId>

</exclusion>

<exclusion>

<groupId>org.springframework</groupId>

<artifactId>spring-beans</artifactId>

</exclusion>

<exclusion>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

</exclusion>

</exclusions>

</dependency>

</dependencies>

最后使用eclipse 部署代码到cloudfoundry的的云上去。。见显示:

clip_image002

成功。。。

关于CloudFoundry的使用见官网文档,还都是中文的。

Author:[email protected]

你可能感兴趣的:(openshift不支持spring-jersey,那就用cloudfoundry吧)