我是新来的openJPA.

我有一种情况,取决于服务器在哪里我的应用程序的运行,我需要改变设置persistance.xml.为。如果它运行服务器上的一个,那么就应该使用不同的数据库(不同url),不同的密码等。如果运行应用程序服务器B那么就应该使用不同的信息。

你能不能还告诉我,其方式应当这样做,使用的数据源,或只是把性质,在持久性单元。

FYI我使用WS应用程序。服务器和7RAD7.5

任何类型的帮助将受到高度赞赏。

有帮助吗?

解决方案

你使用的应用程序服务器,所以你不需要设置的数据库连接设置在persistence.xml 文件。你应该能够创建一个JNDI中的数据源应用服务器然后使用。每个服务器可能的数据源的相同参数,然后将没有任何需要persistence.xml 差异。

讲习班,访问用户和数据源 似乎尤其相关。作为不 设立一个JNDI数据源中的WebSphere6.0/6.1WebSphere+JNDI+弹框架+休眠.

您使用的是春天?如果是这样,那么问题是容易的解决:你不要把数据来源的信息,在你的persistence.xml你把它放在你的应用程序方面,就会有不同的配置在每个服务器。

例如:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="classpath:database.properties"/>
</bean>

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${database.class}"/>
    <property name="url" value="${database.url}"/>
    <property name="username" value="${database.username}"/>
    <property name="password" value="${database.password}"/>
</bean>

和每个服务器可以有不同的数据库。性文件上的每台服务器(其中各类路径中的某个地方在此例):

database.username=scratch
database.password=scratch
database.class=oracle.jdbc.OracleDriver
database.url=jdbc:oracle:thin:@localhost:1521:XE

改变persistence.xml 在运行时,会有问题因为那不是真的如何访问用户设计的目的。

当然,你可以使用JNDI数据来源泉。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top