Modeshape配置 - 结合XML +编程?

时间:2012-03-16 11:34:34

标签: jcr modeshape

我使用XML在我的开发箱上配置了一个Modeshape工作区,指向:

workspaceRootPath="C:/jcr/modeshape/dev/..."

我将使用安装在不同卷上的工作区部署到Linux:

workspaceRootPath="/jcr/modeshape/prod/..."

是否可以使用环境变量来配置它,还是需要采用编程配置?是否有Modeshape团队推荐的方法?

由于

1 个答案:

答案 0 :(得分:1)

如果您使用的是更高版本的ModeShape,则可以在配置文件中使用一个变量,该变量将在配置加载时替换为同名的System属性的值。例如,如果您使用以下内容:

workspaceRootPath="${myWorkspaceDirectory}"

并将System属性“myWorkspaceDirectory”设置为“/ foo / bar”,然后当ModeShape加载配置时,它会将变量解析为等效变量:

workspaceRootPath="/foo/bar"

当然,变量只是属性值的一部分,你甚至可以使用多个变量(只要它们不是嵌套的)。例如,这也是有效的:

workspaceRootPath="${my.system.root.path}/modeshape/${my.system.deploymentType}"

最后,每个变量的语法是:

"${" systemPropName { "," systemPropName } [ ":" defaultValue ] "}"

这允许在单个变量中指定一个或多个系统属性名称和可选的默认值。系统属性名称从左到右进行计算,并且将使用第一个具有相应实际系统属性的属性名称。这是另一个人为的例子:

workspaceRootPath="${my.system.path1,my.system.path2,my.system.path3:/default/path}/modeshape/${my.system.deploymentType}"