在生产中使用不同的数据库提供程序设置
Using different database provider settings in production
说我想在开发和生产中使用不同的配置,并且想在两者之间轻松切换,这样我的 IDE 就可以直接使用开发设置,并且使用简单的Maven 命令我能够创建一个正常运行的 WAR.
许多属性都存储在资源下的 Isis 属性文件中。我知道 Maven 资源插件可以用环境变量和 Maven 属性替换 el 表达式。然而,这种替换只在打包阶段完成,所以这些表达式在“开发”中是无用的。
有人想出好的方法了吗?有没有办法在生产中加载不同的配置文件?
我们目前覆盖 context.xml 中的默认值以指向开发、测试和生产箱上的不同配置文件:
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Manager pathname="" />
<Parameter name="shiroConfigLocations" value="file:/var/isis-config/shiro.ini" override="false" />
<Parameter name="isis.config.dir" value="/var/isis-config/" override="false" />
<Parameter name="wicket.configuration" value="deployment" override="false" />
</Context>
/var/isis-config 文件夹包含以下文件:
- isis.properties
- logging.properties
- persistor.properties
- persistor_datanucleus.properties
- shiro.ini
- viewer_wicket.properties
说我想在开发和生产中使用不同的配置,并且想在两者之间轻松切换,这样我的 IDE 就可以直接使用开发设置,并且使用简单的Maven 命令我能够创建一个正常运行的 WAR.
许多属性都存储在资源下的 Isis 属性文件中。我知道 Maven 资源插件可以用环境变量和 Maven 属性替换 el 表达式。然而,这种替换只在打包阶段完成,所以这些表达式在“开发”中是无用的。
有人想出好的方法了吗?有没有办法在生产中加载不同的配置文件?
我们目前覆盖 context.xml 中的默认值以指向开发、测试和生产箱上的不同配置文件:
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Manager pathname="" />
<Parameter name="shiroConfigLocations" value="file:/var/isis-config/shiro.ini" override="false" />
<Parameter name="isis.config.dir" value="/var/isis-config/" override="false" />
<Parameter name="wicket.configuration" value="deployment" override="false" />
</Context>
/var/isis-config 文件夹包含以下文件:
- isis.properties
- logging.properties
- persistor.properties
- persistor_datanucleus.properties
- shiro.ini
- viewer_wicket.properties