0

我正在尝试将 spring 应用程序推送到 PCF。这样做时,我收到以下错误:用户提供的服务存在。

在类路径资源 [com/ */ /****/ */ /config/CloudConfig.class]中创建名称为“dataSourceNWTC”的 bean 时出错:bean 实例化失败;嵌套异常是 org.springframework.beans.factory.BeanDefinitionStoreException: 工厂方法 [public javax.sql.DataSource com.*****. . . . .config.CloudConfig.nwPrepDataSource()] 抛出异常;嵌套异常是 org.springframework.cloud.CloudException:找不到合适的 ServiceConnectorCreator:服务 id=dataSource-NWTC,服务信息类型=org.springframework.cloud.service.BaseServiceInfo,连接器类型=接口 javax.sql.DataSource

我已经尝试了几个版本。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-spring-service-connector</artifactId>
    <version>2.0.6.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-cloudfoundry-connector</artifactId>
    <version>2.0.6.RELEASE</version>

<repositories>
  <repository>
    <id>repository.springsource.milestone</id>
    <name>SpringSource Milestone Repository</name>
    <url>http://repo.springsource.org/milestone</url>
  </repository>

@Configuration
@ServiceScan
@Profile("cloud")
public class CloudConfig extends AbstractCloudConfig {

  @Bean(name = "dataSourceAIMS")
  public DataSource aimsDataSource() {
    return connectionFactory().dataSource("dataSource-AIMS");
  }

  @Bean(name = "dataSourceNWTC")
  public DataSource nwPrepDataSource() {
    return connectionFactory().dataSource("dataSource-NWTC");
  }
}

applications:
- name: some-name
  path: target/some-name-1.0-SNAPSHOT.war
  random-route: true
  buildpacks: 
  - java_buildpack_offline
  services:
  - dataSource-AIMS
  - dataSource-NWTC
 env:
    SPRING_PROFILES_ACTIVE: cloud
4

1 回答 1

0

未找到合适的 ServiceConnectorCreator

当 Spring Cloud Connectors 不知道如何从它获得的服务信息中创建服务对象时,您会看到这一点VCAP_SERVICES。查看SCCVCAP_SERVICES是否支持该服务类型。此外,请查看并确认服务信息的结构是受支持的数据库类型能够理解的。


除此之外,我强烈建议您查看java-cfenv而不是 Spring Cloud Connectors。我相信它旨在成为 Spring Cloud Connectors 的继任者。

https://spring.io/blog/2019/02/15/introducing-java-cfenv-a-new-library-for-accessing-cloud-foundry-services

希望有帮助!

于 2019-07-15T13:31:35.313 回答