30.2. 部署 EJB 服务 WAR 文件
您可以使用 Enterprise MRG (ejb)接口创建和部署您要用作 Red Hat Process Automation Manager 发行版一部分的 EJB 服务 WAR 文件。
流程
使用启动 Java 类注册人任务回调,如下例所示:
@Singleton @Startup public class StartupBean { @PostConstruct public void init() { System.setProperty("org.jbpm.ht.callback", "jaas"); } }
- 构建 EJB 项目,以根据您的项目配置生成 WAR 文件。
在运行 Red Hat Process Automation Manager 的 Red Hat JBoss EAP 实例上部署生成的文件。
避免使用
Singleton
策略进行运行时会话。Singleton
策略可能会导致应用程序从底层文件系统多次加载相同的ksession
实例,并导致选择性锁定异常。如果要在与运行 Red Hat Process Automation Manager 的 Red Hat JBoss EAP 实例上部署 EJB WAR 文件,请配置应用程序或应用服务器来调用远程 EJB 并传播安全上下文。
如果您使用 Hibernate 为 Red Hat Process Automation Manager 创建数据库模式,请更新 Business Central 中的
persistence.xml
文件,并设置hibernate.hbm2ddl.auto
属性的值,而不是创建
。通过创建基本 web 应用程序并注入 EJB 服务在本地测试部署,如下例所示:
@EJB(lookup = "ejb:/sample-war-ejb-app/ProcessServiceEJBImpl!org.jbpm.services.ejb.api.ProcessServiceEJBRemote") private ProcessServiceEJBRemote processService; @EJB(lookup = "ejb:/sample-war-ejb-app/UserTaskServiceEJBImpl!org.jbpm.services.ejb.api.UserTaskServiceEJBRemote") private UserTaskServiceEJBRemote userTaskService; @EJB(lookup = "ejb:/sample-war-ejb-app/RuntimeDataServiceEJBImpl!org.jbpm.services.ejb.api.RuntimeDataServiceEJBRemote") private RuntimeDataServiceEJBRemote runtimeDataService;
有关使用 Red Hat JBoss EAP 开发和部署 EJB 应用程序的更多信息,请参阅 EJB 应用程序。