activiti 5.8 oracle10g demo安装笔记

来源:互联网 发布:文件夹隐藏软件 编辑:程序博客网 时间:2024/04/28 08:28
 一、软件准备
 1、下载activiti-5.8.zip,官方地址:http://activiti.org/downloads/activiti-5.8.zip
 2、下载jdk 1.6,官方地址:http://java.sun.com/javase/downloads/index.jsp
 3、下载ant 1.8.2 官方地址:http://archive.apache.org/dist/ant/binaries/
 4、下载oracle 10g 这个很容易找的到,相信热爱oracle数据库的coder手里都会有
 5、下载tomcat 6.0.32 apache官方网
 6、下载activiti-modeler.5.6.war 地址:http://dl.alfresco.com/activiti/activiti-modeler-5.6.war
 
 补充说明:
 1、activiti-5.7以后就没有发布同版本的activiti-modeler.war包了,我目前知道的最高版本activiti-modeler-5.6.war,不过经过验证
   低版本的modeler也可以在demo里正常发布。
 2、jdk官方user guide里说1.5+就行,不过我验证过在启动activiti-explorer时会报一个编辑版本号不一致的错,换1.6就ok了,我用的
   是1.6.0.22。
 3、安装完oracle 10g后从你的oracle_home\product\10.2.0\db_1\jdbc\lib里取出ojdbc14.jar,备用。
 4、jdk和ant的安装与配置就不在这里说明了
 5、建议下载好tomcat 6.0.32放在build.properties配置的downloads.dir下,因为安装时自动下载我自己碰到过失败,不是因为没有下载成功,
    我这里用的是tomcat 6.0.33
 
二、修改配置
 1、修改数据配置
  a、修改build.db.properties文件
   找到activiti-5.8/setup/build.db.properties,文件默认是h2内存数据库的配,换成oracle数据库配置信息包括用户及其口令;在
   activiti-5.4.zip里是包含所有支持的数据配置的,可以参考那里oracle数据库的配置,这里复上我的配置:
   ------------------db config begin ----------------------------
   db=oracle
  jdbc.driver=oracle.jdbc.driver.OracleDriver
  jdbc.url=jdbc:oracle:thin:@localhost:1521:ORCL
  jdbc.username=activiti
  jdbc.password=activiti
  ------------------db config end ----------------------------
  另外要修改应用里所有db.properties文件,内容同上
  
 b、替换数据库及数据初始化.sql文件
   同样demo里默认的h2数据库脚本文件——h2.data.sql,所以必须相应的oracle数据库脚本文件——oracle.data.sql,在读懂h2.data.sql文
   件后可以手动写一个oracle数据库的,当然这里可以在5.4里copy一份过来,文件名称必须是oracle.data.sql,否则安装时会因为找不到
   此文件失败;准备好oracle.data.sql文件后可以删除h2.data.sql文件,可以不删除的(我的习惯就是不能看到多余文件或代码,所以……),
   如下复上oracle.data.sql内容,为那些无法下载的朋友备着,放在附录-数据脚本了。
  
 c、准备ojdbc14.jar并修改相应工程下的数据库配置
   取ojdbc14.jar在第一章说明了,这里说明要在哪些目录下补充此文件,如如下所示:
   · activiti-5.8\setup\files\dependencies\libs
   · activiti-5.8\setup\files\webapps\activiti-rest.war\WEB-INF\lib
   · activiti-5.8\setup\files\webapps\activiti-explorer.war\WEB-INF\lib
   另修改setup\files\dependencies下的所有包h2-1.2.132.jar的txt文件,用ojdbc14.jar替换,这里是为了在安装时把ojdbc14.jar复制到workspace相应的工程里
  
   修改应用下的数据库配置
   这主要是修改所有activiti.cfg.xml和applicationContext.xml里的,除常规信息完,需补充<property name="databaseType" value="oracle" />,配置过jpa的朋友
   了解,如下所示:
   ......
   <!-- Database configurations -->
    <property name="databaseSchemaUpdate" value="true" />
    <property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:ORCL" />
    <property name="jdbcDriver" value="oracle.jdbc.driver.OracleDriver" />
    <property name="jdbcUsername" value="activiti" />
    <property name="jdbcPassword" value="activiti" />
    <!-- 注意以上灵活配置,看清楚要不要换,细节很重要,下一行可以直接copy -->
    <property name="databaseType" value="oracle" />
    ......
 
 d、修改build.xml里数据相关配置
   修改数据库驱动jar包为ojdbc14.jar,如下所示:
   ......
   <target name="internal.define.jdbc.driver.libs">
     <fileset id="jdbc.driver.libs" dir="${activiti.home}/setup/files/dependencies/libs">
       <include name="ojdbc14*.jar" />
     </fileset>
   </target>
   ......
   清除所有h2数据库相关配置信息,这个需要自己仔细阅读才知道舍什么留什么,当然你不用清除所有,你可以h2安装与初始化的入口清除就行
   
 2、解决tomcat后台中文信息乱码问题
  在所有logging.properties里添加:java.util.logging.ConsoleHandler.encoding = GBK,此文件所在目录如下:
  · setup\files\tomcat
  · setup\files\webapps\activiti-explorer.war\WEB-INF\classes
  · setup\files\webapps\activiti-rest.war\WEB-INF\classes
 
