1

UAA 용 Postgres SQL 데이터베이스에 연결할 수없는 Pivotal Web Services에 문제가 있습니다.PWS - 데이터베이스에 UAA를 연결할 수 없습니다.

나는 서비스를 정의하고 응용 프로그램에 바인딩이 있지만 (PARAM 교체가 봉투 변수에 무슨 일이 생기면 확실하지 않음) 수동으로 자격 증명을 걸었습니다

UAA.yaml 파일의 관련 섹션 :

database: 
    driverClassName: org.postgresql.Driver 
    url: jdbc:postgresql://babar.elephantsql.com:5432/db 
    username: db 
    password: randomPass 
    maxactive: 15 
    maxidle: 5 
    minidle: 0 
    removeabandoned: false 
    logabandoned: true 
    abandonedtimeout: 300 
    evictionintervalms: 15000 
    caseinsensitive: false 

필자는 ElephantSQL의 "Panda"플랜에 바인딩되어있어서 20 개의 동시 연결로 제한됩니다. 이것은 내가 일반적으로 시작할 UAA에 나타나는 오류입니다 :

은 java.sql.SQLException : 드라이버 : 포스트 그레스 : [email protected]가 URL에 null을 반환 // DB : [email protected] : 5432/DB 2017-01-28T14 : 15 : 57.43-0500 [APP/PROC/WEB/0] OUT org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver (PooledConnection.java:296)에서

왜 null을 반환하는지, 자격 증명 및 URL이 맞는지 잘 모르겠습니다.

+0

올바른지 확인하기 위해 도구로 yaml을 확인하십시오. 공백은 문제이므로 탭을 던져 버릴 수도 있습니다. 이 도움말과 같은 도구 -> http://www.yamllint.com/ –

+0

YAML이 유효하면 유효성 검사기로 검사했고 로그에 오류가 없습니다. – StylePotato

답변

0

로깅에 URL:postgres://...이 표시되면 JDBC URL이 맹 글링되어지고, jdbc:이 제거 된 것입니다. 그리고 그것은 URL에 사용자 이름과 암호를 추가 한 것으로 보입니다.이 URL은 PostgreSQL 드라이버에서 지원하지 않습니다.

지원하지 않는 JDBC URL에 연결하라는 JDBC 드라이버는 null을 JDBC 사양/API로 반환해야합니다.

즉, 구성이 잘못되었거나 UAA가 잘못된 것 같습니다. Cloudfoundry에 대해 잘 모르기 때문에 구체적인 내용에 대해서는 대답 할 수 없습니다.

+0

MySQL 드라이버에서도 마찬가지입니다. 이상하게도 로컬 컴퓨터에서 작동하는 것은 단지 CF에서만 실패합니다. – StylePotato

+0

로컬로 실행된다는 사실에 집중하지 마십시오. 그것은 스프링 애플 리케이션과 애플 리케이션이 환경과 서비스가 어디에 실행에 반응 할 수 있습니다. 즉, 응용 프로그램이 CF에서 동일한 로컬 vs vs를 실행할 수 없음을 의미합니다 (예 : H2 또는 HSQL db를 로컬로 Postgres 또는 CF에서 MySQL을 사용할 수 있지만 다른 차이점이 있음). 디버깅 로그가 필요하기 때문에 UAA가 시작되는 방식과 실패 할 때 수행중인 방식을 확인할 수 있습니다. –