pentaho在oracle中的部署

一、编译bi-platform-assembly/manual_assembly.xml下的assemble目标

获得bi-platform-assembly/manual-stage目录,在manual-stage目录的build.xml中包括了所需要的的各种目标(target)

编译build.xml,编译后manual-stage/bulid目录如下:

   pentaho在oracle中的部署_第1张图片

二、配置bulid/pentaho-ears/jboss/no-protal/oracle10g/pentaho.ear

1)将pentaho.ear以及里面的war包全部解压,已方便修改。并且将pentaho.ear发布到jboss(要用jboss4.2.3,对于jboss4.2.0的会出现hibernate错误)下。

2)将方言库copy到对应的位置

copy quartz-all-1.5.2.jar(quartz版本对应pentaho bi 1.7) pentaho.ear//lib/目录下,并将原有quartz-1.5.2.jar删除。

当然也可以考虑保留原有的jar,将quartz-oracle-1.5.2.jar(只有一个专门针对oracle的方言类)复制到pentaho.ear/lib目录中

3)在quartz.properties中主要使用的一个叫myDS的数据源,该数据源指向应用容器jndi数据源,原有配置为:

       org.quartz.dataSource.myDS.jndiURL = java:Quartz

所以在容器中配置Quartz数据源,此处为JBossQuartz数据源定义在:jboss发布目录的Quartz-ds.xml

修改pentaho.ear/PentahoHibernate-ds.xmlquartz-ds.xml中的数据库连接

4)移除pentaho.ear/lib中的bsh-*.jargwt-dev-linux.jar文件这两个文件导致bsh自动部署。

bsh的自动执行是因为jboss在部署ear的时候,ear中的bsh-1.3.0.jarear一块被解压缩开,由于jboss默认情况下,会自动执行*.bsh文件,因此导致这个现象的出现)。

gwt-dev*.jar里面包含了一个servlet类,导致容器的servlet类冲突

5)将oracle驱动ojdbc.jar复制到pentaho.ear/lib目录下

6)修改pentaho.ear/pentaho.war/WEB-INF/web.xml,指向正确的pentaho-solutions路径,本机修改后如下

<context-param>

              <param-name>solution-path</param-name>

              <param-value>D:/pentaho/pentaho-solutions</param-value>

       </context-param>

pentaho在oracle中的部署_第2张图片

三、配置$PENTAHO_HOME/pentaho-solutions

1、配置方言:Quartz /system/quartz/quartz.properties

org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate

2、注意在sessionStartupActions.xml中删除不需要自动启动的actions

3

a)修改pentaho-solutions/system/hibernate/hibernate-settings.xml 文件 将内容改为符合oracle10g的内容

       <config-file>system/hibernate/oracle10g.hibernate.cfg.xml</config-file>

       <managed>false</managed>

b)oracle10g.hibernate.cfg.xml 复制到/WEB-INF/classes目录下面 取代原有的hibernate.cfg.xml,并修改oracle10g.hibernate.cfg.xml中数据库连接

c)修改system/hibernate/hibernate-jboss-managed.xml 将内容改为符合oracle10g的内容

       <mapping resource="hibernate/oracle10g.hbm.xml" />

d)修改applicationContext-acegi-security-jdbc.xml文件

e)修改applicationContext-acegi-security-hibernate.properties文件

4、配置pentahoObjects.spring.xml中的内容修改ISolutionRepository内容,选择是通过文件还是数据库方式来存储solution

四、创建用户和表,启动jboss服务

       运行$PENTAHO_HOME /data/oracle10g/下的sql文件创建用户和表以及表空间

在启动jboss服务前,先启动$PENTAHO_HOME/data/start_hypersonic.bat(因为要使用hsql中的SamplyDate数据库)

       启动jboss服务,访问http://localhost:8080/pentaho

 

bug

Quartz的实现过程中自主尝试使用jdbc 事务回滚,而在managed datasource的模式下,这导致问题,因为managed datasource不允许应用程序自主回滚???

Quartz.properties中配置用jobStore解决这个问题 修改294开始

你可能感兴趣的:(pentaho在oracle中的部署)