如何处理glassfish中的接受和生产环境的配置

时间:2011-07-12 09:37:31

标签: glassfish

我想创建一个不了解其运行环境的应用程序。 特定于环境的配置我想留给glassfish的配置。

所以例如我有一个'指向'jta数据源的persistence.xml

<jta-data-source>jdbc/DB_PRODUCTSUPPLIER</jta-data-source>

在glassfish中,此数据源配置为“指向”连接池。 此连接池配置为连接到数据库。

我希望有一种机制,以便我可以为生产和接受环境定义这些资源,而无需更改jndi名称。因为这意味着我的应用程序可以识别环境。

我需要为此创建两个域吗?或者我需要两个完全独立的玻璃鱼装置?

1 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是使用群集功能(GF 2.1默认安装通常是开发人员模式,因此您必须启用群集,默认情况下GF 3.1群集似乎已启用。)

作为群集的一部分,您可以创建不参与群集的独立实例。每个实例都可以拥有自己的配置。这些实例共享资源部分下的所有内容,每个实例在系统属性中可以有单独的值,最重要的是这些是单独的端口号。

所以一个使用场景是你的accept / beta环境将在它自己的实例上运行不同的端口(默认为38080,38181等,假设你正在做一个http应用程序)。以这种方式运行时,新实例将在单独的JVM中运行。使用GF 2.1,您需要了解如何管理节点代理。使用GF 3.1,您不必担心这一点。

部署应用程序时,必须选择目标,称为目标,这样您就可以在一个实例上拥有一个accept / beta版本,在另一个实例上拥有一个生产版本。

这就是我使用当前的GF 2.1非群集设置运行beta部署的方法,它运行良好。