Azure功能+ Spring Cloud |无法解析持久单元根URL

时间:2019-06-27 13:07:26

标签: java azure-sql-database azure-functions spring-cloud

我有一个带有AzureSQL DB的Spring Boot项目。我正在尝试将其迁移到无服务器环境。因此,我将方法从Controllers迁移到Spring Cloud Function,并使用AzureSpringBootRequestHandler将其与Azure Functions映射。

现在的问题是连接数据库时。当我将项目作为Spring Boot应用程序运行时,它可以工作并与数据库连接并获取结果。

数据库配置位于application.properties中,

spring.datasource.url=(jdbc url)
spring.jpa.properties.hibernate.default_schema=testdb
spring.datasource.username=username
spring.datasource.password=password

当我将其作为Azure Function运行时,它将引发以下错误。

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: Unable to resolve persistence unit root URL
[6/27/2019 10:01:10 AM]         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1791)
[6/27/2019 10:01:10 AM]         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
[6/27/2019 10:01:10 AM]         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
[6/27/2019 10:01:10 AM]         at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
[6/27/2019 10:01:10 AM]         at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
[6/27/2019 10:01:10 AM]         at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
[6/27/2019 10:01:10 AM]         at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
[6/27/2019 10:01:10 AM]         at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1105)
[6/27/2019 10:01:10 AM]         at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
[6/27/2019 10:01:10 AM]         at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
[6/27/2019 10:01:10 AM]         at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:748)
[6/27/2019 10:01:10 AM]         at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395)
[6/27/2019 10:01:10 AM]         at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
[6/27/2019 10:01:10 AM]         at org.springframework.cloud.function.adapter.azure.AzureSpringFunctionInitializer.initialize(AzureSpringFunctionInitializer.java:97)
[6/27/2019 10:01:10 AM]         at org.springframework.cloud.function.adapter.azure.AzureSpringBootRequestHandler.handleRequest(AzureSpringBootRequestHandler.java:52)
[6/27/2019 10:01:10 AM]         at com.app.admin.handler.CodeHandler.getCodeValueByTypeList(CodeHandler.java:28)
[6/27/2019 10:01:10 AM]         ... 16 more
[6/27/2019 10:01:10 AM] Caused by: javax.persistence.PersistenceException: Unable to resolve persistence unit root URL
[6/27/2019 10:01:10 AM]         at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl(DefaultPersistenceUnitManager.java:640)
[6/27/2019 10:01:10 AM]         at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.preparePersistenceUnitInfos(DefaultPersistenceUnitManager.java:462)
[6/27/2019 10:01:10 AM]         at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet(DefaultPersistenceUnitManager.java:443)
[6/27/2019 10:01:10 AM]         at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:328)
[6/27/2019 10:01:10 AM]         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1850)
[6/27/2019 10:01:10 AM]         at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1787)
[6/27/2019 10:01:10 AM]         ... 31 more
[6/27/2019 10:01:10 AM] Caused by: java.io.FileNotFoundException: class path resource [] cannot be resolved to URL because it does not exist
[6/27/2019 10:01:10 AM]         at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:195)
[6/27/2019 10:01:10 AM]         at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl(DefaultPersistenceUnitManager.java:636)
[6/27/2019 10:01:10 AM]         ... 36 more

任何帮助将不胜感激。

0 个答案:

没有答案