30.2. 部署 EJB 服务 WAR 文件
您可以使用 Enterprise fsid (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 JBoss EAP 实例上部署 EJB WAR 文件,与运行 Red Hat Process Automation Manager 的单独部署,请配置您的应用程序或应用服务器来调用远程 EJB 并传播安全上下文。
如果您使用 Hibernate 为红帽流程自动化管理器创建数据库架构,请更新 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;
有关使用红帽 JBoss EAP 开发和部署 EJB 应用程序的更多信息,请参阅 开发 EJB 应用。