[jboss-user] [JBoss Portal] - Re: jboss-portal-2.6-ALPHA1-bundled with Oracle
jboss@biancashouse.com
do-not-reply at jboss.com
Fri Jan 19 20:24:52 EST 2007
This is a work in progress, but the following is a checklist of things that make Portal work with Oracle.
Hope it is helpful to you... Ian
Installed using jem installer 1.2.GA
Datasource is Oracle thin driver, with username jbportal241
Portal-2.6-alpha1
Changes made to get Portal working with Oracle
==============================================
Using oci rather than thin driver
---------------------------------
It is recommeded we use the oci style of connection.
The latest oci drivers can be downloaded from Oracle.
You have to unzip the download into a directory and add that directory to the windows path.
You also have to copy the ojdbc.jar to the lib directoy for your deployment directory.
If you already had an Oracle client, you'll need to rename a property in your windows
registry:
\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG
Use a later version of Apache JackRabbit
----------------------------------------
In portal-cms.sar, replace jackrabbit-core-1.0.jar with jackrabbit-core-1.1.1.jar
Edited portal-cms.sar/META-INF/jboss-service.xml to make use of OracleFileSystem
that is now available in the newer jackrabbit API. Note - the oracle username
and password are found in the new file.
Moved portal-cms.war into portal-cms.sar
Workarounds for bugs in Oracle's JDBC driver
--------------------------------------------
See http://forum.hibernate.org/viewtopic.php?t=82
and http://forum.hibernate.org/viewtopic.php?t=930650
and http://jira.jboss.com/jira/browse/JBAS-191
Gavin King reminds us that Oracle don't handle out-join-fetching properly, and
recommends we disable it. So I found how to do this in the Hibernate reference docs:
http://www.hibernate.org/hib_docs/reference/en/html/session-configuration.html
3.4.2. Outer Join Fetching
--------------------------
If your database supports ANSI, Oracle or Sybase style outer joins, outer join fetching
will often increase performance by limiting the number of round trips to and from the
database (at the cost of possibly more work performed by the database itself).
Outer join fetching allows a whole graph of objects connected by many-to-one, one-to-many,
many-to-many and one-to-one associations to be retrieved in a single SQL SELECT.
Gavin King informs us that Oracle doesn't handle out-join-fetching properly, and
recommends we disable it. So I found how to do this in the Hibernate reference docs:
http://www.hibernate.org/hib_docs/reference/en/html/session-configuration.html
Outer join fetching may be disabled globally by setting the property hibernate.max_fetch_depth to 0.
A setting of 1 or higher enables outer join fetching for one-to-one and many-to-one
associations which have been mapped with fetch="join".
See Section 19.1, ?Fetching strategies? for more information.
So I add the following lines:
org.hibernate.dialect.Oracle9Dialect
0
to hibernate.cfg.xml in these directories:
jboss-portal.sar/conf/hibernate/instance
jboss-portal.sar/conf/hibernate/portal
jboss-portal.sar/conf/hibernate/portlet
jboss-portal.sar/conf/hibernate/user
jboss-portal.sar/portal-cms.sar/conf/hibernate/cms
Bug in SQL generation from Hibernate mappings
=============================================
Table JBP_OBJECT_NODE does not get generated due to the following SQl being generated:
create table JBP_OBJECT_NODE (
PK number(19,0) not null,
PATH varchar2(255 char) unique,
NAME varchar2(255 char),
PARENT_KEY number(19,0),
primary key (PK), unique (PATH)
)
remove unique="true" from the PATH column mapping in jboss-portal.sar/conf/hibernate/portal/domain.hbm.xml
This bug also applies to the mapping for JBP_INSTANCE, so remove the same entry from:
jboss-portal.sar/conf/hibernate/instance/domain.hbm.xml
Oracle CLOB mapping problem
===========================
Refer to the JIRA: http://jira.jboss.com/jira/browse/JBAS-191
... please ensure that you are using the absolute latest Oracle 9.2 JDBC drivers, even if your database is Oracle 8. Also, you must use the
"OCI" variant if you want to store LOB's greater than about 4k...
Refer to Oracle's description of the CLOBS: http://www.oracle.com/technology/sample_code/tech/java/codesnippet/jdbc/clob10g/handlingclobsinoraclejdbc10g.html
I have download the latest oracle 10g R2 jdbc driver 10.2.0.2
Workaround for Oracle version of JBoss Forums
---------------------------------------------
apply the same as above to hibernate.cfg.xml in jboss-forums.ear/portal-forums.sar/conf
Jboss Forums ear has a bug - missing Faces listener
===================================================
Add the following listener to jboss-forums.ear/portal-forums.war/WEB-INF/web.xml
<!-- MyFaces -->
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
Changed the deployment xml so that ForumsPortlet not deployed - just JSFForumsPortlet
NOTE - Forums won't work with Portal Alpha1 - class cast exception - waiting for someone to identify that problem - use Portal 2.6DR is you need Forums
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4004097#4004097
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4004097
More information about the jboss-user
mailing list