spring - Rest Api 应用程序无法连接到同一个 Kubernetes pod 中的 postgres db
问题描述
您好我收到以下错误:
上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建类路径资源 [file.xml] 中定义的名称为“entityManagerFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
我有一个 kubernetes 集群,我在其中定义了一个带有两个容器的 pod,一个是 postgres db,另一个是 java rest-api 应用程序。我无法从应用程序连接到数据库。我正在尝试使用 spring 连接到 postgres db,这是我的 xml 文件配置:
<!-- JPA Transaction Manager -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver" />
<property name="url" value="jdbc:postgresql://localhost:5432/dbName" />
<property name="username" value="postgres"/>
<property name="password" value="postgres"/>
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.my-package.it.name.db" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<!--<property name="showSql" value="true" />-->
</bean>
</property>
<property name="jpaDialect">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
</property>
</bean>
谢谢你的时间和帮助
解决方案
您应该做的是,为您的数据库和服务创建部署,该部署以该部署为目标,然后使用该服务 ping:
apiVersion: v1
kind: Service
metadata:
name: postgres
labels:
app: postgres
spec:
type: NodePort
ports:
- port: 5432
selector:
app: postgres
如果您希望我在您的文件中复制它,请在您的帖子中提供。你可以查看这篇文章。
推荐阅读
- wordpress - 无法访问当前的 Wordpress 网页
- html - 从列优先的 div 中创建表
- javascript - 如何将错误显示添加到 React 组件
- arrays - 是否有 Perl 6 等效的字节数组?
- twitter-bootstrap - 在 Vue 中,v-binding 对 Bootstrap Toggle Checkboxes 的“checked”属性不起作用?
- ios - 跨多个故事板的导航栏
- cyrillic - 西里尔 Google 字体“Montserrat”无法加载
- opengl - glReadPixels() 如何获取实际深度而不是标准化值?
- php - 使用PHP通过变量选择日期之间的行
- javascript - JavaScript 松弛 api jquery