Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

The following are the steps and issues when installing Joget Workflow Enterprise Edition v5 DX on other Java EE application servers. Please do contribute to this article with your experiences.

Installation on Weblogic 12c (12.2.1.4)

  1. Set the JAVA_OPTIONS environment variable:

    Code Block
    export JAVA_OPTIONS="-javaagent:path_to/wflow/wflow-cluster.jar -javaagent:path_to/aspectjweaver-1.8.

...

  1. 5.jar -javaagent:path_to/wflow/glowroot/glowroot.jar"
  2. Deploy the jw.war and jwdesigner.war files, they should work as normal.file in the domains/base_domain/deploy/autodeploy directory

Installation on Websphere Liberty 19 (19.0.0.8

...

)

  1. Set the JAVA_OPTIONS environment variable:

    Code Block
    export JVM_ARGS="-javaagent:path_to/wflow/wflow-cluster.jar -javaagent:path_to/aspectjweaver-1.8.5.jar -javaagent:path_to/wflow/glowroot/glowroot.jar"
  2. Enable websocket features (disabled by default) by adding <feature>websocket-1.1</feature> in usr/servers/defaultServer/server.xml e.g. 


    Code Block
    languagexml
    <!-- Enable features -->
    <featureManager>
        <feature>jsp-2.3</feature>
        <feature>websocket-1.1</feature>
    </featureManager>
    
  3. Deploy the jw.war file in the usr/servers/defaultServer/dropins directory

Installation on JBoss EAP 7 (7.2.0)

  1. Set the JAVA_OPTIONS environment variable:

    Code Block
    export JAVA_OPTIONS="-javaagent:path_to/wflow/wflow-cluster.jar -javaagent:path_to/aspectjweaver-1.8.5.jar -javaagent:path_to/wflow/glowroot/glowroot.jar -Dorg.aspectj.tracing.enabled=false -Dorg.aspectj.tracing.factory=default"
  2. Configure standalone/configuration/standalone.xml to prevent session locking (https://access.redhat.com/solutions/2776221) by removing the locking and transaction tags:

    Code Block
    languagexml
    <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
        <local-cache name="passivation">
            <!-- DELETE OR COMMENT THESE 2 LINES
            <locking isolation="REPEATABLE_READ"/>
            <transaction mode="BATCH"/> 
            -->
            <file-store passivation="true" purge="false"/>
        </local-cache>
    </cache-container>
    
  3. Deploy the jw.war file in the standalone/deployments directory
  1. Deploy the jw.war and jwdesigner.war files, they should work as normal.

Installation on JBoss EAP 6.4 (6.4.0)

  1. Deploy the jw.war and jwdesigner.war files.
  2. Manually configure the datasource in "wflow" folder.
  3. Set "wflow" folder path correctly in JAVA_OPTS.

Installation on Glassfish 4.1

  1. GlassFish runs an older version of the Apache Felix OSGI container, so there is a class loader conflict.

    Code Block
    java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.apache.felix.framework.wiring.BundleCapabilityImpl.getResource()Lorg/osgi/resource/Resource;" 
    the class loader (instance of org/glassfish/web/loader/WebappClassLoader) of the current class, org/apache/felix/framework/wiring/BundleCapabilityImpl, and the class loader (instance of java/net/URLClassLoader) for interface org/osgi/resource/Capability have different Class objects for the type tyImpl.getResource()Lorg/osgi/resource/Resource; used in the signature
    

     To mitigate this, we will need to downgrade the Apache Felix libraries before deploying to GlassFish.

  2. Expand (unzip) jw.war
  3. Delete the newer Apache Felix jar files from WEB-INF/lib:
    1. org.apache.felix.framework-4.6.1.jar
    2. org.apache.felix.main-4.6.1.jar
  4. Add the older Apache Felix jar files below into WEB-INF/lib:
    1. org.apache.felix.framework-4.0.3.jar
    2. org.apache.felix.main-4.0.3.jar
  5. Add a modified Apache Felix config.properties file below (which contains a new property felix.service.urlhandlers=false) into WEB-INF/classes 
    1. config.properties
  6. Repackage into an updated jw.war
  7. Deploy the updated jw.war and jwdesigner.war