第 4 章 数据库配置
警告
4.1. 用于 Apache Jackrabbit 的数据库配置 复制链接链接已复制到粘贴板!
警告
- 一个 JBoss 企业级 BRMS 平台使用的空数据库。
- 一个 JBoss 企业级 BRMS 平台使用的数据库服务器用户帐号。JBoss 企业级 BRMS 平台将在指定的数据库里生成数据库表(如果不存在的话)。这一步完成后,红帽推荐你删除这个数据库用户创建表的权限。
- 用于数据库服务器的 JDBC 驱动
JAR
。
4.1.1. 配置工作区数据库 复制链接链接已复制到粘贴板!
Workspaces/Default/workspace.xml
文件里。repository.xml
文件包含用来创建新工作区的缺省设置。比更新现有缺省工作区更简单的方法是删除它并用 repository.xml
里的模板来更新。
过程 4.1. 修改库数据库
关闭应用服务器
在进行这些修改前关闭应用服务器。安装 JDBC 驱动 JAR
复制包含 JDBC 驱动的JAR
文件到服务器配置的lib
目录,如jboss-as-web/PROFILE/production/lib/
。在文本编辑器里打开
repository.xml
在文本编辑器里打开repository.xml
。使用 JBoss 时,这个文件将驻留在应用服务器的bin
目录里,除非指定了其他位置(如『第 4.3.1 节 “修改 JackRabbit 库的位置”』里所描述的)。更新 PersistenceManager 配置
找到<Workspace>
里的<PersistenceManager>
元素。例如:<PersistenceManager class= "org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager"> <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/> <param name="schemaObjectPrefix" value="${wsp.name}_"/> </PersistenceManager>
<PersistenceManager class= "org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager"> <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/> <param name="schemaObjectPrefix" value="${wsp.name}_"/> </PersistenceManager>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 用合适的数据库配置替换这些内容。请参考『附录 C, 持久化管理者配置示例』里的例子。设置 schemaObjectPrefix 参数
这个值是通过持久化管理者管理的每个数据库表的名称前缀来指定的(对于每个数据库它必须是唯一的)。缺省配置使用包含当前工作区的 ${wsp.name} 变量。<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除旧的工作区
删除workspaces/Default/
目录。重新启动
重启应用服务器。
4.1.2. 配置版本数据库 复制链接链接已复制到粘贴板!
repository.xml
文件里。不象工作区配置,版本存储配置并不仅仅是一个模板,它是在使用的实际配置。
过程 4.2. 修改版本数据库
关闭应用服务器
在进行这些修改前关闭应用服务器。安装 JDBC 驱动 JAR
复制包含 JDBC 驱动的JAR
文件到服务器配置的lib
目录,如jboss-as/server/PROFILE/lib/
。在文本编辑器里打开
repository.xml
在文本编辑器里打开repository.xml
。使用 JBoss 时,这个文件将驻留在应用服务器的bin
目录里,除非指定了其他位置(如『第 4.3.1 节 “修改 JackRabbit 库的位置”』里所描述的)。更新 PersistenceManager 配置
找到<Workspace>
里的<PersistenceManager>
元素。例如:<PersistenceManager class= "org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager"> <param name="url" value="jdbc:derby:${rep.home}/version/db;create=true"/> <param name="schemaObjectPrefix" value="version_"/> </PersistenceManager>
<PersistenceManager class= "org.apache.jackrabbit.core.persistence.bundle.DerbyPersistenceManager"> <param name="url" value="jdbc:derby:${rep.home}/version/db;create=true"/> <param name="schemaObjectPrefix" value="version_"/> </PersistenceManager>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 用合适的数据库配置替换这些内容。请参考『附录 C, 持久化管理者配置示例』里的例子。设置 schemaObjectPrefix 参数
这个值是通过持久化管理者管理的每个数据库表的名称前缀来指定的(对于每个数据库它必须是唯一的)。如果相同的数据库用于版本以及数据存储,请确保没有使用相同的 schemaObjectPrefix(缺省配置使用version_
)。<param name="schemaObjectPrefix" value="version_"/>
<param name="schemaObjectPrefix" value="version_"/>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动
重启应用服务器。
4.1.3. 搜索和索引 复制链接链接已复制到粘贴板!
repository.xml
文件的 <SearchIndex>
元素:
4.2.
用于 ModeShape 的数据库配置 复制链接链接已复制到粘贴板!
ModeShapeBRMSRepo
— for data storage which is configured in the PROFILE/deploy/modeshape-brms-store-ds.xml
文件。编辑这个文件来修改缺省的数据源配置 Hypersonic 为其他的数据库。这个文件是一个标准的 JBoss 数据源配置文件。
4.3. 库配置 复制链接链接已复制到粘贴板!
4.3.1. 修改 JackRabbit 库的位置 复制链接链接已复制到粘贴板!
bin
目录里生成。
components.xml
配置文件指定不同的位置。请选择一个经常进行备份的安全位置。
过程 4.3. 修改库位置
关闭应用服务器
在进行这些修改之前先请停止应用服务器。找到
components.xml
文件components.xml
文件位于已部署的 BRMS web 归档的WEB-INF/
目录下(deploy/jboss-brms.war/WEB-INF/
)。它是一个标准的 JBoss Seam 配置文件,它可以对应用程序的不同方面进行定制。找到 repository.root.directory 键-值属性。
在文本编辑器里打开components.xml
并找到 repository.root.directory 属性。它包含在 repositoryConfiguration 组件里且缺省是被注释的。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意
对于 BRMS 5.1 之前的版本,请遵循下面的步骤:- 找到 homeDirectory 属性
- 在文本编辑器里打开
components.xml
并找到 homeDirectory 属性。它包含在 repositoryConfiguration 组件里且缺省是被注释的。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 repository.root.directory 属性。
删除 repository.root.directory 属性周围的注释标记并将其值修改为数据库所在的路径(这个目录必须已经存在)。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意
对于 BRMS 5.1 之前的版本,其代码是:<component name="repositoryConfiguration"> <property name="homeDirectory">/opt/jboss-soa-platform/BRMSRulesRepository</property> </component>
<component name="repositoryConfiguration"> <property name="homeDirectory">/opt/jboss-soa-platform/BRMSRulesRepository</property> </component>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 移动现有的数据库(可选)
JBoss 企业级 BRMS 平台将在这个位置创建一个新的数据库(如果之前不存在)。要保留现有的数据库,在重启服务器之前复制现有的文件到到新的位置。重启应用服务器
重启服务器。如果没有移动现有的数据库到新的位置,新的数据库将被创建。
4.3.2.
配置 BRMS 使用外部的关系型数据库。 复制链接链接已复制到粘贴板!
repository.xml
包含关于库数据存储位置的信息。你必须修改这个文件以设立外部的 RDBMS。你可以手动编辑这个文件或通过 BRMS 用户界面里的 Repository Configuration 进行编辑。
repository.xml
文件,找到这个文件并用文本编辑器打开它。这个文件用描述选项的注释进行了注解。
repository.xml
文件位于应用服务器的 bin
目录里。
过程 4.4. 用 Repository Configuration 工具配置外部 RDBMS
登录用户界面
打开一个 web 浏览器并输入 URL http://localhost:8080/jboss-brms/,请用访问登录对话框的服务器的主机名代替 localhost。选择 Repository Configuration 工具
在导航面板里,选择 Administration,然后再选择 Repository Configuration。图 4.1. 库配置(Repository Configuration)工具
选择 RDBMS 类型
从 Select RDBMS type: 下拉菜单里,选择 RDBMS 类型。图 4.2. RDBMS 类型
输入 RDBMS 细节
如果配置了 JNDI,选中 USE JNDI 复选框。点击 Continue 并输入在部署的数据源里配置的 JNDI 名称。如果没有使用 JNDI,输入所需的 RDBMS 信息:- 驱动
- URL
- 用户
- 密码
图 4.3. RDBMS 信息
生成库的配置文件
选择 Generate repository config 以生成repository.xml
文件。你可以剪切或粘贴生成的文本到一个文件里并保存为repository.xml
,或者是选择 Save Configuration 将这些文本作为文件下载。用新的repository.xml
替换现有的repository.xml
。除非指定了不同的主目录(如 第 4.3.1 节 “修改 JackRabbit 库的位置” 里所描述的),repository.xml
将位于应用服务器的bin
目录里。