Cloud Foundry和Spring结合

论坛 期权论坛 脚本     
匿名技术用户   2021-1-3 09:53   216   0

Cloud Foundry是一个开源的PaaS云计算平台,由VMware发起,得到了业界广泛的支持,它提供给开发者们自由度去选择云平台、开发框架和应用服务,让大家能够快速地进行开发、测试、部署和扩展应用。

借助Cloud Foundry中提供的服务,可以编写出高效的应用程序,让Spring的编程模型优势更明显,提高开发者的生产能力,提高代码质量,还可以增加应用服务之间的可移植性等等。

开始需要先建立一个services的实例,然后将service和application绑定,如图所示:

Spring的配置选项有:Auto-reconfiguration,自动重新配置机制,让典型的Spring应用程序在不进行任何更改的情况下就可以使用服务。

CloudEnvironment:可以自动解析JSON:

CloudEnvironment env = new CloudEnvironment();

Properties props = env.getCloudProperties();

String prop = props.getProperty("cloud.services.mysql1.connection.hostname");

ApplicationInstanceInfo instanceInfo = env.getInstanceInfo();

int port = instanceInfo.getPort();

List<String> urls = instanceInfo.getUris();

……

而且还可以创建DataSources:

public DataSources dataSource() {

CloudEnvironment environment = new CloudEnvironment();

RdbmsServiceInfo mysqlSvc =

environment.getServiceInfo("mysql1",RdbmsServiceInfo.class);

RdbmsServiceCreator dataSourceCreator = new RdbmsServiceCreator();

DataSource dataSource = dataSourceCreator.createService(mysqlSvc);

return dataSource;

}

当然,可以在Cloud Foundry上使用Rabbit,配置一个ConnectionFactory,代码如下:

<rabbit:template id = "rabbitTemplate" connection-factory =

"rabbitConnectionFactory"/>

<beans profile = "default">

<rabbit:connection-factory id = "rabbitConnectionFactory"/>

</beans>

<beans profile = "cloud">

<cloud:rabbit-connection-factory id = "rabbitConnectionFactory"/>

</beans>

Spring是理想的云计算平台,它可以提供不同环境下的便携性,可以提供应用整合机制,比如进行远端进程调用和异步通信等。利用Cloud Foundry,开发人员只需要选择合适的服务类型,而无需担心如何操作相关服务。Cloud Foundry和Spring的结合很强悍。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP