NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

VMware 的 CloudFoundry 服务获得对 PostgreSQL 支持

  • 2011-11-10
  • 本文字数:1602 字

    阅读完需:约 5 分钟

今年年初,VMware 宣布了CloudFoundry 项目,一款平台即服务(PAAS)开源解决方案,其预置提供对MongoDB、MySQL 及Redis 此类服务的支持。最近它将PostgreSQL 和RabbitMQ 加入到云服务列表中以便为各应用所使用,同时也提供了一个可运行在单个工作站上的 Micro 版CloudFoundry。

PostgreSQL 纳入 CloudFoundry 还是很有趣的,因为它是一个非常有特色的传统数据库,其受众较之 MySQL 或 MongoDB 的用户截然不同。为了更好使用 PostgreSQL,cloudfoundry 并没有直接使用其正常发布的版本而是在 vFabric 之上定制了一个版本,这在官方博客上有做解释。(译者注:针对云平台对PostgreSQL 做了一些优化。)

该博客上给了一个样例说明如何利用Spring Roo 在一个Java 项目中使用PostgreSQL。我们这里介绍另一种可选方案,针对的Java 应用是某个基于Spring 使用了JPA 的 WAR

假设你的应用已有的 Spring 上下文初始化内容如:

复制代码
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="myJpaManager" />
<property name="dataSource" ref="dataSource"/>
</bean>
<bean class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost/postgres" />
<property name="username" value="postgres" />
<property name="password" value="postgres" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<context:annotation-config />

META-INF/persistence.xml文件如:

复制代码
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="myJpaManager" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
</persistence>

多亏了 CloudFoundry 的自动配置功能,此应用可以被直接上传到 CloudFoundry,完全不用做任何修改。

PostgreSQL(包括 MySQL 和其他平台支持的服务)充分利用了 Cloudfoundry 提供的自动配置功能。在特定条件下,使用了 PostgreSQL 的某一本地 Java 应用可以上传到 Cloudfoundry 而 _ 无需修改任何一行代码 _。

自动配置利用了 Spring 核心容器的功能,当下面两个条件都满足的情况下可以生效

  1. 任一给定的服务类型有且只有一个服务实现。比如,你应该只给自己的应用绑定一个关系型数据库服务(MySQL 或 PostgreSQL)。
  2. 每个匹配类型对应有且只有一个 bean。比如,在你的应用上下文中应该只出现一个数据源 bean。

如果满足上述需求,那 Cloudfoundry 将会自动拦截你的本地数据源,并使用 Cloudfoundry 服务来代替那些设置在 Spring 上下文中的值。

剩下唯一要做的就是积极地回答当应用被上传到云上, vmc 是何时请求服务绑定的。

对于更加复杂的应用,Spring 3.1预计能增加一个特殊的_ 云_ 命名空间并提供运行时概要支持。

查看英文原文: VMware’s CloudFoundry Service Gains Support for PostgreSQL

2011-11-10 06:111646
用户头像

发布了 52 篇内容, 共 18.1 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

手机网站一键秒变App?详细教程来了

YonBuilder低代码开发平台

APP开发 APICloud 手机网站

如何使用Python实现图像融合及加法运算

华为云开发者联盟

Python OpenCV 图像处理 图像融合 加法运算

引领创新!青藤入选“网信自主创新尖锋企业”

青藤云安全

Node.js可以用来做什么事?

小学僧

node.js 前端 5月月更

最「难搞」的英伟达也开源了,苹果会是下一个吗?

腾源会

开源 英伟达 苹果 腾源会

如何设计产品帮助中心?从这几点出发

小炮

银行借助纵向联邦学习 集中化进行长尾客群的精准营销

易观分析

联邦学习 联邦计算

技术创新!青藤威胁检测论文入选国家中文核心期刊

青藤云安全

论文 威胁检测

青藤正式加入微软MAPP计划

青藤云安全

青藤参与编写的《数据安全法》实施参考(第一版)发布

青藤云安全

全新升级!阿里巴巴2022最新Spring源码全家桶全彩笔记开源

Java全栈架构师

spring 源码 程序员 面试 程序人生

不愧是阿里高工耗时182天肝出来1015页分布式全栈手册,从基础到高级,把分布式核心原理讲得明明白白

Java全栈架构师

程序员 架构 面试 分布式 程序员人生

满足多用途和峰值性能需求,英特尔 Arctic Sound-M成就出色游戏串流体验

科技新消息

2022年3月视频行业用户洞察:用户增长,长短视频探索共赢新模式

易观分析

短视频 视频

毕业设计项目

凌波微步

「架构实战营」

ATT&CK V11版本发布,新增结构化检测内容

青藤云安全

做不好资产清点的网络安全防护都是耍流氓!

青藤云安全

企评家 | 每日互动股份有限公司成长性评价简介

企评家

即时通讯安全篇(九):为什么要用HTTPS?深入浅出,探密短连接的安全性

JackJiang

https 即时通讯 ssl im开发

西门子PLC设备如何接入AIRIOT物联网低代码平台 ?

AIRIOT

物联网, PLC 低代码开发 低代码平台

企评家,为沪深主板企业成长性评价

企评家

当你运行npm run命令时,会发生什么

华为云开发者联盟

JavaScript typescript npm Script run命令

什么是IP地址盗用?又要如何预防?

郑州埃文科技

IP地址 IP地址盗用 安全防御

10个产品主导的增长原则|Bessemer

观测云

2年,0事故,效能提升10倍的云原生安全最佳实践

青藤云安全

金融行业 金融服务安全 青藤

基于STM32+华为云IOT设计智能称重系统

华为云开发者联盟

物联网 传感器 stm32 华为云IoT平台 智能称重系统

龙蜥云原生机密计算 SIG 成立,7 大开源项目重磅亮相!

OpenAnolis小助手

云原生 开源项目 龙蜥社区 sig

一文详述DMS资源池队列阻塞告警及原理

华为云开发者联盟

数据库 资源池 DMS 队列阻塞告警 资源池队列阻塞

不用PyScript,网页端运行的Python编辑器

OpenHacker

Python 编辑器 代码编辑器

一文简述:容灾等级&保护程度

穿过生命散发芬芳

容灾 5月月更

福昕软件与神州数码达成中国区分销合作

联营汇聚

VMware的CloudFoundry服务获得对PostgreSQL支持_Java_Kostis Kapelonis_InfoQ精选文章