视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
配置Gatein为Oracle连接
2020-11-09 12:09:20 责编:小采
文档


主要环境: JBOSS 5.1.0 Orace 10G Gatein3.1.0-GA引用一下Gatein 官方使用手册上的原文并简单反译和注解一下大概

主要环境:
JBOSS 5.1.0

Orace 10G

Gatein3.1.0-GA

引用一下Gatein 官方使用手册上的原文并简单反译和注解一下大概意思:
2.1. Database Configuration
2.1.1. Overview
GateIn 3.1 has two different database dependencies. One is the identity service configuration, which depends on Hibernate. The other is Java content repository (JCR) service, which depends on JDBC API, and can integrate with any existing datasource implementation.

When you change the database configuration for the first time, GateIn will automatically generate the proper schema (assuming that the database user has the appropriate permissions).

GateIn 3.1 assumes the default encoding for your database is latin1. You may need to change this parameter for your database in order for GateIn 3.1 to work properly.

概述: 主要是说Gatein依赖两个数据库 一个是用来做身份认证的,是用Hibernate的。 另一个用来支持JCR的,,用JDBC API 两个都可以支持当前任何已存在的数库。 在你第一次改变数据库配置后,Gatein将会自动的生成schema(注解:数据库的方案,就是表,视图等)(你的数据库用户要有这些权限) GateIn3.1假定你的数据库编码方式为latin1,你可能需要改变你的数据库的编码方式来让Gate3.1正常工作 (注解:latin1 就是ISO8859-1编码,这个好像是mySql常用的编码方式,在我建立Oracle数据库时并没有这个编码方式,我用的是UTF-8,这个是宽字符集,应该是兼容的,反正到现在还没发现有问题)2.1.2. Configuring the database for JCR
To configure the database used by JCR you will need to edit the file:

$JBOSS_HOME/server/default/conf/gatein/configuration.propertiesFor Tomcat, the file is located at

$TOMCAT_HOME/gatein/conf/configuration.propertiesAnd edit the values of driver, url, username and password with the values for your JDBC connection (please, refer to your database JDBC driver documentation).


gatein.jcr.datasource.driver=org.hsqldb.jdbcDriver
gatein.jcr.datasource.url=jdbc:hsqldb:file:${gatein.db.data.dir}/data/jdbcjcr_${name}
gatein.jcr.datasource.username=sa
gatein.jcr.datasource.password=
By default, the name of the database is "jdbcjcr_${name}" - ${name} should be a part of the database name, as it is dynamically replaced by the name of the portal container extension (for instance, gatein-sample-portal.ear defines "sample-portal" as container name and the default portal defines "portal" as container name).

