올해 초, VMware Cloudfoundry 프로젝트, 플랫폼 서비스 (PAAS) 오픈 소스 솔루션을 MySQL, MongoDB에 대 한 지원을 제공 하 고 이러한 서비스 redis를 발표 했다. 그것은 최근 단일 워크스테이션에서 실행할 수 있는 Cloudfoundry의 마이크로 버전 뿐만 아니라 모든 응용 프로그램에 사용 하기 위해 클라우드 서비스 목록에 PostgreSQL와 RABBITMQ 추가.
그것 때문에 MySQL 또는 MongoDB 사용자 보다 다른 관객 들과 매우 독특한 전통적인 데이터베이스 Cloudfoundry에 PostgreSQL을 포함 또한 흥미롭습니다. 위해서는 더 나은 postgresql, cloudfoundry를 사용 하 고 직접 그것의 정상적인 버전, 하지만 사용자 정의 공식 블로그에서 설명 위에 vfabric의 버전을 사용 하 여. (역 자 주: 몇 가지 최적화를 할 PostgreSQL에 대 한 클라우드 플랫폼.) )
이 블로그는 스프링 Roo를 사용 하 여 PostgreSQL 자바 프로젝트에서 작업 하는 방법의 예제를 제공 합니다. 여기에 자바 응용 프로그램을 기반으로 스프링 JPA를 사용 하는 전쟁에 대 한 다른 대체 시나리오가입니다.
응용 프로그램에 기존 스프링 컨텍스트 초기화와 같은 콘텐츠를 가정 합니다.
< 콩 id = "Entitymanagerfactory" 클래스 = "Org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" >< 속성 이름 = "persistenceunitname" 값 = "Myjpamanager" / >< 속성 이름 = "데이터 소스" 데이터 소스 "/ >< / >< 콩 콩 클래스 =" Org.springframework.jdbc.datasource.DriverManagerDataSource "id =" 데이터 원본 ">< 속성 이름 =" driverclassname "값 =" Org.postgresql.Driver "/ >< 속성" url "값 "Jdbc:postgresql://localhost/postgres" = / >< 속성 이름 = "사용자 이름" 값 = "포스트 그레스" / >< 속성 "이름 =" 비밀 번호 "값 =" 포스트 그레스 "/ >< / >< 콩 콩 id =" TransactionManager "클래스 =" Org.springframework.orm.jpa.JpaTransactionManager ">< 속성 이름 =" entitymanagerfactory "ref =" Entitymanagerfactory "/ >< / 콩 >< tx:annotation-구동 트랜잭션 관리자 =" TransactionManager "/ > < 컨텍스트: 주석-설정 / >
그리고와 같은 메타-inf/persistence.xml 파일:
< 지 속성 xmlns = "http://java.sun.com/xml/ns/persistence" xmlns:xsi = "http://www.w3.org/2001/ Xmlschema 인스턴스 "xsi:schemalocation =" Http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/ 지 속성/persistence_1_0.xsd "버전 =" 1.0 ">< 지 속성 단위 이름 =" Myjpamanager "트랜잭션 유형 =" Resource_local ">< 공급자 > org.hibernate.ejb.HibernatePersistence < / 공급자 >< 속성 > < 속성 이름 = "Hibernate.dialect" 값 = "Org.hibernate.dialect.PostgreSQLDialect"/ >< 속성 이름 = " Hibernate.hbm2ddl.auto "값 =" 업데이트 / >< / 속성 >< / 지 속성 단위 >< / 지 속성 >
Cloudfoundry 자동 구성 기능 덕분에이 응용 프로그램 수에 업로드할 수 직접 수정 없이 Cloudfoundry 전혀.
PostgreSQL (MySQL 및 다른 플랫폼 지원 서비스 포함) Cloudfoundry에서 제공 하는 자동 프로 비전 기능을 활용 합니다. 특정 조건에서 PostgreSQL을 사용 하 여 로컬 자바 응용 프로그램 코드의 모든 줄을 수정 하지 않고는 cloudfoundry에 업로드 수 있습니다.
자동 구성 봄 핵심 컨테이너의 기능을 활용 하 고 다음 두 조건이 충족 되 면 효과 걸릴 수 있습니다.
모든 지정 된 서비스 종류와 하나의 서비스 구현 하고있다. 예를 들어 응용 프로그램에 (MySQL 또는 PostgreSQL) 관계형 데이터베이스 서비스를 바인딩할 해야 있습니다. 각 일치 종류 있고 단 하나 콩을가지고 한다. 예를 들어 응용 프로그램 컨텍스트에서 하나의 데이터 소스 콩 이어야 한다.
위의 요구 사항을 충족 하는 경우는 Cloudfoundry 됩니다 자동으로 로컬 데이터 소스를 가로채 고 봄 컨텍스트에서 설정 값 대신 Cloudfoundry 서비스를 사용 하 여.
할 유일한 것은 왼쪽 때 응용 프로그램 업로드는 클라우드는 VMC 바인딩할 서비스를 요청 하는 때 긍정적으로 응답할 것입니다.
더 복잡 한 응용 프로그램에 대 한 스프링 3.1 특별 한 구름 네임 스페이스를 추가 하 고 실행 프로필 지원 예정입니다.
(책임 편집기: 유산의 좋은)