<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    本站不再更新,歡迎光臨 java開發(fā)技術網(wǎng)
    隨筆-230  評論-230  文章-8  trackbacks-0
    1 新建一個名為oswf的Web Projcet 項目,并添加項目的? struts capabilities,并把osworkflow所需要jar文件拷貝到lib目錄下.

    2 在tomcat的servers.xml文件中配置一個項目連接到我們所在的myeclipse工作區(qū)中所建立的oswf項目下的WebRoot目錄下.在servers.xml中添加如下代碼:

    <Context path="/oswf" docBase="D:\peidw\workplace\osworkflow\WebRoot" debug="5" reloadable="true" crossContext="true">
    ??????? <Resource name="jdbc/oswf" auth="Container" type="javax.sql.DataSource"/>
    ????????? <ResourceParams name="jdbc/oswf">
    ????????? <parameter>
    ??????????? <name>factory</name>
    ??????????? <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    ????????? </parameter>
    ????????? <parameter>
    ??????????? <name>driverClassName</name>
    ??????????? <value>com.mysql.jdbc.Driver</value>
    ????????? </parameter>
    ????????? <parameter>
    ??????????? <name>url</name>
    ??????????? <value>jdbc:mysql://localhost:3306/osworkflow</value>
    ????????? </parameter>
    ????????? <parameter>
    ??????????? <name>username</name>
    ??????????? <value>root</value>
    ????????? </parameter>
    ????????? <parameter>
    ??????????? <name>password</name>
    ??????????? <value></value>
    ????????? </parameter>
    ????????? <parameter>
    ??????????? <name>maxActive</name>
    ??????????? <value>20</value>
    ????????? </parameter>
    ????????? <parameter>
    ??????????? <name>maxIdle</name>
    ??????????? <value>2</value>
    ????????? </parameter>
    ????????? <parameter>
    ??????????? <name>maxWait</name>
    ??????????? <value>-1</value>
    ????????? </parameter>
    ????????? <parameter>
    ??????????? <name>removeAbandoned</name>
    ??????????? <value>true</value>
    ????????? </parameter>
    ????????? <parameter>
    ??????????? <name>removeAbandonedTimeout</name>
    ??????????? <value>300</value>
    ????????? </parameter>
    ??????? </ResourceParams>
    ??????? </Context>

    3? 在src目錄需要建立三個文件來配置OSWorkflow的相關配置.首先是osworkflow.xml文件,至于文件的作用一看就明白,內(nèi)容如下:
    ?????? <?xml version="1.0" encoding="UTF-8"?>
    <osworkflow>
    ?<persistence class="com.opensymphony.workflow.spi.jdbc.JDBCWorkflowStore">
    ???? <property key="datasource" value="jdbc/oswf"/>
    ????
    ???? <property key="entry.sequence" value="select max(id)+1 from os_wfentry"/>
    ???? <property key="entry.id" value="id"/>
    ???? <property key="entry.name" value="name" />
    ???? <property key="entry.state" value="state"/>
    ????
    ???? <property key="step.sequence" value="select max(id)+1 from os_stepids"/>
    ???? <property key="step.sequence.increment" value="insert into os_stepids(id) values(null) "/>
    ???? <property key="step.sequence.retrieve" value="select max(id) from os_stepids"/>
    ????
    ???? <property key="history.table" value="os_historystep"/>
    ???? <property key="current.table" value="os_currentstep"/>
    ???? <property key="histroyPrev.table" value="os_historystep_prev"/>
    ???? <property key="currentPrev.table" value="os_currentstep_prev"/>
    ????
    ???? <property key="step.id" value="ID"/>
    ??????? <property key="step.entryId" value="ENTRY_ID"/>
    ??????? <property key="step.stepId" value="STEP_ID"/>
    ??????? <property key="step.actionId" value="ACTION_ID"/>
    ??????? <property key="step.owner" value="OWNER"/>
    ??????? <property key="step.caller" value="CALLER"/>
    ??????? <property key="step.startDate" value="START_DATE"/>
    ??????? <property key="step.finishDate" value="FINISH_DATE"/>
    ??????? <property key="step.dueDate" value="DUE_DATE"/>
    ??????? <property key="step.status" value="STATUS"/>
    ??????? <property key="step.previousId" value="PREVIOUS_ID"/>
    ????
    ?</persistence>
    ?
    ?<factory class="com.opensymphony.workflow.loader.JDBCWorkflowFactory">
    ??<property key="resource" value="workflows.xml"/>
    ?</factory>
    </osworkflow>
    在src目錄下新建一個propertyset.xml來存儲相應的字段配置信息:

    ? <?xml version="1.0" encoding="UTF-8"?>
    <propertysets>
    ??? <propertyset name="jdbc"
    ????? class="com.opensymphony.module.propertyset.database.JDBCPropertySet">
    ??????? <arg name="datasource" value="jdbc/oswf"/>
    ??????? <arg name="table.name" value="OS_PROPERTYENTRY"/>
    ??????? <arg name="col.globalKey" value="GLOBAL_KEY"/>
    ??????? <arg name="col.itemKey" value="ITEM_KEY"/>
    ??????? <arg name="col.itemType" value="ITEM_TYPE"/>
    ??????? <arg name="col.string" value="STRING_VALUE"/>
    ??????? <arg name="col.date" value="DATE_VALUE"/>
    ??????? <arg name="col.data" value="DATA_VALUE"/>
    ??????? <arg name="col.float" value="FLOAT_VALUE"/>
    ??????? <arg name="col.number" value="NUMBER_VALUE"/>
    ??? </propertyset>
    </propertysets>
    還要新建一個流程的配置文件,該文件的命名與osworkflow.xml的factory節(jié)點里的值有關,如:

    <?xml version="1.0" encoding="UTF-8"?>
    <workflows>
    ? <workflow name="leave" type="resource" location="leave.xml"/>
    </workflows>

    那么leave.xml就是一個工作流的真正配置文件。其內(nèi)容如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.7//EN" 
    "http://www.opensymphony.com/osworkflow/workflow_2_7.dtd">
    <workflow>
      <initial-actions>
       <action id="0" name="開始">
          <results>
            <unconditional-result old-status="Finished" status="Queued" step="1" />
          </results>
        </action>
      </initial-actions>
    
      <steps>
        <step id="1" name="填假單">
          <actions>
            <action id="1" name="送出">
    	  <pre-functions>
    	    <function type="class">
    	      <arg name="class.name">com.opensymphony.workflow.util.Caller</arg>
    	    </function>
    	  </pre-functions>
              <results>
                <unconditional-result old-status="Finished" status="Queued" 
    step="2"  owner="User100" />
              </results>
            </action>
          </actions>
        </step>
    
        <step id="2" name="批假單">
          <actions>
            <action id="2" name="準許">
    	  <pre-functions>
    	    <function type="class">
    	      <arg name="class.name">com.opensymphony.workflow.util.Caller</arg>
    	    </function>
    	  </pre-functions>
              <results>
                <unconditional-result old-status="Finished" status="Queued" 
    step="3"  owner="${caller}"/>
              </results>
            </action>
    
            <action id="3" name="駁回">
    	  <pre-functions>
    	    <function type="class">
    	      <arg name="class.name">com.opensymphony.workflow.util.Caller</arg>
    	    </function>
    	  </pre-functions>
              <results>
                <unconditional-result old-status="Finished" status="Queued" 
    step="1"  owner="${caller}"/>
              </results>
            </action>
          </actions>      
        </step>
    
        <step id="3" name="停止" />
      </steps>
    </workflow>


    這樣就可以配置OSworkflow持久化進mysql中.
    posted on 2006-04-11 15:40 有貓相伴的日子 閱讀(1887) 評論(0)  編輯  收藏 所屬分類: workflow
    本站不再更新,歡迎光臨 java開發(fā)技術網(wǎng)
    主站蜘蛛池模板: 亚洲国产精品成人综合色在线婷婷| 亚洲午夜AV无码专区在线播放| 国色精品卡一卡2卡3卡4卡免费 | 美女尿口扒开图片免费 | 亚洲熟妇av午夜无码不卡| 免费大片av手机看片| 色欲色香天天天综合网站免费| 无码高潮少妇毛多水多水免费| 亚洲福利精品电影在线观看| 亚洲五月激情综合图片区| 亚洲精品精华液一区二区 | 在线播放高清国语自产拍免费| 亚洲精品无码永久中文字幕| 亚洲熟妇AV一区二区三区宅男| 成人毛片18女人毛片免费视频未| 亚洲愉拍一区二区三区| 日韩成人免费视频播放| 亚洲男人天堂影院| 国产精品亚洲一区二区三区在线观看 | 日韩精品视频免费在线观看| 亚洲AV日韩综合一区| 亚洲免费观看网站| 精品亚洲一区二区| 新最免费影视大全在线播放| 噼里啪啦免费观看高清动漫4| 国产.亚洲.欧洲在线| 91大神在线免费观看| 国产亚洲一区二区在线观看| 久久精品一本到99热免费| 日韩亚洲国产综合高清| 免费无码VA一区二区三区| 亚洲午夜久久久影院| 免费的黄网站男人的天堂| 亚洲乱码中文字幕综合| 久热中文字幕在线精品免费| 亚洲老熟女五十路老熟女bbw| 黄页网站免费观看| 无码日韩人妻AV一区免费l| 亚洲黄色网址大全| 免费观看激色视频网站bd| 噜噜噜亚洲色成人网站|