In the case of HSQL the databases are created automatically. For any other database you will need to create a database named jdbcjcr_portal (and "jdbcjcr_sample-portal" if you have gatein-sample-portal.ear in $JBOSS_HOME/server/default/deploy - note that some databases don't accept '-' in the database name, so you may have to remove $JBOSS_HOME/server/default/deploy/gatein-sample-portal.ear)

Make sure the user has rights to create tables on jdbcjcr_portal, and to update them as they will be automatically created during the first startup .

Also add your database's JDBC driver into the classpath - you can put it in $JBOSS_HOME/server/default/lib (or $TOMCAT_HOME/lib, if you are running on Tomcat)

MySQL example:

Let's configure our JCR to store data in MySQL. Let's pretend we have a user named "gateinuser" with a password "gateinpassword". We would create a database "mygateindb_portal" (remember that _portal is required), and assign our user the rights to create tables.

Then we need to add MySQL's JDBC driver to the classpath, and finally edit gatein.ear/02portal.war/WEB-INF/conf/jcr/jcr-configuration to contain the following:

gatein.jcr.datasource.driver=com.mysql.jdbc.Driver
gatein.jcr.datasource.url=jdbc:mysql://localhost:3306/mygateindb${container.name.suffix}
gatein.jcr.datasource.username=gateinuser
gatein.jcr.datasource.password=gateinpassword
2.1.2. JCR的数据库配置修改配置文件: JBOSS: $JBOSS_HOME/server/default/conf/gatein/configuration.propertiesTomcat:$TOMCAT_HOME/gatein/conf/configuration.properties修改其中的驱动,url,用户名,密码,例如:gatein.jcr.datasource.driver=org.hsqldb.jdbcDriver
gatein.jcr.datasource.url=jdbc:hsqldb:file:${gatein.db.data.dir}/data/jdbcjcr_${name}
gatein.jcr.datasource.username=sa
gatein.jcr.datasource.password=

....略去说它自已的默认配置方式,重点在下一段里.....
说在数据库为HSQL时,Gatein会自动的创建数据库,但是如果是别的那么要手动的建立名为:"jdbcjcr_portal"的数据库
(注解:根据上一段所说,应该是库名必须为_portal结尾,但是保险起见,我把我oracle的全局数据库名创建为,jdbcjcr_portal,
为这我还重装了一次oracle,不知道如果不改而只是创建一个名为jdbcjcr_portal的schema可以不可以,知道的试下告诉我一下吧)
(还要创建一个名为"jdbcjcr_sample-portal"的数据库,为GateIn的一个例子使用,但是有些数据库不支持"-"命名数据库,
那么就把这个例子删除,位置是$JBOSS_HOME/server/default/deploy/gatein-sample-portal.ear)
(注解:我是直接干掉了这个ear的,简单方便)

要确保你的数据库用户有建表的权限。要把你的数据库驱动考到$JBOSS_HOME/server/default/lib (你用Tomcat的话是$TOMCAT_HOME/lib)给出了一个mysql 的例子:gatein.jcr.datasource.driver=com.mysql.jdbc.Driver
gatein.jcr.datasource.url=jdbc:mysql://localhost:3306/mygateindb${container.name.suffix}
gatein.jcr.datasource.username=gateinuser
gatein.jcr.datasource.password=gateinpassword
我的
gatein.jcr.config.type=local
gatein.jcr.datasource.name=java:jdbcjcr
gatein.jcr.datasource.dialect=auto
gatein.jcr.datasource.driver=oracle.jdbc.driver.OracleDriver
gatein.jcr.datasource.url=jdbc:oracle:thin:@192.168.0.200:1521:dgoral
gatein.jcr.datasource.username=jdbcjcr_portal
gatein.jcr.datasource.password=XXXX
2.1.3. Configuring the database for the default identity store
By default, users are stored in a database. To change the database in which to store users, you will need to edit the file:

$JBOSS_HOME/server/default/conf/gatein/configuration.propertiesFor Tomcat, the file is located at

$TOMCAT_HOME/gatein/conf/configuration.propertiesYou will find the same kind of configuration as in jcr-configuration.xml:

gatein.idm.datasource.driver=org.hsqldb.jdbcDriver
gatein.idm.datasource.url=jdbc:hsqldb:file:${gatein.db.data.dir}/data/jdbcidm_${name}
gatein.idm.datasource.username=sa
gatein.idm.datasource.password2.1.3. 配置身份认证的数据库还是上面的那个配置文件:JBOSS: $JBOSS_HOME/server/default/conf/gatein/configuration.propertiesTomcat:$TOMCAT_HOME/gatein/conf/configuration.properties例子:(注解:这个我和上面那个用的同一个库,粘帖下就行了)gatein.idm.datasource.driver=org.hsqldb.jdbcDriver
gatein.idm.datasource.url=jdbc:hsqldb:file:${gatein.db.data.dir}/data/jdbcidm_${name}
gatein.idm.datasource.username=sa
gatein.idm.datasource.password
我的
# IDM
gatein.idm.datasource.name=java:jdbcidm
gatein.idm.datasource.driver=oracle.jdbc.driver.OracleDriver
gatein.idm.datasource.url=jdbc:oracle:thin:@192.168.0.200:1521:dgoral
gatein.idm.datasource.username=jdbcjcr_porta
gatein.idm.datasource.password=XXXX

看完上面的也就基本可以弄好了。多说一点,我对Oracle不是很了解,oracle的sid是不可以有“_“的,但是全局数据库名可以有,但是连接url中的部分还是要写sid的,写数据库名是不行了,有了解oracle的请指点一下。

下载本文
显示全文
专题