我已经在 OpenShift 上创建了 Spring 快速启动应用程序,它运行良好,显示了一个用于用户注册的网页,除了它不记得新的重启后的成员。我在想,那是因为我没有真正的数据库。所以我添加了一个 postgresql-9.2 卡带。所以我的问题是如何准确地将 postgresql 配置到 OpenSift Spring 应用程序,以便该 Web 服务器可以存储重启后持久存在的数据。
第一个问题
我在 Eclipse 中创建了 OpenShift 项目,但是 pom.xml
没有 postgresql 项目。也就是说,我在 Maven 依赖项中看不到 postgresql 依赖项。我相信在我创建的其他应用程序(例如 JBoss EAP 6)中,如果我添加卡带,我可以找到 Maven 依赖项。将 postgresql 添加到项目中的正确方法是什么?
第二个问题
有一个 README.md 文件说
Edit
src/main/resources/META-INF/persistence.xml
to use the appropriate datasource (java:jboss/datasources/MysqlDS or java:jboss/datasources/PostgreSQLDS):<jta-data-source>java:jboss/datasources/MysqlDS</jta-data-source>
所以我做到了。但我认为这个 README 缺少一些东西。我构建项目并看到 jboss-deployment-structure.xml
有错误。内容是
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
<dependencies>
<module name="com.h2database.h2"/>
<module name="org.codehaus.jackson.jackson-core-asl"/>
<module name="org.codehaus.jackson.jackson-mapper-asl"/>
<module name="org.slf4j"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
我在想问题是数据库h2现在从persistence.xml
中删除了,但我不知道如何在这里添加相应的postgresql模块。我是 Spring/OpenShift/Postgresql 的新手,所以有人可以帮助我吗?
最佳答案
第一个问题: 对于 spring-quick-start 应用程序,您不需要为 Postgresql 或 Mysql 获取 Maven 依赖项。您只需按照自述文件更改 persistence.xml。
第二个问题: 如果您不在本地构建,则甚至不需要将 1.0 更改为 2.0。 Openshift 将采用它。
关于java - 如何将 postgresql 添加到 OpenShift Spring 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19330241/