⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loan.bpel

📁 ejb3 java session bean
💻 BPEL
字号:
<?xml version="1.0" encoding="UTF-8"?><process name="LoanApproval" targetNamespace="http://jbpm.org/examples/loan"  xmlns:loan="http://jbpm.org/examples/loan" xmlns:task="http://jbpm.org/examples/task"  xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/"  xmlns:jbpm="urn:jbpm.org:bpel-1.1"  xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">  <partnerLinks>    <partnerLink name="borrower" partnerLinkType="loan:borrower-loaner" myRole="loaner" />    <partnerLink name="taskManager" partnerLinkType="loan:taskRequester-taskManager"      myRole="taskRequester" partnerRole="taskManager" />  </partnerLinks>  <variables>    <variable name="loanRequest" messageType="loan:loanRequest" />    <variable name="statusResponse" messageType="loan:statusResponse" />    <variable name="statusRequest" messageType="loan:statusRequest" />  </variables>  <correlationSets>    <correlationSet name="borrowerName" properties="loan:borrowerName" />  </correlationSets>  <sequence name="Main">    <receive name="AcceptLoanRequest" partnerLink="borrower" portType="loan:Loaner"      operation="requestLoan" variable="loanRequest" createInstance="yes">      <correlations>        <correlation initiate="yes" set="borrowerName" />      </correlations>    </receive>    <switch name="EvaluateAmount">      <case condition="bpel:getVariableData('loanRequest', 'amount') &lt; 1000">        <assign name="ApproveLoan">          <copy>            <from expression="'approved'" />            <to variable="statusResponse" part="status" />          </copy>        </assign>      </case>      <otherwise>        <scope name="EscalateToAgent">          <variables>            <variable name="taskCreationResponse" messageType="task:createTaskResponse" />            <variable name="taskCreationRequest" messageType="task:createTaskRequest" />            <variable name="taskEndedNotification" messageType="task:endTaskRequest" />            <variable name="taskEndedConfirmation" messageType="task:endTaskResponse" />          </variables>          <correlationSets>            <correlationSet name="evaluationTask" properties="loan:taskId" />          </correlationSets>          <sequence name="EscalateSeq">            <assign name="PrepareTaskCreation">              <copy>                <from expression="'evaluate loan'" />                <to variable="taskCreationRequest" part="taskInfo" query="/taskInfo/@name" />              </copy>              <copy>                <from expression="'agent'" />                <to variable="taskCreationRequest" part="taskInfo" query="/taskInfo/@actorId" />              </copy>              <copy>                <from expression="jbpm:getTokenId()" />                <to variable="taskCreationRequest" part="taskInfo" query="/taskInfo/@tokenId" />              </copy>              <copy>                <from partnerLink="taskManager" endpointReference="myRole" />                <to variable="taskCreationRequest" part="replyTo" />              </copy>            </assign>            <invoke name="CreateEvaluationTask" partnerLink="taskManager"              portType="task:TaskManager" operation="createTask" inputVariable="taskCreationRequest"              outputVariable="taskCreationResponse">              <correlations>                <correlation initiate="yes" pattern="in" set="evaluationTask" />              </correlations>            </invoke>            <assign name="SetEvaluating">              <copy>                <from expression="'evaluating'" />                <to variable="statusResponse" part="status" />              </copy>            </assign>            <while name="EvaluationLoop"              condition="bpel:getVariableData('statusResponse', 'status') = 'evaluating'">              <pick name="EvaluationMenu">                <onMessage partnerLink="taskManager" portType="task:TaskCallback"                  operation="taskEnded" variable="taskEndedNotification">                  <correlations>                    <correlation set="evaluationTask" />                  </correlations>                  <sequence name="CloseEvaluationTaskSeq">                    <assign name="ReadEvaluationResult">                      <copy>                        <from variable="taskEndedNotification" part="taskInfo"                          query="/taskInfo/loanStatus" />                        <to part="status" variable="statusResponse" />                      </copy>                    </assign>                    <reply name="ConfirmEvaluationTaskEnded" partnerLink="taskManager"                      portType="task:TaskCallback" operation="taskEnded"                      variable="taskEndedConfirmation" />                  </sequence>                </onMessage>                <onMessage partnerLink="borrower" portType="loan:Loaner" operation="getLoanStatus"                  variable="statusRequest">                  <correlations>                    <correlation set="borrowerName" />                  </correlations>                  <reply name="NotifyEvaluating" partnerLink="borrower" portType="loan:Loaner"                    operation="getLoanStatus" variable="statusResponse" />                </onMessage>              </pick>            </while>          </sequence>        </scope>      </otherwise>    </switch>    <receive name="AcceptStatusRequest" partnerLink="borrower" portType="loan:Loaner"      operation="getLoanStatus" variable="statusRequest">      <correlations>        <correlation set="borrowerName" />      </correlations>    </receive>    <reply name="SendStatus" partnerLink="borrower" portType="loan:Loaner" operation="getLoanStatus"      variable="statusResponse" />  </sequence></process>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -