0

Oracleをバックエンドとして使用して、Activiti 5.9でJPAロジックを使用してSpring Beanを作成するにはどうすればよいですか

4

1 に答える 1

0

これがあなたの質問に答えているかどうかはわかりませんが、試してみます。目標を達成するために何か特別なことをする必要はありません。processEngine を Spring Bean として宣言します。これに関する情報は、Activiti ユーザー ガイドで確認できます。

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">

    <property name="jdbcUrl" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000" />
    <property name="jdbcDriver" value="org.h2.Driver" />
    <property name="jdbcUsername" value="sa" />
    <property name="jdbcPassword" value="" />

    <property name="databaseSchemaUpdate" value="true" />

    <property name="jobExecutorActivate" value="false" />

    <property name="mailServerHost" value="mail.my-corp.com" /> 
    <property name="mailServerPort" value="5025" />    
  </bean>

</beans>

その後、JPA ロジックを含む Spring Bean を実装します。ここには Activiti 固有のものは何もありません。Activiti がないように実装するだけです。詳細はこちらのサイトでご覧いただけます。最後に、その方法でサービス タスクでこの Bean を使用できます。

<serviceTask id="javaService" 
         name="My Java Service Task" 
         activiti:expression="#{printer.printMessage(myVar1, myVar2)}" />

ここでprinterは、Spring Bean にすることも、プロセス コンテキスト内の名前付き変数にすることもできます。変数myVar1myVar2は、プロセス コンテキストに存在する変数です。

次の方法で、JPA ロジックを含む Bean を Activiti 対応の Bean として設計することもできます。

 <serviceTask id="serviceTask" activiti:delegateExpression="${delegateExpressionBean}" />

この場合、delegateExpressionBeanあなたの JPA ロジックを含む Bean ですが、その Bean のクラスは Activiti のJavaDelegateインターフェースを実装する必要があります。君の選択。

于 2013-09-23T13:00:33.010 に答える