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

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

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

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

    2 在tomcat的servers.xml文件中配置一個(gè)項(xiàng)目連接到我們所在的myeclipse工作區(qū)中所建立的oswf項(xiàng)目下的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目錄需要建立三個(gè)文件來(lái)配置OSWorkflow的相關(guān)配置.首先是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目錄下新建一個(gè)propertyset.xml來(lái)存儲(chǔ)相應(yīng)的字段配置信息:

    ? <?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>
    還要新建一個(gè)流程的配置文件,該文件的命名與osworkflow.xml的factory節(jié)點(diǎn)里的值有關(guān),如:

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

    那么leave.xml就是一個(gè)工作流的真正配置文件。其內(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="開(kāi)始">
          <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="準(zhǔn)許">
    	  <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持久化進(jìn)mysql中.
    posted on 2006-04-11 15:40 有貓相伴的日子 閱讀(1880) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): workflow
    本站不再更新,歡迎光臨 java開(kāi)發(fā)技術(shù)網(wǎng)
    主站蜘蛛池模板: 久久久久久国产a免费观看黄色大片| 亚洲午夜久久久精品电影院| 久久精品免费全国观看国产| 国产免费AV片在线观看| 国产午夜亚洲精品不卡电影| 亚洲乱人伦精品图片| 人人狠狠综合久久亚洲婷婷| 亚洲国产成人乱码精品女人久久久不卡 | 精品久久久久久国产免费了| 亚洲狠狠色丁香婷婷综合| 亚洲成a人片7777| 亚洲成色999久久网站| 国产成人亚洲影院在线观看| 免费国产人做人视频在线观看| 免费a级毛片高清视频不卡 | 在线亚洲精品福利网址导航| 四虎永久在线免费观看| 毛片大全免费观看| 青青视频观看免费99| 狼群影院在线观看免费观看直播| 日韩精品无码免费专区午夜| 国产精品免费αv视频| 五月天婷婷精品免费视频| 粉色视频免费入口| 麻豆安全免费网址入口| 麻豆亚洲AV成人无码久久精品 | 亚洲香蕉久久一区二区| 亚洲综合在线成人一区| 亚洲国产二区三区久久| 久久精品国产精品亚洲艾草网| 亚洲精品乱码久久久久久自慰| 国产av无码专区亚洲国产精品| 亚洲男人的天堂在线va拉文| 国产亚洲精品免费视频播放 | 国产精品免费久久久久久久久| 搜日本一区二区三区免费高清视频| 精品女同一区二区三区免费播放| 国产精品观看在线亚洲人成网| 久久综合亚洲色hezyo| 午夜在线亚洲男人午在线| 四虎精品免费永久免费视频|