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的的云上去。。见显示:
成功。。。
关于CloudFoundry的使用见官网文档,还都是中文的。
Author:[email protected]