From RunaWFE
Jump to navigation Jump to search


RunaWFE Free Workflow System (BPMS) Version 4.4.2

© 2015-2021, "Process Technologies" Ltd, this document is available under GNU FDL license. RunaWFE Free is an open source system distributed under a LGPL license (

# Configuration

# Common configuration

# Jboss7 and WildFly deployment timeout

Sometimes default deployment timeout (60 seconds) is not enough for runawfe.ear to deploy. It leads to application stop and the following message:

JBAS015052: Did not receive a response to the deployment operation within the allowed timeout period [60 seconds]. 
Check the server configuration file and the server logs to find more about the status of the deployment.

To fix it add deployment-timeout attribute in standalone.xml (value in seconds)

<subsystem xmlns="urn:jboss:domain:deployment-scanner:1.0">
 <deployment-scanner scan-interval="5000" relative-to="jboss.server.base.dir" path="deployments" deployment-timeout="300" />

As an example see File:Standalone.xml.

Also if unsuccessful deployment added runawfe.ear.failed file next to runawfe.ear in /deploy you should delete runawfe.ear.failed.

# URI encoding

# Jboss7 and WildFly

If you use non-latin business process names uri encoding must be set to UTF-8.

To set it in standalone.xml add lines:

 <property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>

after extensions element closure. As example see File:Standalone.xml.

# Jboss4

If you use non-latin business process names uri encoding must be set to UTF-8.

To set it in ${jboss4}/server/default/deploy/jboss-web.deployer/server.xml add attribute URIEncoding

<Connector port="8080" ... URIEncoding="UTF-8" />


# JMS Queue has been renamed 4.0.6+

# Jboss7 and WildFly

JMS queue has been renamed in application code but Jboss7/WildFlyconfiguration is not changed. It doesn't cause errors, but send message and receive message nodes doesn't work.

To fix it in standalone.xml change

<jms-queue name="jbpmQueue">
 <entry name="queue/jbpmQueue"/>
 <entry name="java:jboss/exported/queue/jbpmQueue"/>


<jms-queue name="bpmMessages">
 <entry name="queue/bpmMessages"/>
 <entry name="java:jboss/exported/queue/bpmMessages"/>

As an example see File:Standalone.xml.

# Jboss4

Queue descriptor is in runawfe-jms-service.xml included in runawfe.ear, no additional actions needed.

# JMS logging transaction rollback

Sometimes it happens so in message nodes interaction that message is already sent from send message node, but control flow doesn't reach receive message for this message. This situation is legal but for correct work message receive operation transaction is rolled back. It causes errors in logs (1 error a minute) that pollutes the log. It's necessary to form log4j in such a way that this errors are ignored.

# Jboss7 and WildFly

In logging configuration in standalone.xml add lines:

<logger category="org.hornetq.ra.inflow.HornetQMessageHandler">
 <level name="FATAL"/>
<logger category="org.jboss.ejb3.invocation">
 <level name="FATAL"/>

# Jboss4

In ${RUNAWFE}/server/default/conf/jboss-log4j.xml define a category

<category name="org.jboss.resource.adapter.jms.inflow.JmsServerSession">
 <priority value="FATAL"/>

# Authentication configuration

# KrbException: KDC has no support for encryption type (14) - KDC has no support for encryption type

Add a parameter in register key

- For Windows Server 2003 and Windows 2000 SP4

key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters

parameter: allowtgtsessionkey=dword:0x01

- For Windows XP SP2

key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos

parameter: allowtgtsessionkey=dword:0x01

After adding parameter it's necessary to reboot.

# Web services configuration

# Calling web service from handler with the help of JAX-WS on JBoss 7.1.1 or WildFly

Caused by: java.lang.NoClassDefFoundError: org/springframework/beans/BeansException
at org.jboss.wsf.stack.cxf.client.configuration.JBossWSBusFactory.getSpringBusFactory(JBossWSBus

JBoss 7.1.1 is provided with JBossWS-cxf-4.0.2.GA, in which there's an error. Update JBoss-cxf to version 4.1.1.Final.

official instruction

# Error calling web service in JBoss 7.1.1 or WildFly

If there's a problem with calling web service from exterior application (from GPD for example) check the following:

It can be changed with option on Server start, for example -b

# Developer Studio

# JVM setings

If you want to change default JVM options (in case of OutOfMemoryError, for example) you can do this using file runa-gpd.ini located near runa-gpd.exe with sample content


Due to OS maximum process memory limit about 1.5 Gb you should distribute it between 3 areas: Heap, Permanent, Native. If you got SWTError: No more handles error then increase Native (by decreasing Heap or Permanent because Native = OS limit - Heap - Permanent). If you got OutOfMemoryError: Java heap space error then increase Heap (managed by -Xms, -Xmx). If you got OutOfMemoryError: PermGen space error then increase Permanent (managed by -XX:PermSize, -XX:MaxPermSize).



You are not limited by OS now and can increase working memory having hardware resources:


# Programming

# Process development

# Editing forms in Developer Studio

# Problem with forms in IE10

If you have IE version 10, then for correct work add localhost to trusted nodes in IE configuration.

# Problem with forms in IE11

If you have IE version 11, it's necessary to use CKeditor 4 in GPD.

In menu: Properties -> Settings -> Form editor

# Using Mozilla as embedded browser in Windows 4.1.2+

  • Download XULRunner (32-bit) or XULRunner (64-bit) (corresponding to used JDK) and extract to file system (for example c:/xulrunner-x.x.x.x).
  • In file runa-gpd.ini add options (with preciding -vmargs)

# Best Practices

Following these advices will save you from a lot of trobles.

  • In bot task handlers check the variable values (if there's an error, process stays in this task handler node till you correct error in code and doesn't go further where you cannot correct variable already)
  • Define all variables that you use in Developer Studio
  • Develop message routing between processes in such a way that one send message node corresponds to exactly one receive message node. There're exceptions when it's one-to-many correspondence, but you must be well aware of the consequences.