28.7. Seam での jBPM の設定
Seam の jBPM 統合はデフォルトではインストールされていません。 jBPM を有効にするには、 組み込みコンポーネントをインストールする必要があります。 また、 使用するプロセスとページフローの定義を
components.xml に明示的に記載する必要があります。
<bpm:jbpm>
<bpm:pageflow-definitions>
<value>createDocument.jpdl.xml</value>
<value>editDocument.jpdl.xml</value>
<value>approveDocument.jpdl.xml</value>
</bpm:pageflow-definitions>
<bpm:process-definitions>
<value>documentLifecycle.jpdl.xml</value>
</bpm:process-definitions>
</bpm:jbpm>
ページフローしかない場合はこれ以上の設定は不要です。 ビジネスプロセスの定義がある場合は jBPM 設定および jBPM 用の Hibernate 設定も用意する必要があります。 Seam DVD Store demo には、Seam で機能するサンプルの
jbpm.cfg.xml と hibernate.cfg.xml ファイルが含まれています。
<jbpm-configuration>
<jbpm-context>
<service name="persistence">
<factory>
<bean class="org.jbpm.persistence.db.DbPersistenceServiceFactory">
<field name="isTransactionEnabled"><false/></field>
</bean>
</factory>
</service>
<service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
<service name="message"
factory="org.jbpm.msg.db.DbMessageServiceFactory" />
<service name="scheduler"
factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory" />
<service name="logging"
factory="org.jbpm.logging.db.DbLoggingServiceFactory" />
<service name="authentication"
factory="org.jbpm.security.authentication
.DefaultAuthenticationServiceFactory"/>
</jbpm-context>
</jbpm-configuration>
jBPM トランザクションコントロールは無効である点に注意してください。 JTA のトランザクションは Seam または EJB3 のいずれかで制御してください。
28.7.1. パッケージング リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
jBPM 設定やプロセスおよびページフローの定義ファイルに対する明確なパッケージング形式はありません。他の標準パッケージング形式が開発されるかもしれませんが、Seam サンプルは
EAR のルートにパッケージされており、次のような構成となります。
my-application.ear/
jboss-seam.jar
lib/
jboss-el.jar
jbpm-jpdl.jar
META-INF/
MANIFEST.MF
application.xml
my-application.war/
META-INF/
MANIFEST.MF
WEB-INF/
web.xml
components.xml
faces-config.xml
lib/
jsf-facelets.jar
jboss-seam-ui.jar
login.jsp
register.jsp
...
my-application.jar/
META-INF/
MANIFEST.MF
persistence.xml
seam.properties
org/
jboss/
myapplication/
User.class
Login.class
LoginBean.class
Register.class
RegisterBean.class
...
jbpm.cfg.xml
hibernate.cfg.xml
createDocument.jpdl.xml
editDocument.jpdl.xml
approveDocument.jpdl.xml
documentLifecycle.jpdl.xml