三、安装
 1、启动oracle,保障你选的用户有获取链接、登录、创建表的等权限;
 2、验证jdk和ant安装成功
 3、在cmd里进入setup目录下,执行demo.start
四、发布modeler
 activiti-modeler是一个web版bpmn designer,目前好像只支持ff浏览器,这里用的是我目前拥的最高版本activiti-modeloer-5.6.war
   
附录:
 1、数据库脚本:
  --------------------------------------db script begin ------------------------------------------------------------
  insert into ACT_ID_GROUP values ('admin',       1, 'System administrator', 'security-role');
  insert into ACT_ID_GROUP values ('user',        1, 'User', 'security-role');
  insert into ACT_ID_GROUP values ('manager',     1, 'Manager', 'security-role');
  insert into ACT_ID_GROUP values ('management',  1, 'Management',  'assignment');
  insert into ACT_ID_GROUP values ('accountancy', 1, 'Accountancy', 'assignment');
  insert into ACT_ID_GROUP values ('engineering', 1, 'Engineering', 'assignment');
  insert into ACT_ID_GROUP values ('sales',       1, 'Sales', 'assignment');
  
  insert into ACT_ID_USER values ('kermit', 1, 'Kermit', 'the Frog', 'kermit@localhost', 'kermit', '');
  insert into ACT_ID_MEMBERSHIP values ('kermit', 'admin');
  insert into ACT_ID_MEMBERSHIP values ('kermit', 'manager');
  insert into ACT_ID_MEMBERSHIP values ('kermit', 'management');
  insert into ACT_ID_MEMBERSHIP values ('kermit', 'accountancy');
  insert into ACT_ID_MEMBERSHIP values ('kermit', 'engineering');
  insert into ACT_ID_MEMBERSHIP values ('kermit', 'sales');
  
  insert into ACT_ID_USER values ('fozzie', 1, 'Fozzie', 'Bear', 'fozzie@localhost', 'fozzie', '');
  insert into ACT_ID_MEMBERSHIP values ('fozzie', 'user');
  insert into ACT_ID_MEMBERSHIP values ('fozzie', 'accountancy');
  
  insert into ACT_ID_USER values ('gonzo', 1, 'Gonzo', 'the Great', 'gonzo@localhost', 'gonzo', '');
  insert into ACT_ID_MEMBERSHIP values ('gonzo', 'manager');
  insert into ACT_ID_MEMBERSHIP values ('gonzo', 'management');
  insert into ACT_ID_MEMBERSHIP values ('gonzo', 'accountancy');
  insert into ACT_ID_MEMBERSHIP values ('gonzo', 'sales');
  
  update ACT_GE_PROPERTY
  set VALUE_ = '10'
  where NAME_ = 'next.dbid';
  
  insert into ACT_CY_CONN_CONFIG values ('1',
      'org.activiti.cycle.impl.connector.fs.FileSystemConnector',
      'Eclipse Workspace (File System)',
      'Workspace',
      'kermit', '',
      '<map><entry><string>basePath</string><string>@cycle.base.file.path@</string></entry></map>');
  insert into ACT_CY_CONN_CONFIG values ('2',
      'org.activiti.cycle.impl.connector.signavio.SignavioConnector',
      'Activiti Modeler',
      'Activiti',
      'kermit', '',
      '<map>
       <entry><string>signavioBaseUrl</string><string>@activiti.modeler.base.url@</string></entry>
       <entry><string>loginRequired</string><boolean>false</boolean></entry>
      </map>');
  
  insert into ACT_CY_CONN_CONFIG values ('3',
      'org.activiti.cycle.impl.connector.fs.FileSystemConnector',
      'Eclipse Workspace (File System)',
      'Workspace',
      'fozzie', '',
      '<map><entry><string>basePath</string><string>@cycle.base.file.path@</string></entry></map>');
  insert into ACT_CY_CONN_CONFIG values ('4',
      'org.activiti.cycle.impl.connector.signavio.SignavioConnector',
      'Activiti Modeler',
      'Activiti',
      'fozzie', '',
      '<map>
       <entry><string>signavioBaseUrl</string><string>@activiti.modeler.base.url@</string></entry>
       <entry><string>loginRequired</string><boolean>false</boolean></entry>
      </map>');
  
  insert into ACT_CY_CONN_CONFIG values ('5',
      'org.activiti.cycle.impl.connector.fs.FileSystemConnector',
      'Eclipse Workspace (File System)',
      'Workspace',
      'gonzo', '',
      '<map><entry><string>basePath</string><string>@cycle.base.file.path@</string></entry></map>');
  insert into ACT_CY_CONN_CONFIG values ('6',
      'org.activiti.cycle.impl.connector.signavio.SignavioConnector',
      'Activiti Modeler',
      'Activiti',
      'gonzo', '',
      '<map>
       <entry><string>signavioBaseUrl</string><string>@activiti.modeler.base.url@</string></entry>
       <entry><string>loginRequired</string><boolean>false</boolean></entry>
      </map>');    
  
    
  insert  into  ACT_CY_CONFIG values ('1',
           'processSolutionTemplates',
           'default',
           '<processSolutionTemplate>
            <vFolder type="Management" name="Management" connectorId="Workspace" referencedNodeId="/" />
            <vFolder type="Processes" name="Processes" connectorId="Activiti" referencedNodeId="/root-directory" />
            <vFolder type="Requirements" name="Requirements" connectorId="Workspace" referencedNodeId="/" />
            <vFolder type="Implementation" name="Implementation" connectorId="Workspace" referencedNodeId="/" />
           </processSolutionTemplate>'); 
  
  insert  into ACT_CY_PROCESS_SOLUTION values ('ps1',
              'Easy Bugfiling Process',
              'IN_SPECIFICATION');
             
  insert into ACT_CY_V_FOLDER values('ps1Management',
             'Management',
             'Workspace',
             '/EasyBugFilingProcess/Management',
             'ps1',
             'Management');
  insert into ACT_CY_V_FOLDER values('ps1Requirements',
             'Requirements',
             'Workspace',
             '/EasyBugFilingProcess/Requirements',
             'ps1',
             'Requirements');
  insert into ACT_CY_V_FOLDER values('ps1Implementation',
             'Implementation',
             'Workspace',
             '/EasyBugFilingProcess/Implementation',
             'ps1',
             'Implementation');
  --------------------------------------db script end ------------------------------------------------------------
 2、解决第二次启动tomcat时报java.io.NotSerializableException异常问题,在context.xml里<Context>标签里添加如下配置:
   <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false">
        <Store className="org.apache.catalina.session.FileStore"/>
    </Manager>        
 这样启动后就不会有任何异常信息了    
  附件复上关键的四个配置文件:
  build.xml
  build.properties
  build.db.properties
  oracle.data.sql
 
原创粉丝点击