没有合适的ServiceConnectorCreator

时间:2019-07-12 21:36:28

标签: cloud datasource pivotal-cloud-foundry pcf pivotal-web-services

我正在尝试将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,服务信息type = org.springframework.cloud.service.BaseServiceInfo,连接器type = interface 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

1 个答案:

答案 0 :(得分:0)

  

找不到合适的ServiceConnectorCreator

当Spring Cloud Connectors不知道如何根据VCAP_SERVICES中的服务信息来创建服务对象时,您会看到此信息。查看VCAP_SERVICES,查看服务类型是否为supported by SCC。另外,请查看并确认服务信息的结构是否可以理解受支持的数据库类型。


除此之外,我强烈建议您看看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

希望有帮助!