Local machine installation without FQDN and Error with starting up a local demo installation

 I am trying to set up a local machine to practice and downloaded the temporary key and met all the prerequisites. While following the instructions to make changes to the custom.properties.<ENVIRONMENT>, I don't find any FQDN as per the instructions, so I put in a loopback address 127.0.0.1:8080, and finished all the instructions. I ran the validation and deployment configuration as advised and they show successful, but when I try to start Appian using the instructions, I don't see a successful message - I see two Java windows open up (one is zookeeper and elastic search). What am I missing? Is this  error due to the FQDN or some other attribute that I might have missed? Will appreciate help in this regards.

 

Thank you in advance 

  Discussion posts and replies are publicly visible

Parents
  • jboss startup error.txt

    Tried adding %SystemRoot%\System32\Wbem to the envrionment PATH and reinstalled Appian, this time Engine started, Search server started, but when starting the JBOSS, still there is an error :: Services which failed to start: service jboss.web.deployment.default-host./suite

    And also an error when running search server stating The system cannot find the batch label specified - ensureSsP - so I followed some previous instructions and deleted the Plugin of appian-es-auth

    So I stopped the JBOSS, Search server and engines, checked status and then deleted the failed and changed to dodeploy and tried again. But the issue is still present. Please help

    Looking forward for help in fixing this issue.

     

    Attached the server log and Jboss error too

    2671.server.log

  • 0
    A Score Level 2
    in reply to davinenig
    This time the issue is with datasource not being able to be reached....

    Please check the following things:

    1. in jboss-eap-6.4/standalone/configuration/standalone.xml, <security-domain name="ds-name-security-primary" cache-type="default"> and <security-domain name="ds-name-security-business" cache-type="default"> name value matches with jboss-eap-6.4/standalone/deployments/appian-ds.xml file's <security-domain>ds-name-security-primary</security-domain> values....Also the jndi name in appian-ds.xml denoted by jdbc/AppianDS should match up in appian/ear/suite.ear/conf/custom.properties files' conf.data.APPIAN_DATA_SOURCE and conf.data.datasources properties...and also please remember to change appian-ds.xml.failed to appian-ds.xml.dodeploy....These things should resolve your issue.
  • Hi Aswin, thank you for such a quick reply, I tried following your instructions and found multiple entried of <security-domain name - so didn't want to again mess up things very badly, so have attached both the xml files here, can you kindly verify if they are the in place and let me know. Also in reference to Jndi name, I have put jdbc/appiands as suggested in the installation guide, do you want me to put jdbc/appiands in #conf.data.datasources= (if yes, then do I have to uncomment this line too?)

    Kindly advice. Please excuse my inability to follow your earlier instruction.

    Thanking in advance.

    <?xml version='1.0' encoding='UTF-8'?>
    
    <server xmlns="urn:jboss:domain:1.7">
    
        <extensions>
            <extension module="org.jboss.as.clustering.infinispan"/>
            <extension module="org.jboss.as.connector"/>
            <extension module="org.jboss.as.deployment-scanner"/>
            <extension module="org.jboss.as.ee"/>
            <extension module="org.jboss.as.ejb3"/>
            <extension module="org.jboss.as.jaxrs"/>
            <extension module="org.jboss.as.jdr"/>
            <extension module="org.jboss.as.jmx"/>
            <extension module="org.jboss.as.jpa"/>
            <extension module="org.jboss.as.jsf"/>
            <extension module="org.jboss.as.logging"/>
            <extension module="org.jboss.as.mail"/>
            <extension module="org.jboss.as.messaging"/>
            <extension module="org.jboss.as.naming"/>
            <extension module="org.jboss.as.pojo"/>
            <extension module="org.jboss.as.remoting"/>
            <extension module="org.jboss.as.sar"/>
            <extension module="org.jboss.as.security"/>
            <extension module="org.jboss.as.threads"/>
            <extension module="org.jboss.as.transactions"/>
            <extension module="org.jboss.as.web"/>
            <extension module="org.jboss.as.webservices"/>
            <extension module="org.jboss.as.weld"/>
        </extensions>
    
        <system-properties>
            <property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT" value="5000"/>
        </system-properties>
    
    
        <management>
            <security-realms>
                <security-realm name="ManagementRealm">
                    <authentication>
                        <local default-user="$local" skip-group-loading="true"/>
                        <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
                    </authentication>
                    <authorization map-groups-to-roles="false">
                        <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
                    </authorization>
                </security-realm>
                <security-realm name="ApplicationRealm">
                    <authentication>
                        <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                        <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
                    </authentication>
                    <authorization>
                        <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
                    </authorization>
                </security-realm>
            </security-realms>
            <audit-log>
                <formatters>
                    <json-formatter name="json-formatter"/>
                </formatters>
                <handlers>
                    <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
                </handlers>
                <logger log-boot="true" log-read-only="false" enabled="false">
                    <handlers>
                        <handler name="file"/>
                    </handlers>
                </logger>
            </audit-log>
            <management-interfaces>
                <native-interface security-realm="ManagementRealm">
                    <socket-binding native="management-native"/>
                </native-interface>
                <http-interface security-realm="ManagementRealm">
                    <socket-binding http="management-http"/>
                </http-interface>
            </management-interfaces>
            <access-control provider="simple">
                <role-mapping>
                    <role name="SuperUser">
                        <include>
                            <user name="$local"/>
                        </include>
                    </role>
                </role-mapping>
            </access-control>
        </management>
    
        <profile>
            <subsystem xmlns="urn:jboss:domain:messaging:1.4">
                <hornetq-server>
                    <persistence-enabled>true</persistence-enabled>
                    <security-domain>messaging</security-domain>
                    <journal-file-size>102400</journal-file-size>
                    <journal-min-files>2</journal-min-files>
    
                    <connectors>
                        <netty-connector name="netty" socket-binding="messaging"/>
                        <netty-connector name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                        </netty-connector>
                        <in-vm-connector name="in-vm" server-id="0"/>
                    </connectors>
    
                    <acceptors>
                        <netty-acceptor name="netty" socket-binding="messaging"/>
                        <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                            <param key="direct-deliver" value="false"/>
                        </netty-acceptor>
                        <in-vm-acceptor name="in-vm" server-id="0"/>
                    </acceptors>
    
                    <broadcast-groups>
                        <broadcast-group name="appian-broadcast-group">
                            <socket-binding>messaging-group</socket-binding>
                            <broadcast-period>5000</broadcast-period>
                            <connector-ref>
                                netty
                            </connector-ref>
                        </broadcast-group>
                    </broadcast-groups>
    
                    <discovery-groups>
                        <discovery-group name="appian-discovery-group">
                            <socket-binding>messaging-group</socket-binding>
                            <refresh-timeout>10000</refresh-timeout>
                        </discovery-group>
                    </discovery-groups>
    
                    <security-settings>
                        <security-setting match="#">
                            <permission type="send" roles="guest"/>
                            <permission type="consume" roles="guest"/>
                        </security-setting>
                    </security-settings>
    
                    <address-settings>
                        <address-setting match="#">
                            <dead-letter-address>jms.queue.DLQ</dead-letter-address>
                            <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                            <redelivery-delay>0</redelivery-delay>
                            <max-size-bytes>10485760</max-size-bytes>
                            <address-full-policy>BLOCK</address-full-policy>
                            <message-counter-history-day-limit>10</message-counter-history-day-limit>
                        </address-setting>
                    </address-settings>
    
                    <jms-connection-factories>
                        <connection-factory name="ProcessIntegrationConnectionFactory">
                            <connectors>
                                <connector-ref connector-name="netty"/>
                            </connectors>
                            <entries>
                                <entry name="jms/AppianProcessIntegrationConnectionFactory"/>
                                <entry name="java:jboss/exported/jms/AppianProcessIntegrationConnectionFactory"/>
                            </entries>
                        </connection-factory>
                        <pooled-connection-factory name="hornetq-ra">
                            <transaction mode="xa"/>
                            <connectors>
                                <connector-ref connector-name="in-vm"/>
                            </connectors>
                            <entries>
                                <entry name="java:/JmsXA"/>
                            </entries>
                        </pooled-connection-factory>
                    </jms-connection-factories>
    
                    <jms-destinations>
                        <jms-queue name="jms/ProcessQueue">
                            <entry name="jms/AppianProcessIntegrationQueue"/>
                            <entry name="java:jboss/exported/jms/AppianProcessIntegrationQueue"/>
                        </jms-queue>
                    </jms-destinations>
                </hornetq-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:logging:1.5">
                <console-handler name="CONSOLE">
                    <level name="INFO"/>
                    <formatter>
                        <named-formatter name="COLOR-PATTERN"/>
                    </formatter>
                </console-handler>
                <periodic-rotating-file-handler name="FILE" autoflush="true">
                    <formatter>
                        <named-formatter name="PATTERN"/>
                    </formatter>
                    <file relative-to="jboss.server.log.dir" path="server.log"/>
                    <suffix value=".yyyy-MM-dd"/>
                    <append value="true"/>
                </periodic-rotating-file-handler>
                <logger category="com.arjuna">
                    <level name="WARN"/>
                </logger>
                <logger category="org.apache.tomcat.util.modeler">
                    <level name="WARN"/>
                </logger>
                <logger category="org.jboss.as.config">
                    <level name="DEBUG"/>
                </logger>
                <logger category="sun.rmi">
                    <level name="WARN"/>
                </logger>
                <logger category="jacorb">
                    <level name="WARN"/>
                </logger>
                <logger category="jacorb.config">
                    <level name="ERROR"/>
                </logger>
                <logger category="org.jboss.as.server.deployment">
                    <level name="ERROR"/>
                </logger>
                <root-logger>
                    <level name="INFO"/>
                    <handlers>
                        <handler name="CONSOLE"/>
                        <handler name="FILE"/>
                    </handlers>
                </root-logger>
                <formatter name="PATTERN">
                    <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
                <formatter name="COLOR-PATTERN">
                    <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:datasources:1.2">
                <datasources>
                    <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                        <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                        <driver>h2</driver>
                        <security>
                            <user-name>sa</user-name>
                            <password>sa</password>
                        </security>
                    </datasource>
                    <drivers>
                        <driver name="h2" module="com.h2database.h2">
                            <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                        </driver>
                        <driver name="com.mysql.jdbc" module="com.mysql.jdbc">
                            <driver-class>com.mysql.jdbc.Driver</driver-class>
                            <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                        </driver>
                    </drivers>
                </datasources>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
                <deployment-scanner name="appian" path="${appian.home.ear}" scan-interval="5000" auto-deploy-zipped="false" auto-deploy-exploded="false" auto-deploy-xml="false" deployment-timeout="3600"/>
                <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ee:1.2">
                <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
                <annotation-property-replacement>false</annotation-property-replacement>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ejb3:1.5">
                <session-bean>
                    <stateless>
                        <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
                    </stateless>
                    <stateful default-access-timeout="5000" cache-ref="simple"/>
                    <singleton default-access-timeout="5000"/>
                </session-bean>
                <mdb>
                    <resource-adapter-ref resource-adapter-name="hornetq-ra"/>
                    <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
                </mdb>
                <pools>
                    <bean-instance-pools>
                        <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                        <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                        <strict-max-pool name="UnattendedRequestPool" max-pool-size="30" instance-acquisition-timeout="15" instance-acquisition-timeout-unit="MINUTES"/>
                    </bean-instance-pools>
                </pools>
                <caches>
                    <cache name="simple" aliases="NoPassivationCache"/>
                    <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
                </caches>
                <passivation-stores>
                    <file-passivation-store name="file"/>
                </passivation-stores>
                <async thread-pool-name="default"/>
                <timer-service thread-pool-name="default" default-data-store="default-file-store">
                    <data-stores>
                        <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                    </data-stores>
                </timer-service>
                <remote connector-ref="remoting-connector" thread-pool-name="default"/>
                <thread-pools>
                    <thread-pool name="default">
                        <max-threads count="10"/>
                        <keepalive-time time="100" unit="milliseconds"/>
                    </thread-pool>
                </thread-pools>
                <default-security-domain value="other"/>
                <default-missing-method-permissions-deny-access value="true"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:infinispan:1.5">
                <cache-container name="web" aliases="standard-session-cache" default-cache="local-web" module="org.jboss.as.clustering.web.infinispan">
                    <local-cache name="local-web" batching="true">
                        <file-store passivation="false" purge="false"/>
                    </local-cache>
                </cache-container>
                <cache-container name="hibernate" default-cache="local-query" module="org.jboss.as.jpa.hibernate:4">
                    <local-cache name="entity">
                        <transaction mode="NON_XA"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="local-query">
                        <transaction mode="NONE"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="timestamps">
                        <transaction mode="NONE"/>
                        <eviction strategy="NONE"/>
                    </local-cache>
                </cache-container>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jca:1.1">
                <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
                <bean-validation enabled="true"/>
                <default-workmanager>
                    <short-running-threads>
                        <core-threads count="50"/>
                        <queue-length count="50"/>
                        <max-threads count="50"/>
                        <keepalive-time time="10" unit="seconds"/>
                    </short-running-threads>
                    <long-running-threads>
                        <core-threads count="50"/>
                        <queue-length count="50"/>
                        <max-threads count="50"/>
                        <keepalive-time time="10" unit="seconds"/>
                    </long-running-threads>
                </default-workmanager>
                <cached-connection-manager/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                <expose-resolved-model/>
                <expose-expression-model/>
                <remoting-connector/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jpa:1.1">
                <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
            <subsystem xmlns="urn:jboss:domain:mail:1.2">
                <mail-session name="default" jndi-name="java:jboss/mail/Default">
                    <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                </mail-session>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:naming:1.4">
                <remote-naming/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
            <subsystem xmlns="urn:jboss:domain:remoting:1.2">
                <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
            <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
            <subsystem xmlns="urn:jboss:domain:security:1.2">
                <security-domains>
                    <security-domain name="other" cache-type="default">
                        <authentication>
                            <login-module code="Remoting" flag="optional">
                                <module-option name="password-stacking" value="useFirstPass"/>
                            </login-module>
                            <login-module code="RealmDirect" flag="required">
                                <module-option name="password-stacking" value="useFirstPass"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                    <security-domain name="jboss-web-policy" cache-type="default">
                        <authorization>
                            <policy-module code="Delegating" flag="required"/>
                        </authorization>
                    </security-domain>
                    <security-domain name="jboss-ejb-policy" cache-type="default">
                        <authorization>
                            <policy-module code="Delegating" flag="required"/>
                        </authorization>
                    </security-domain>
                    <security-domain name="messaging" cache-type="default">
                        <authentication>
                            <login-module code="RealmUsersRoles" flag="required">
                                <module-option name="unauthenticatedIdentity" value="guest"/>
                                <module-option name="usersProperties" value="${jboss.server.config.dir}/application-users.properties"/>
                                <module-option name="rolesProperties" value="${jboss.server.config.dir}/application-roles.properties"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                    <security-domain name="ds-name-security-primary" cache-type="default">
                        <authentication>
                            <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
                                <module-option name="username" value="root"/>
                                <module-option name="password" value="5dfc52b51bd35553df8592078de921bc"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                </security-domains>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
            <subsystem xmlns="urn:jboss:domain:transactions:1.5">
                <core-environment>
                    <process-id>
                        <uuid/>
                    </process-id>
                </core-environment>
                <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                <coordinator-environment default-timeout="300"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
                <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
                <virtual-server name="default-host" enable-welcome-root="true">
                    <alias name="localhost"/>
                    <alias name="example.com"/>
                </virtual-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:webservices:1.2">
                <modify-wsdl-address>true</modify-wsdl-address>
                <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
                <endpoint-config name="Standard-Endpoint-Config"/>
                <endpoint-config name="Recording-Endpoint-Config">
                    <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                        <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                    </pre-handler-chain>
                </endpoint-config>
                <client-config name="Standard-Client-Config"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:weld:1.0"/>
        </profile>
    
        <interfaces>
            <interface name="management">
                <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
            </interface>
            <interface name="public">
                <inet-address value="${jboss.bind.address:0.0.0.0}"/>
            </interface>
            <interface name="unsecure">
                <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
            </interface>
        </interfaces>
    
        <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
            <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
            <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
            <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
            <socket-binding name="ajp" port="8009"/>
            <socket-binding name="http" port="8080"/>
            <socket-binding name="https" port="8443"/>
            <socket-binding name="remoting" port="4447"/>
            <socket-binding name="txn-recovery-environment" port="4712"/>
            <socket-binding name="txn-status-manager" port="4713"/>
            <socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:233.252.134.134}" multicast-port="${jboss.messaging.group.port:9876}"/>
            <socket-binding name="messaging" port="5445"/>
            <socket-binding name="messaging-throughput" port="5455"/>
            <outbound-socket-binding name="mail-smtp">
                <remote-destination host="localhost" port="25"/>
            </outbound-socket-binding>
        </socket-binding-group>
    </server>
    
    <?xml version="1.0" encoding="UTF-8"?>
    <datasources xmlns="http://www.jboss.org/ironjacamar/schema">
      <!-- System Datasource -->
      <xa-datasource 
          jndi-name="jdbc/AppianDS" 
          pool-name="MySqlDS"
          enabled="true" 
          use-java-context="false">
        <xa-datasource-property name="URL">jdbc:mysql://localhost:3306/appian17.4_primary?useOldAliasMetadataBehavior=true</xa-datasource-property>
        <xa-datasource-property name="useUnicode">true</xa-datasource-property>
        <xa-datasource-property name="characterEncoding">UTF-8</xa-datasource-property>
        <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
        <driver>com.mysql.jdbc</driver>
        <security>
          <security-domain>ds-name-security-primary</security-domain>
        </security>
        <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
        <xa-pool>
          <min-pool-size>5</min-pool-size>
          <max-pool-size>100</max-pool-size>
        </xa-pool>
        <timeout>
          <blocking-timeout-millis>5000</blocking-timeout-millis>
          <idle-timeout-minutes>5</idle-timeout-minutes>
        </timeout>
      </xa-datasource>
    </datasources>

  • 0
    A Score Level 2
    in reply to davinenig
    Hi,

    You have listed only 1 datasource which is for the primary datasource where appian stores its internal tables....but you need to provide a business datasource where your application's tables will be residing. So you need to supply the following:

    In custom.properties file:

    conf.data.datasources =jdbc/AppianBusinessDS

    Then in

    appian-ds.xml file, you need to have another <xa-datasource....see my example below of appian-ds.xml and standalone.xml as shown below:

    appian-ds.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <datasources xmlns="www.jboss.org/.../schema">
    <xa-datasource
    jndi-name="jdbc/AppianPrimaryDS"
    pool-name="MySqlDS"
    enabled="true"
    use-java-context="false">
    <xa-datasource-property name="serverName">localhost</xa-datasource-property>
    <xa-datasource-property name="portNumber">3306</xa-datasource-property>
    <xa-datasource-property name="databaseName">appian174primary</xa-datasource-property>
    <xa-datasource-property name="useUnicode">true</xa-datasource-property>
    <xa-datasource-property name="characterEncoding">UTF-8</xa-datasource-property>
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    <driver>com.mysql.jdbc</driver>
    <security>
    <security-domain>ds-name-security-primary</security-domain>
    </security>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <xa-pool>
    <min-pool-size>5</min-pool-size>
    <max-pool-size>100</max-pool-size>
    </xa-pool>
    <timeout>
    <blocking-timeout-millis>5000</blocking-timeout-millis>
    <idle-timeout-minutes>5</idle-timeout-minutes>
    </timeout>
    </xa-datasource>
    <xa-datasource
    jndi-name="jdbc/AppianBusinessDS"
    pool-name="MySqlDS"
    enabled="true"
    use-java-context="false">
    <xa-datasource-property name="serverName">localhost</xa-datasource-property>
    <xa-datasource-property name="portNumber">3306</xa-datasource-property>
    <xa-datasource-property name="databaseName">appian174business</xa-datasource-property>
    <xa-datasource-property name="useUnicode">true</xa-datasource-property>
    <xa-datasource-property name="characterEncoding">UTF-8</xa-datasource-property>
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    <driver>com.mysql.jdbc</driver>
    <security>
    <security-domain>ds-name-security-business</security-domain>
    </security>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <xa-pool>
    <min-pool-size>5</min-pool-size>
    <max-pool-size>100</max-pool-size>
    </xa-pool>
    <timeout>
    <blocking-timeout-millis>5000</blocking-timeout-millis>
    <idle-timeout-minutes>5</idle-timeout-minutes>
    </timeout>
    </xa-datasource>
    </datasources>


    Standalone.xml:


    <?xml version='1.0' encoding='UTF-8'?>

    <server xmlns="urn:jboss:domain:1.7">
    <extensions>
    <extension module="org.jboss.as.clustering.infinispan"/>
    <extension module="org.jboss.as.connector"/>
    <extension module="org.jboss.as.deployment-scanner"/>
    <extension module="org.jboss.as.ee"/>
    <extension module="org.jboss.as.ejb3"/>
    <extension module="org.jboss.as.jaxrs"/>
    <extension module="org.jboss.as.jdr"/>
    <extension module="org.jboss.as.jmx"/>
    <extension module="org.jboss.as.jpa"/>
    <extension module="org.jboss.as.jsf"/>
    <extension module="org.jboss.as.logging"/>
    <extension module="org.jboss.as.mail"/>
    <extension module="org.jboss.as.messaging"/>
    <extension module="org.jboss.as.naming"/>
    <extension module="org.jboss.as.pojo"/>
    <extension module="org.jboss.as.remoting"/>
    <extension module="org.jboss.as.sar"/>
    <extension module="org.jboss.as.security"/>
    <extension module="org.jboss.as.threads"/>
    <extension module="org.jboss.as.transactions"/>
    <extension module="org.jboss.as.web"/>
    <extension module="org.jboss.as.webservices"/>
    <extension module="org.jboss.as.weld"/>
    </extensions>
    <system-properties>
    <property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT" value="5000"/>
    </system-properties>
    <management>
    <security-realms>
    <security-realm name="ManagementRealm">
    <authentication>
    <local default-user="$local" skip-group-loading="true"/>
    <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
    </authentication>
    <authorization map-groups-to-roles="false">
    <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
    </authorization>
    </security-realm>
    <security-realm name="ApplicationRealm">
    <authentication>
    <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
    <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
    </authentication>
    <authorization>
    <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
    </authorization>
    </security-realm>
    </security-realms>
    <audit-log>
    <formatters>
    <json-formatter name="json-formatter"/>
    </formatters>
    <handlers>
    <file-handler name="file" formatter="json-formatter" relative-to="jboss.server.data.dir" path="audit-log.log"/>
    </handlers>
    <logger log-boot="true" log-read-only="false" enabled="false">
    <handlers>
    <handler name="file"/>
    </handlers>
    </logger>
    </audit-log>
    <management-interfaces>
    <native-interface security-realm="ManagementRealm">
    <socket-binding native="management-native"/>
    </native-interface>
    <http-interface security-realm="ManagementRealm">
    <socket-binding http="management-http"/>
    </http-interface>
    </management-interfaces>
    <access-control provider="simple">
    <role-mapping>
    <role name="SuperUser">
    <include>
    <user name="$local"/>
    </include>
    </role>
    </role-mapping>
    </access-control>
    </management>
    <profile>
    <subsystem xmlns="urn:jboss:domain:messaging:1.1">
    <hornetq-server>
    <persistence-enabled>true</persistence-enabled>
    <security-domain>messaging</security-domain>
    <journal-file-size>102400</journal-file-size>
    <journal-min-files>2</journal-min-files>

    <connectors>
    <netty-connector name="netty" socket-binding="messaging"/>
    <netty-connector name="netty-throughput" socket-binding="messaging-throughput">
    <param key="batch-delay" value="50"/>
    </netty-connector>
    <in-vm-connector name="in-vm" server-id="0"/>
    </connectors>

    <acceptors>
    <netty-acceptor name="netty" socket-binding="messaging"/>
    <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
    <param key="batch-delay" value="50"/>
    <param key="direct-deliver" value="false"/>
    </netty-acceptor>
    <in-vm-acceptor name="in-vm" server-id="0"/>
    </acceptors>

    <broadcast-groups>
    <broadcast-group name="appian-broadcast-group">
    <socket-binding>messaging-group</socket-binding>
    <broadcast-period>5000</broadcast-period>
    <connector-ref>
    netty
    </connector-ref>
    </broadcast-group>
    </broadcast-groups>

    <discovery-groups>
    <discovery-group name="appian-discovery-group">
    <socket-binding>messaging-group</socket-binding>
    <refresh-timeout>10000</refresh-timeout>
    </discovery-group>
    </discovery-groups>

    <security-settings>
    <security-setting match="#">
    <permission type="send" roles="guest"/>
    <permission type="consume" roles="guest"/>
    </security-setting>
    </security-settings>

    <address-settings>
    <address-setting match="#">
    <dead-letter-address>jms.queue.DLQ</dead-letter-address>
    <expiry-address>jms.queue.ExpiryQueue</expiry-address>
    <redelivery-delay>0</redelivery-delay>
    <max-size-bytes>10485760</max-size-bytes>
    <address-full-policy>BLOCK</address-full-policy>
    <message-counter-history-day-limit>10</message-counter-history-day-limit>
    </address-setting>
    </address-settings>

    <jms-connection-factories>
    <connection-factory name="ProcessIntegrationConnectionFactory">
    <connectors>
    <connector-ref connector-name="netty"/>
    </connectors>
    <entries>
    <entry name="jms/AppianProcessIntegrationConnectionFactory"/>
    <entry name="java:jboss/exported/jms/AppianProcessIntegrationConnectionFactory"/>
    </entries>
    </connection-factory>
    <pooled-connection-factory name="hornetq-ra">
    <transaction mode="xa"/>
    <connectors>
    <connector-ref connector-name="in-vm"/>
    </connectors>
    <entries>
    <entry name="java:/JmsXA"/>
    </entries>
    </pooled-connection-factory>
    </jms-connection-factories>

    <jms-destinations>
    <jms-queue name="jms/ProcessQueue">
    <entry name="jms/AppianProcessIntegrationQueue"/>
    <entry name="java:jboss/exported/jms/AppianProcessIntegrationQueue"/>
    </jms-queue>
    </jms-destinations>

    </hornetq-server>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:logging:1.5">
    <console-handler name="CONSOLE">
    <level name="INFO"/>
    <formatter>
    <named-formatter name="COLOR-PATTERN"/>
    </formatter>
    </console-handler>
    <periodic-rotating-file-handler name="FILE" autoflush="true">
    <formatter>
    <named-formatter name="PATTERN"/>
    </formatter>
    <file relative-to="jboss.server.log.dir" path="server.log"/>
    <suffix value=".yyyy-MM-dd"/>
    <append value="true"/>
    </periodic-rotating-file-handler>
    <logger category="com.arjuna">
    <level name="WARN"/>
    </logger>
    <logger category="org.apache.tomcat.util.modeler">
    <level name="WARN"/>
    </logger>
    <logger category="org.jboss.as.config">
    <level name="DEBUG"/>
    </logger>
    <logger category="sun.rmi">
    <level name="WARN"/>
    </logger>
    <logger category="jacorb">
    <level name="WARN"/>
    </logger>
    <logger category="jacorb.config">
    <level name="ERROR"/>
    </logger>
    <logger category="org.jboss.as.server.deployment"> <!-- Added this element -->
    <level name="ERROR"/>
    </logger>
    <root-logger>
    <level name="INFO"/>
    <handlers>
    <handler name="CONSOLE"/>
    <handler name="FILE"/>
    </handlers>
    </root-logger>
    <formatter name="PATTERN">
    <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
    </formatter>
    <formatter name="COLOR-PATTERN">
    <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
    </formatter>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:datasources:1.2">
    <datasources>
    <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
    <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
    <driver>h2</driver>
    <security>
    <user-name>sa</user-name>
    <password>sa</password>
    </security>
    </datasource>
    <drivers>
    <driver name="h2" module="com.h2database.h2">
    <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
    </driver>
    <driver name="com.mysql.jdbc" module="com.mysql.jdbc">
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    </driver>
    <!--
    <driver name="oracle.jdbc" module="oracle.jdbc">
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
    </driver>
    <driver name="com.microsoft.sqlserver.jdbc" module="com.microsoft.sqlserver.jdbc">
    <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class>
    </driver>
    <driver name="com.ibm.db2.jcc" module="com.ibm.db2.jcc">
    <xa-datasource-class>com.ibm.db2.jcc.DB2Driver</xa-datasource-class>
    </driver>
    -->
    </drivers>
    </datasources>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
    <deployment-scanner name="appian" path="${appian.home.ear}" auto-deploy-exploded="false" auto-deploy-zipped="false" auto-deploy-xml="false" deployment-timeout="3600" scan-interval="5000"/>
    <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:ee:1.2">
    <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
    <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
    <annotation-property-replacement>false</annotation-property-replacement>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:ejb3:1.5">
    <mdb>
    <resource-adapter-ref resource-adapter-name="hornetq-ra"/>
    <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
    </mdb>
    <session-bean>
    <stateless>
    <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
    </stateless>
    <stateful default-access-timeout="5000" cache-ref="simple"/>
    <singleton default-access-timeout="5000"/>
    </session-bean>
    <pools>
    <bean-instance-pools>
    <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
    <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
    <strict-max-pool name="UnattendedRequestPool" max-pool-size="30" instance-acquisition-timeout="15" instance-acquisition-timeout-unit="MINUTES"/>
    </bean-instance-pools>
    </pools>
    <caches>
    <cache name="simple" aliases="NoPassivationCache"/>
    <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
    </caches>
    <passivation-stores>
    <file-passivation-store name="file"/>
    </passivation-stores>
    <async thread-pool-name="default"/>
    <timer-service thread-pool-name="default" default-data-store="default-file-store">
    <data-stores>
    <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
    </data-stores>
    </timer-service>
    <remote connector-ref="remoting-connector" thread-pool-name="default"/>
    <thread-pools>
    <thread-pool name="default">
    <max-threads count="10"/>
    <keepalive-time time="100" unit="milliseconds"/>
    </thread-pool>
    </thread-pools>
    <default-security-domain value="other"/>
    <default-missing-method-permissions-deny-access value="true"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:infinispan:1.5">
    <cache-container name="web" aliases="standard-session-cache" default-cache="local-web" module="org.jboss.as.clustering.web.infinispan">
    <local-cache name="local-web" batching="true">
    <file-store passivation="false" purge="false"/>
    </local-cache>
    </cache-container>
    <cache-container name="hibernate" default-cache="local-query" module="org.jboss.as.jpa.hibernate:4">
    <local-cache name="entity">
    <transaction mode="NON_XA"/>
    <eviction strategy="LRU" max-entries="10000"/>
    <expiration max-idle="100000"/>
    </local-cache>
    <local-cache name="local-query">
    <transaction mode="NONE"/>
    <eviction strategy="LRU" max-entries="10000"/>
    <expiration max-idle="100000"/>
    </local-cache>
    <local-cache name="timestamps">
    <transaction mode="NONE"/>
    <eviction strategy="NONE"/>
    </local-cache>
    </cache-container>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
    <subsystem xmlns="urn:jboss:domain:jca:1.1">
    <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
    <bean-validation enabled="true"/>
    <default-workmanager>
    <short-running-threads>
    <core-threads count="50"/>
    <queue-length count="50"/>
    <max-threads count="50"/>
    <keepalive-time time="10" unit="seconds"/>
    </short-running-threads>
    <long-running-threads>
    <core-threads count="50"/>
    <queue-length count="50"/>
    <max-threads count="50"/>
    <keepalive-time time="10" unit="seconds"/>
    </long-running-threads>
    </default-workmanager>
    <cached-connection-manager/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
    <subsystem xmlns="urn:jboss:domain:jmx:1.3">
    <expose-resolved-model/>
    <expose-expression-model/>
    <remoting-connector/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:jpa:1.1">
    <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
    <subsystem xmlns="urn:jboss:domain:mail:1.2">
    <mail-session name="default" jndi-name="java:jboss/mail/Default">
    <smtp-server outbound-socket-binding-ref="mail-smtp"/>
    </mail-session>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:naming:1.4">
    <remote-naming/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
    <subsystem xmlns="urn:jboss:domain:remoting:1.2">
    <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
    <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
    <subsystem xmlns="urn:jboss:domain:security:1.2">
    <security-domains>
    <security-domain name="other" cache-type="default">
    <authentication>
    <login-module code="Remoting" flag="optional">
    <module-option name="password-stacking" value="useFirstPass"/>
    </login-module>
    <login-module code="RealmDirect" flag="required">
    <module-option name="password-stacking" value="useFirstPass"/>
    </login-module>
    </authentication>
    </security-domain>
    <security-domain name="jboss-web-policy" cache-type="default">
    <authorization>
    <policy-module code="Delegating" flag="required"/>
    </authorization>
    </security-domain>
    <security-domain name="jboss-ejb-policy" cache-type="default">
    <authorization>
    <policy-module code="Delegating" flag="required"/>
    </authorization>
    </security-domain>
    <security-domain name="messaging" cache-type="default">
    <authentication>
    <login-module code="RealmUsersRoles" flag="required">
    <module-option name="unauthenticatedIdentity" value="guest"/>
    <module-option name="usersProperties" value="${jboss.server.config.dir}/application-users.properties"/>
    <module-option name="rolesProperties" value="${jboss.server.config.dir}/application-roles.properties"/>
    </login-module>
    </authentication>
    </security-domain>
    <security-domain name="ds-name-security-primary" cache-type="default">
    <authentication>
    <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
    <module-option name="username" value="root" />
    <module-option name="password" value="******************" />
    </login-module>
    </authentication>
    </security-domain>
    <security-domain name="ds-name-security-business" cache-type="default">
    <authentication>
    <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
    <module-option name="username" value="root" />
    <module-option name="password" value="**********************" />
    </login-module>
    </authentication>
    </security-domain>
    </security-domains>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
    <subsystem xmlns="urn:jboss:domain:transactions:1.5">
    <core-environment>
    <process-id>
    <uuid/>
    </process-id>
    </core-environment>
    <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
    <coordinator-environment default-timeout="300"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
    <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
    <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
    <virtual-server name="default-host" enable-welcome-root="true">
    <alias name="localhost"/>
    <alias name="example.com"/>
    </virtual-server>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:webservices:1.2">
    <modify-wsdl-address>true</modify-wsdl-address>
    <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
    <endpoint-config name="Standard-Endpoint-Config"/>
    <endpoint-config name="Recording-Endpoint-Config">
    <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
    <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
    </pre-handler-chain>
    </endpoint-config>
    <client-config name="Standard-Client-Config"/>
    </subsystem>
    <subsystem xmlns="urn:jboss:domain:weld:1.0"/>
    </profile>
    <interfaces>
    <interface name="management">
    <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
    </interface>
    <interface name="public">
    <inet-address value="${jboss.bind.address:0.0.0.0}"/>
    </interface>
    <!-- TODO - only show this if the jacorb subsystem is added -->
    <interface name="unsecure">
    <!--
    ~ Used for IIOP sockets in the standard configuration.
    ~ To secure JacORB you need to setup SSL
    -->
    <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
    </interface>
    </interfaces>
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
    <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
    <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
    <socket-binding name="ajp" port="8009"/>
    <socket-binding name="http" port="8080"/>
    <socket-binding name="https" port="8443"/>
    <socket-binding name="remoting" port="4447"/>
    <socket-binding name="txn-recovery-environment" port="4712"/>
    <socket-binding name="txn-status-manager" port="4713"/>
    <socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:233.252.134.134}" multicast-port="${jboss.messaging.group.port:9876}"/>
    <socket-binding name="messaging" port="5445"/>
    <socket-binding name="messaging-throughput" port="5455"/>
    <outbound-socket-binding name="mail-smtp">
    <remote-destination host="localhost" port="25"/>
    </outbound-socket-binding>
    </socket-binding-group>
    </server>



    In the above standalone.xml, I have the same user "root" being permissioned to access both primary and business database. In real world scenarios, it would be two separate users with two separate passwords...
  • Hi Aswin,

    Can I create new xml files with the values provided and save them as the respective .xml files?

    Regards,
  • 0
    A Score Level 2
    in reply to davinenig
    Yes you can as long as you rename the old files to something like standalone.xml.tmp, appian-ds.xml.tmp etc..
  • Hi Aswin,

    I did as suggested, but still get the error :: Services which failed to start: service jboss.web.deployment.default-host./suite
Reply Children
  • 0
    A Score Level 2
    in reply to davinenig
    Can you please send me the following files: appian/ear/suite.ear/conf/custom.properties, jboss-eap-6.4/standalone/configuration/standalone.xml, jboss-eap-6.4/standalone/deployments/appian-ds.xml, jboss-eap-6.4/modules folder contents.....remember you need to install jdbc driver in modules folder..usually the structure is modules\com\mysql\jdbc\main\mysql-connector-java-version#.jar, module.xml
  • Please see the attachment for the complete results from the command prompt

     

     CMD error.txt

  • 0
    A Score Level 2
    in reply to davinenig
    Issue is jdbc driver not being installed: "JBAS010441: Failed to load module for driver [com.mysql.jdbc]"

    You need to install jdbc driver under jboss-eap-6.4/modules folder...

    follow the instructions on appian forum: docs.appian.com/.../Configuring_Relational_Databases.html

    A folder structure like <JBOSS_HOME>/modules/com/mysql/jdbc/main/ has to be created and then the driver jar file and module.xml file needs to be placed in there.
  • Hi Aswin,

     

    Please see the files that you asked for and also have attached the screenshot for the mysql connector, for your advice.

    <?xml version='1.0' encoding='UTF-8'?>
    
    <server xmlns="urn:jboss:domain:1.7">
    
        <extensions>
            <extension module="org.jboss.as.clustering.infinispan"/>
            <extension module="org.jboss.as.connector"/>
            <extension module="org.jboss.as.deployment-scanner"/>
            <extension module="org.jboss.as.ee"/>
            <extension module="org.jboss.as.ejb3"/>
            <extension module="org.jboss.as.jaxrs"/>
            <extension module="org.jboss.as.jdr"/>
            <extension module="org.jboss.as.jmx"/>
            <extension module="org.jboss.as.jpa"/>
            <extension module="org.jboss.as.jsf"/>
            <extension module="org.jboss.as.logging"/>
            <extension module="org.jboss.as.mail"/>
            <extension module="org.jboss.as.messaging"/>
            <extension module="org.jboss.as.naming"/>
            <extension module="org.jboss.as.pojo"/>
            <extension module="org.jboss.as.remoting"/>
            <extension module="org.jboss.as.sar"/>
            <extension module="org.jboss.as.security"/>
            <extension module="org.jboss.as.threads"/>
            <extension module="org.jboss.as.transactions"/>
            <extension module="org.jboss.as.web"/>
            <extension module="org.jboss.as.webservices"/>
            <extension module="org.jboss.as.weld"/>
        </extensions>
    
        <system-properties>
            <property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT" value="5000"/>
        </system-properties>
    
    
        <management>
            <security-realms>
                <security-realm name="ManagementRealm">
                    <authentication>
                        <local default-user="$local" skip-group-loading="true"/>
                        <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
                    </authentication>
                    <authorization map-groups-to-roles="false">
                        <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
                    </authorization>
                </security-realm>
                <security-realm name="ApplicationRealm">
                    <authentication>
                        <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                        <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
                    </authentication>
                    <authorization>
                        <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
                    </authorization>
                </security-realm>
            </security-realms>
            <audit-log>
                <formatters>
                    <json-formatter name="json-formatter"/>
                </formatters>
                <handlers>
                    <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
                </handlers>
                <logger log-boot="true" log-read-only="false" enabled="false">
                    <handlers>
                        <handler name="file"/>
                    </handlers>
                </logger>
            </audit-log>
            <management-interfaces>
                <native-interface security-realm="ManagementRealm">
                    <socket-binding native="management-native"/>
                </native-interface>
                <http-interface security-realm="ManagementRealm">
                    <socket-binding http="management-http"/>
                </http-interface>
            </management-interfaces>
            <access-control provider="simple">
                <role-mapping>
                    <role name="SuperUser">
                        <include>
                            <user name="$local"/>
                        </include>
                    </role>
                </role-mapping>
            </access-control>
        </management>
    
        <profile>
            <subsystem xmlns="urn:jboss:domain:messaging:1.4">
                <hornetq-server>
                    <persistence-enabled>true</persistence-enabled>
                    <security-domain>messaging</security-domain>
                    <journal-file-size>102400</journal-file-size>
                    <journal-min-files>2</journal-min-files>
    
                    <connectors>
                        <netty-connector name="netty" socket-binding="messaging"/>
                        <netty-connector name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                        </netty-connector>
                        <in-vm-connector name="in-vm" server-id="0"/>
                    </connectors>
    
                    <acceptors>
                        <netty-acceptor name="netty" socket-binding="messaging"/>
                        <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                            <param key="direct-deliver" value="false"/>
                        </netty-acceptor>
                        <in-vm-acceptor name="in-vm" server-id="0"/>
                    </acceptors>
    
                    <broadcast-groups>
                        <broadcast-group name="appian-broadcast-group">
                            <socket-binding>messaging-group</socket-binding>
                            <broadcast-period>5000</broadcast-period>
                            <connector-ref>
                                netty
                            </connector-ref>
                        </broadcast-group>
                    </broadcast-groups>
    
                    <discovery-groups>
                        <discovery-group name="appian-discovery-group">
                            <socket-binding>messaging-group</socket-binding>
                            <refresh-timeout>10000</refresh-timeout>
                        </discovery-group>
                    </discovery-groups>
    
                    <security-settings>
                        <security-setting match="#">
                            <permission type="send" roles="guest"/>
                            <permission type="consume" roles="guest"/>
                        </security-setting>
                    </security-settings>
    
                    <address-settings>
                        <address-setting match="#">
                            <dead-letter-address>jms.queue.DLQ</dead-letter-address>
                            <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                            <redelivery-delay>0</redelivery-delay>
                            <max-size-bytes>10485760</max-size-bytes>
                            <address-full-policy>BLOCK</address-full-policy>
                            <message-counter-history-day-limit>10</message-counter-history-day-limit>
                        </address-setting>
                    </address-settings>
    
                    <jms-connection-factories>
                        <connection-factory name="ProcessIntegrationConnectionFactory">
                            <connectors>
                                <connector-ref connector-name="netty"/>
                            </connectors>
                            <entries>
                                <entry name="jms/AppianProcessIntegrationConnectionFactory"/>
                                <entry name="java:jboss/exported/jms/AppianProcessIntegrationConnectionFactory"/>
                            </entries>
                        </connection-factory>
                        <pooled-connection-factory name="hornetq-ra">
                            <transaction mode="xa"/>
                            <connectors>
                                <connector-ref connector-name="in-vm"/>
                            </connectors>
                            <entries>
                                <entry name="java:/JmsXA"/>
                            </entries>
                        </pooled-connection-factory>
                    </jms-connection-factories>
    
                    <jms-destinations>
                        <jms-queue name="jms/ProcessQueue">
                            <entry name="jms/AppianProcessIntegrationQueue"/>
                            <entry name="java:jboss/exported/jms/AppianProcessIntegrationQueue"/>
                        </jms-queue>
                    </jms-destinations>
                </hornetq-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:logging:1.5">
                <console-handler name="CONSOLE">
                    <level name="INFO"/>
                    <formatter>
                        <named-formatter name="COLOR-PATTERN"/>
                    </formatter>
                </console-handler>
                <periodic-rotating-file-handler name="FILE" autoflush="true">
                    <formatter>
                        <named-formatter name="PATTERN"/>
                    </formatter>
                    <file relative-to="jboss.server.log.dir" path="server.log"/>
                    <suffix value=".yyyy-MM-dd"/>
                    <append value="true"/>
                </periodic-rotating-file-handler>
                <logger category="com.arjuna">
                    <level name="WARN"/>
                </logger>
                <logger category="org.apache.tomcat.util.modeler">
                    <level name="WARN"/>
                </logger>
                <logger category="org.jboss.as.config">
                    <level name="DEBUG"/>
                </logger>
                <logger category="sun.rmi">
                    <level name="WARN"/>
                </logger>
                <logger category="jacorb">
                    <level name="WARN"/>
                </logger>
                <logger category="jacorb.config">
                    <level name="ERROR"/>
                </logger>
                <logger category="org.jboss.as.server.deployment">
                    <level name="ERROR"/>
                </logger>
                <root-logger>
                    <level name="INFO"/>
                    <handlers>
                        <handler name="CONSOLE"/>
                        <handler name="FILE"/>
                    </handlers>
                </root-logger>
                <formatter name="PATTERN">
                    <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
                <formatter name="COLOR-PATTERN">
                    <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:datasources:1.2">
                <datasources>
                    <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                        <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                        <driver>h2</driver>
                        <security>
                            <user-name>sa</user-name>
                            <password>sa</password>
                        </security>
                    </datasource>
                    <drivers>
                        <driver name="h2" module="com.h2database.h2">
                            <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                        </driver>
                        <driver name="com.mysql.jdbc" module="com.mysql.jdbc">
                            <driver-class>com.mysql.jdbc.Driver</driver-class>
                            <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                        </driver>
                    </drivers>
                </datasources>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
                <deployment-scanner name="appian" path="${appian.home.ear}" scan-interval="5000" auto-deploy-zipped="false" auto-deploy-exploded="false" auto-deploy-xml="false" deployment-timeout="3600"/>
                <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ee:1.2">
                <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
                <annotation-property-replacement>false</annotation-property-replacement>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ejb3:1.5">
                <session-bean>
                    <stateless>
                        <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
                    </stateless>
                    <stateful default-access-timeout="5000" cache-ref="simple"/>
                    <singleton default-access-timeout="5000"/>
                </session-bean>
                <mdb>
                    <resource-adapter-ref resource-adapter-name="hornetq-ra"/>
                    <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
                </mdb>
                <pools>
                    <bean-instance-pools>
                        <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                        <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                        <strict-max-pool name="UnattendedRequestPool" max-pool-size="30" instance-acquisition-timeout="15" instance-acquisition-timeout-unit="MINUTES"/>
                    </bean-instance-pools>
                </pools>
                <caches>
                    <cache name="simple" aliases="NoPassivationCache"/>
                    <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
                </caches>
                <passivation-stores>
                    <file-passivation-store name="file"/>
                </passivation-stores>
                <async thread-pool-name="default"/>
                <timer-service thread-pool-name="default" default-data-store="default-file-store">
                    <data-stores>
                        <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                    </data-stores>
                </timer-service>
                <remote connector-ref="remoting-connector" thread-pool-name="default"/>
                <thread-pools>
                    <thread-pool name="default">
                        <max-threads count="10"/>
                        <keepalive-time time="100" unit="milliseconds"/>
                    </thread-pool>
                </thread-pools>
                <default-security-domain value="other"/>
                <default-missing-method-permissions-deny-access value="true"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:infinispan:1.5">
                <cache-container name="web" aliases="standard-session-cache" default-cache="local-web" module="org.jboss.as.clustering.web.infinispan">
                    <local-cache name="local-web" batching="true">
                        <file-store passivation="false" purge="false"/>
                    </local-cache>
                </cache-container>
                <cache-container name="hibernate" default-cache="local-query" module="org.jboss.as.jpa.hibernate:4">
                    <local-cache name="entity">
                        <transaction mode="NON_XA"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="local-query">
                        <transaction mode="NONE"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="timestamps">
                        <transaction mode="NONE"/>
                        <eviction strategy="NONE"/>
                    </local-cache>
                </cache-container>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jca:1.1">
                <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
                <bean-validation enabled="true"/>
                <default-workmanager>
                    <short-running-threads>
                        <core-threads count="50"/>
                        <queue-length count="50"/>
                        <max-threads count="50"/>
                        <keepalive-time time="10" unit="seconds"/>
                    </short-running-threads>
                    <long-running-threads>
                        <core-threads count="50"/>
                        <queue-length count="50"/>
                        <max-threads count="50"/>
                        <keepalive-time time="10" unit="seconds"/>
                    </long-running-threads>
                </default-workmanager>
                <cached-connection-manager/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                <expose-resolved-model/>
                <expose-expression-model/>
                <remoting-connector/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jpa:1.1">
                <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
            <subsystem xmlns="urn:jboss:domain:mail:1.2">
                <mail-session name="default" jndi-name="java:jboss/mail/Default">
                    <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                </mail-session>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:naming:1.4">
                <remote-naming/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
            <subsystem xmlns="urn:jboss:domain:remoting:1.2">
                <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
            <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
            <subsystem xmlns="urn:jboss:domain:security:1.2">
                <security-domains>
                    <security-domain name="other" cache-type="default">
                        <authentication>
                            <login-module code="Remoting" flag="optional">
                                <module-option name="password-stacking" value="useFirstPass"/>
                            </login-module>
                            <login-module code="RealmDirect" flag="required">
                                <module-option name="password-stacking" value="useFirstPass"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                    <security-domain name="jboss-web-policy" cache-type="default">
                        <authorization>
                            <policy-module code="Delegating" flag="required"/>
                        </authorization>
                    </security-domain>
                    <security-domain name="jboss-ejb-policy" cache-type="default">
                        <authorization>
                            <policy-module code="Delegating" flag="required"/>
                        </authorization>
                    </security-domain>
                    <security-domain name="messaging" cache-type="default">
                        <authentication>
                            <login-module code="RealmUsersRoles" flag="required">
                                <module-option name="unauthenticatedIdentity" value="guest"/>
                                <module-option name="usersProperties" value="${jboss.server.config.dir}/application-users.properties"/>
                                <module-option name="rolesProperties" value="${jboss.server.config.dir}/application-roles.properties"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                    <security-domain name="ds-name-security-primary" cache-type="default">
                        <authentication>
                            <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
                                <module-option name="username" value="root"/>
                                <module-option name="password" value="5dfc52b51bd35553df8592078de921bc"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                </security-domains>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
            <subsystem xmlns="urn:jboss:domain:transactions:1.5">
                <core-environment>
                    <process-id>
                        <uuid/>
                    </process-id>
                </core-environment>
                <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                <coordinator-environment default-timeout="300"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
                <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
                <virtual-server name="default-host" enable-welcome-root="true">
                    <alias name="localhost"/>
                    <alias name="example.com"/>
                </virtual-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:webservices:1.2">
                <modify-wsdl-address>true</modify-wsdl-address>
                <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
                <endpoint-config name="Standard-Endpoint-Config"/>
                <endpoint-config name="Recording-Endpoint-Config">
                    <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                        <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                    </pre-handler-chain>
                </endpoint-config>
                <client-config name="Standard-Client-Config"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:weld:1.0"/>
        </profile>
    
        <interfaces>
            <interface name="management">
                <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
            </interface>
            <interface name="public">
                <inet-address value="${jboss.bind.address:0.0.0.0}"/>
            </interface>
            <interface name="unsecure">
                <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
            </interface>
        </interfaces>
    
        <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
            <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
            <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
            <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
            <socket-binding name="ajp" port="8009"/>
            <socket-binding name="http" port="8080"/>
            <socket-binding name="https" port="8443"/>
            <socket-binding name="remoting" port="4447"/>
            <socket-binding name="txn-recovery-environment" port="4712"/>
            <socket-binding name="txn-status-manager" port="4713"/>
            <socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:233.252.134.134}" multicast-port="${jboss.messaging.group.port:9876}"/>
            <socket-binding name="messaging" port="5445"/>
            <socket-binding name="messaging-throughput" port="5455"/>
            <outbound-socket-binding name="mail-smtp">
                <remote-destination host="localhost" port="25"/>
            </outbound-socket-binding>
        </socket-binding-group>
    
    </server>
    
    <?xml version="1.0" encoding="UTF-8"?>
    <datasources xmlns="http://www.jboss.org/ironjacamar/schema">
      <!-- System Datasource -->
      <xa-datasource 
          jndi-name="jdbc/AppianDS" 
          pool-name="MySqlDS"
          enabled="true" 
          use-java-context="false">
        <xa-datasource-property name="URL">jdbc:mysql://localhost:3306/appian17.4_primary?useOldAliasMetadataBehavior=true</xa-datasource-property>
        <xa-datasource-property name="useUnicode">true</xa-datasource-property>
        <xa-datasource-property name="characterEncoding">UTF-8</xa-datasource-property>
        <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
        <driver>com.mysql.jdbc</driver>
        <security>
          <security-domain>ds-name-security-primary</security-domain>
        </security>
        <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
        <xa-pool>
          <min-pool-size>5</min-pool-size>
          <max-pool-size>100</max-pool-size>
        </xa-pool>
        <timeout>
          <blocking-timeout-millis>5000</blocking-timeout-millis>
          <idle-timeout-minutes>5</idle-timeout-minutes>
        </timeout>
      </xa-datasource>
    </datasources>

  • 0
    A Score Level 2
    in reply to davinenig
    Things to change are:

    1. In appian-ds.xml instead of <xa-datasource-property name="URL">jdbc:mysql://localhost:3306/appian17.4_primary?useOldAliasMetadataBehavior=true</xa-datasource-property>,

    do the following:

    <xa-datasource-property name="serverName">localhost</xa-datasource-property>
    <xa-datasource-property name="portNumber">3306</xa-datasource-property>
    <xa-datasource-property name="databaseName">appian17.4_primary</xa-datasource-property>

    You have only provided 1 database, as I have mentioned earlier, please provide a secondary database...something like appian17.4business.

    So your appian-ds.xml would look something like:
    <?xml version="1.0" encoding="UTF-8"?>
    <datasources xmlns="www.jboss.org/.../schema">
    <xa-datasource
    jndi-name="jdbc/AppianPrimaryDS"
    pool-name="MySqlDS"
    enabled="true"
    use-java-context="false">
    <xa-datasource-property name="serverName">localhost</xa-datasource-property>
    <xa-datasource-property name="portNumber">3306</xa-datasource-property>
    <xa-datasource-property name="databaseName">appian17.4_primary</xa-datasource-property>
    <xa-datasource-property name="useUnicode">true</xa-datasource-property>
    <xa-datasource-property name="characterEncoding">UTF-8</xa-datasource-property>
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    <driver>com.mysql.jdbc</driver>
    <security>
    <security-domain>ds-name-security-primary</security-domain>
    </security>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <xa-pool>
    <min-pool-size>5</min-pool-size>
    <max-pool-size>100</max-pool-size>
    </xa-pool>
    <timeout>
    <blocking-timeout-millis>5000</blocking-timeout-millis>
    <idle-timeout-minutes>5</idle-timeout-minutes>
    </timeout>
    </xa-datasource>
    <xa-datasource
    jndi-name="jdbc/AppianBusinessDS"
    pool-name="MySqlDS"
    enabled="true"
    use-java-context="false">
    <xa-datasource-property name="serverName">localhost</xa-datasource-property>
    <xa-datasource-property name="portNumber">3306</xa-datasource-property>
    <xa-datasource-property name="databaseName">appian17.4_business</xa-datasource-property>
    <xa-datasource-property name="useUnicode">true</xa-datasource-property>
    <xa-datasource-property name="characterEncoding">UTF-8</xa-datasource-property>
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    <driver>com.mysql.jdbc</driver>
    <security>
    <security-domain>ds-name-security-business</security-domain>
    </security>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <xa-pool>
    <min-pool-size>5</min-pool-size>
    <max-pool-size>100</max-pool-size>
    </xa-pool>
    <timeout>
    <blocking-timeout-millis>5000</blocking-timeout-millis>
    <idle-timeout-minutes>5</idle-timeout-minutes>
    </timeout>
    </xa-datasource>
    </datasources>

    Then in custom.properties:
    conf.data.APPIAN_DATA_SOURCE=jdbc/AppianPrimaryDS
    conf.data.datasources = jdbc/AppianBusinessDS


    In standalone.xml change under security-domains:


    <security-domain name="ds-name-security-primary" cache-type="default">
    <authentication>
    <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
    <module-option name="username" value="root"/>
    <module-option name="password" value="5dfc52b51bd35553df8592078de921bc"/>
    </login-module>
    </authentication>
    </security-domain>

    <security-domain name="ds-name-security-business" cache-type="default">
    <authentication>
    <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
    <module-option name="username" value="root"/>
    <module-option name="password" value="5dfc52b51bd35553df8592078de921bc"/>
    </login-module>
    </authentication>
    </security-domain>


    Also from mysql you need to grant permission to root to these two databases. So from command prompt, if mysql is installed under C:\Program Files\MySQL\MySQL5.7

    I would connect to mysql from C:\Program Files\MySQL\MySQL5.7\bin\mysql --user=root --password=<your mysql password>

    Then I would do the following:

    Since you don't have a business database, I would create one as the one used above....so execute the below commands:

    1. create database appian17.4_business;
    2. use appian17.4_business;
    3. grant all on appian17.4_business.* to root@localhost;
    4. use appian17.4_primary;
    5. grant all on appian17.4_primary.* to root@localhost;


    Your drivers are fine...so I would say try the above steps and let me know if it fails..
  • Hi Aswin,

    I tried the instructions that you advised, but it still failed with the error - JBAS014777: Services which failed to start: service jboss.web.deployment.default-host./suite. I'll redo the whole process again, I was presuming that the configure script should take care of all the JBOSS configuration automatically. Once the fresh installation is done, I'll let you know the results again.

    Thank you once again.
  • 0
    A Score Level 2
    in reply to davinenig
    Sometimes the configure script doesn't deploy the configurations to appropriate files....I would suggest to do a manual inspection of each file in their corresponding folder(not repo folder.....but the actual folder such as appian/ear/suite.ear/conf).....if you are still getting error....please provide the server.log file and also the files that we were playing with...
  • Hi Aswin,

    Reinstalling a fresh installation of Appian didn't fix the issue, I followed all other advice from you so far and tried initiating and still face the same error. Please see the attached files that had asked to attach. I also noticed that after making your suggested changes and running the deployment, it reverts to the default configuration, so I next time made the changes to the files and without deployment started up the instance and that too didn't fix the issue.

    Looking forward for your advice 

    <?xml version='1.0' encoding='UTF-8'?>
    
    <server xmlns="urn:jboss:domain:1.7">
    
        <extensions>
            <extension module="org.jboss.as.clustering.infinispan"/>
            <extension module="org.jboss.as.connector"/>
            <extension module="org.jboss.as.deployment-scanner"/>
            <extension module="org.jboss.as.ee"/>
            <extension module="org.jboss.as.ejb3"/>
            <extension module="org.jboss.as.jaxrs"/>
            <extension module="org.jboss.as.jdr"/>
            <extension module="org.jboss.as.jmx"/>
            <extension module="org.jboss.as.jpa"/>
            <extension module="org.jboss.as.jsf"/>
            <extension module="org.jboss.as.logging"/>
            <extension module="org.jboss.as.mail"/>
            <extension module="org.jboss.as.messaging"/>
            <extension module="org.jboss.as.naming"/>
            <extension module="org.jboss.as.pojo"/>
            <extension module="org.jboss.as.remoting"/>
            <extension module="org.jboss.as.sar"/>
            <extension module="org.jboss.as.security"/>
            <extension module="org.jboss.as.threads"/>
            <extension module="org.jboss.as.transactions"/>
            <extension module="org.jboss.as.web"/>
            <extension module="org.jboss.as.webservices"/>
            <extension module="org.jboss.as.weld"/>
        </extensions>
    
        <system-properties>
            <property name="org.apache.tomcat.util.http.Parameters.MAX_COUNT" value="5000"/>
        </system-properties>
    
    
        <management>
            <security-realms>
                <security-realm name="ManagementRealm">
                    <authentication>
                        <local default-user="$local" skip-group-loading="true"/>
                        <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
                    </authentication>
                    <authorization map-groups-to-roles="false">
                        <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
                    </authorization>
                </security-realm>
                <security-realm name="ApplicationRealm">
                    <authentication>
                        <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                        <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
                    </authentication>
                    <authorization>
                        <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
                    </authorization>
                </security-realm>
            </security-realms>
            <audit-log>
                <formatters>
                    <json-formatter name="json-formatter"/>
                </formatters>
                <handlers>
                    <file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
                </handlers>
                <logger log-boot="true" log-read-only="false" enabled="false">
                    <handlers>
                        <handler name="file"/>
                    </handlers>
                </logger>
            </audit-log>
            <management-interfaces>
                <native-interface security-realm="ManagementRealm">
                    <socket-binding native="management-native"/>
                </native-interface>
                <http-interface security-realm="ManagementRealm">
                    <socket-binding http="management-http"/>
                </http-interface>
            </management-interfaces>
            <access-control provider="simple">
                <role-mapping>
                    <role name="SuperUser">
                        <include>
                            <user name="$local"/>
                        </include>
                    </role>
                </role-mapping>
            </access-control>
        </management>
    
        <profile>
            <subsystem xmlns="urn:jboss:domain:messaging:1.4">
                <hornetq-server>
                    <persistence-enabled>true</persistence-enabled>
                    <security-domain>messaging</security-domain>
                    <journal-file-size>102400</journal-file-size>
                    <journal-min-files>2</journal-min-files>
    
                    <connectors>
                        <netty-connector name="netty" socket-binding="messaging"/>
                        <netty-connector name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                        </netty-connector>
                        <in-vm-connector name="in-vm" server-id="0"/>
                    </connectors>
    
                    <acceptors>
                        <netty-acceptor name="netty" socket-binding="messaging"/>
                        <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                            <param key="direct-deliver" value="false"/>
                        </netty-acceptor>
                        <in-vm-acceptor name="in-vm" server-id="0"/>
                    </acceptors>
    
                    <broadcast-groups>
                        <broadcast-group name="appian-broadcast-group">
                            <socket-binding>messaging-group</socket-binding>
                            <broadcast-period>5000</broadcast-period>
                            <connector-ref>
                                netty
                            </connector-ref>
                        </broadcast-group>
                    </broadcast-groups>
    
                    <discovery-groups>
                        <discovery-group name="appian-discovery-group">
                            <socket-binding>messaging-group</socket-binding>
                            <refresh-timeout>10000</refresh-timeout>
                        </discovery-group>
                    </discovery-groups>
    
                    <security-settings>
                        <security-setting match="#">
                            <permission type="send" roles="guest"/>
                            <permission type="consume" roles="guest"/>
                        </security-setting>
                    </security-settings>
    
                    <address-settings>
                        <address-setting match="#">
                            <dead-letter-address>jms.queue.DLQ</dead-letter-address>
                            <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                            <redelivery-delay>0</redelivery-delay>
                            <max-size-bytes>10485760</max-size-bytes>
                            <address-full-policy>BLOCK</address-full-policy>
                            <message-counter-history-day-limit>10</message-counter-history-day-limit>
                        </address-setting>
                    </address-settings>
    
                    <jms-connection-factories>
                        <connection-factory name="ProcessIntegrationConnectionFactory">
                            <connectors>
                                <connector-ref connector-name="netty"/>
                            </connectors>
                            <entries>
                                <entry name="jms/AppianProcessIntegrationConnectionFactory"/>
                                <entry name="java:jboss/exported/jms/AppianProcessIntegrationConnectionFactory"/>
                            </entries>
                        </connection-factory>
                        <pooled-connection-factory name="hornetq-ra">
                            <transaction mode="xa"/>
                            <connectors>
                                <connector-ref connector-name="in-vm"/>
                            </connectors>
                            <entries>
                                <entry name="java:/JmsXA"/>
                            </entries>
                        </pooled-connection-factory>
                    </jms-connection-factories>
    
                    <jms-destinations>
                        <jms-queue name="jms/ProcessQueue">
                            <entry name="jms/AppianProcessIntegrationQueue"/>
                            <entry name="java:jboss/exported/jms/AppianProcessIntegrationQueue"/>
                        </jms-queue>
                    </jms-destinations>
                </hornetq-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:logging:1.5">
                <console-handler name="CONSOLE">
                    <level name="INFO"/>
                    <formatter>
                        <named-formatter name="COLOR-PATTERN"/>
                    </formatter>
                </console-handler>
                <periodic-rotating-file-handler name="FILE" autoflush="true">
                    <formatter>
                        <named-formatter name="PATTERN"/>
                    </formatter>
                    <file relative-to="jboss.server.log.dir" path="server.log"/>
                    <suffix value=".yyyy-MM-dd"/>
                    <append value="true"/>
                </periodic-rotating-file-handler>
                <logger category="com.arjuna">
                    <level name="WARN"/>
                </logger>
                <logger category="org.apache.tomcat.util.modeler">
                    <level name="WARN"/>
                </logger>
                <logger category="org.jboss.as.config">
                    <level name="DEBUG"/>
                </logger>
                <logger category="sun.rmi">
                    <level name="WARN"/>
                </logger>
                <logger category="jacorb">
                    <level name="WARN"/>
                </logger>
                <logger category="jacorb.config">
                    <level name="ERROR"/>
                </logger>
                <logger category="org.jboss.as.server.deployment">
                    <level name="ERROR"/>
                </logger>
                <root-logger>
                    <level name="INFO"/>
                    <handlers>
                        <handler name="CONSOLE"/>
                        <handler name="FILE"/>
                    </handlers>
                </root-logger>
                <formatter name="PATTERN">
                    <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
                <formatter name="COLOR-PATTERN">
                    <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:datasources:1.2">
                <datasources>
                    <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                        <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                        <driver>h2</driver>
                        <security>
                            <user-name>sa</user-name>
                            <password>sa</password>
                        </security>
                    </datasource>
                    <drivers>
                        <driver name="h2" module="com.h2database.h2">
                            <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                        </driver>
                        <driver name="com.mysql.jdbc" module="com.mysql.jdbc">
                            <driver-class>com.mysql.jdbc.Driver</driver-class>
                            <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                        </driver>
                    </drivers>
                </datasources>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:deployment-scanner:1.1">
                <deployment-scanner name="appian" path="${appian.home.ear}" scan-interval="5000" auto-deploy-zipped="false" auto-deploy-exploded="false" auto-deploy-xml="false" deployment-timeout="3600"/>
                <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ee:1.2">
                <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
                <annotation-property-replacement>false</annotation-property-replacement>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ejb3:1.5">
                <session-bean>
                    <stateless>
                        <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
                    </stateless>
                    <stateful default-access-timeout="5000" cache-ref="simple"/>
                    <singleton default-access-timeout="5000"/>
                </session-bean>
                <mdb>
                    <resource-adapter-ref resource-adapter-name="hornetq-ra"/>
                    <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
                </mdb>
                <pools>
                    <bean-instance-pools>
                        <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                        <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                        <strict-max-pool name="UnattendedRequestPool" max-pool-size="30" instance-acquisition-timeout="15" instance-acquisition-timeout-unit="MINUTES"/>
                    </bean-instance-pools>
                </pools>
                <caches>
                    <cache name="simple" aliases="NoPassivationCache"/>
                    <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
                </caches>
                <passivation-stores>
                    <file-passivation-store name="file"/>
                </passivation-stores>
                <async thread-pool-name="default"/>
                <timer-service thread-pool-name="default" default-data-store="default-file-store">
                    <data-stores>
                        <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                    </data-stores>
                </timer-service>
                <remote connector-ref="remoting-connector" thread-pool-name="default"/>
                <thread-pools>
                    <thread-pool name="default">
                        <max-threads count="10"/>
                        <keepalive-time time="100" unit="milliseconds"/>
                    </thread-pool>
                </thread-pools>
                <default-security-domain value="other"/>
                <default-missing-method-permissions-deny-access value="true"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:infinispan:1.5">
                <cache-container name="web" aliases="standard-session-cache" default-cache="local-web" module="org.jboss.as.clustering.web.infinispan">
                    <local-cache name="local-web" batching="true">
                        <file-store passivation="false" purge="false"/>
                    </local-cache>
                </cache-container>
                <cache-container name="hibernate" default-cache="local-query" module="org.jboss.as.jpa.hibernate:4">
                    <local-cache name="entity">
                        <transaction mode="NON_XA"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="local-query">
                        <transaction mode="NONE"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="timestamps">
                        <transaction mode="NONE"/>
                        <eviction strategy="NONE"/>
                    </local-cache>
                </cache-container>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jca:1.1">
                <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
                <bean-validation enabled="true"/>
                <default-workmanager>
                    <short-running-threads>
                        <core-threads count="50"/>
                        <queue-length count="50"/>
                        <max-threads count="50"/>
                        <keepalive-time time="10" unit="seconds"/>
                    </short-running-threads>
                    <long-running-threads>
                        <core-threads count="50"/>
                        <queue-length count="50"/>
                        <max-threads count="50"/>
                        <keepalive-time time="10" unit="seconds"/>
                    </long-running-threads>
                </default-workmanager>
                <cached-connection-manager/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                <expose-resolved-model/>
                <expose-expression-model/>
                <remoting-connector/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jpa:1.1">
                <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
            <subsystem xmlns="urn:jboss:domain:mail:1.2">
                <mail-session name="default" jndi-name="java:jboss/mail/Default">
                    <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                </mail-session>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:naming:1.4">
                <remote-naming/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
            <subsystem xmlns="urn:jboss:domain:remoting:1.2">
                <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
            <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
            <subsystem xmlns="urn:jboss:domain:security:1.2">
                <security-domains>
                    <security-domain name="other" cache-type="default">
                        <authentication>
                            <login-module code="Remoting" flag="optional">
                                <module-option name="password-stacking" value="useFirstPass"/>
                            </login-module>
                            <login-module code="RealmDirect" flag="required">
                                <module-option name="password-stacking" value="useFirstPass"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                    <security-domain name="jboss-web-policy" cache-type="default">
                        <authorization>
                            <policy-module code="Delegating" flag="required"/>
                        </authorization>
                    </security-domain>
                    <security-domain name="jboss-ejb-policy" cache-type="default">
                        <authorization>
                            <policy-module code="Delegating" flag="required"/>
                        </authorization>
                    </security-domain>
                    <security-domain name="messaging" cache-type="default">
                        <authentication>
                            <login-module code="RealmUsersRoles" flag="required">
                                <module-option name="unauthenticatedIdentity" value="guest"/>
                                <module-option name="usersProperties" value="${jboss.server.config.dir}/application-users.properties"/>
                                <module-option name="rolesProperties" value="${jboss.server.config.dir}/application-roles.properties"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                    <security-domain name="ds-name-security-primary" cache-type="default">
                        <authentication>
                            <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
                                <module-option name="username" value="root"/>
                                <module-option name="password" value="5dfc52b51bd35553df8592078de921bc"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                    <security-domain name="ds-name-security-business" cache-type="default">
                        <authentication>
                            <login-module code="org.picketbox.datasource.security.SecureIdentityLoginModule" flag="required">
                                <module-option name="username" value="root"/>
                                <module-option name="password" value="5dfc52b51bd35553df8592078de921bc"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                </security-domains>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
            <subsystem xmlns="urn:jboss:domain:transactions:1.5">
                <core-environment>
                    <process-id>
                        <uuid/>
                    </process-id>
                </core-environment>
                <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                <coordinator-environment default-timeout="300"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
                <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
                <virtual-server name="default-host" enable-welcome-root="true">
                    <alias name="localhost"/>
                    <alias name="example.com"/>
                </virtual-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:webservices:1.2">
                <modify-wsdl-address>true</modify-wsdl-address>
                <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
                <endpoint-config name="Standard-Endpoint-Config"/>
                <endpoint-config name="Recording-Endpoint-Config">
                    <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                        <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                    </pre-handler-chain>
                </endpoint-config>
                <client-config name="Standard-Client-Config"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:weld:1.0"/>
        </profile>
    
        <interfaces>
            <interface name="management">
                <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
            </interface>
            <interface name="public">
                <inet-address value="${jboss.bind.address:0.0.0.0}"/>
            </interface>
            <interface name="unsecure">
                <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
            </interface>
        </interfaces>
    
        <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
            <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
            <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
            <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
            <socket-binding name="ajp" port="8009"/>
            <socket-binding name="http" port="8080"/>
            <socket-binding name="https" port="8443"/>
            <socket-binding name="remoting" port="4447"/>
            <socket-binding name="txn-recovery-environment" port="4712"/>
            <socket-binding name="txn-status-manager" port="4713"/>
            <socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:233.252.134.134}" multicast-port="${jboss.messaging.group.port:9876}"/>
            <socket-binding name="messaging" port="5445"/>
            <socket-binding name="messaging-throughput" port="5455"/>
            <outbound-socket-binding name="mail-smtp">
                <remote-destination host="localhost" port="25"/>
            </outbound-socket-binding>
        </socket-binding-group>
    </server>
    
    8802.server.log
    <?xml version="1.0" encoding="UTF-8"?>
    <datasources xmlns="http://www.jboss.org/ironjacamar/schema">
      <!-- System Datasource -->
      <xa-datasource 
          jndi-name="jdbc/AppianPrimaryDS"
    pool-name="MySqlDS"
    enabled="true"
    use-java-context="false">
    <xa-datasource-property name="serverName">localhost</xa-datasource-property>
    <xa-datasource-property name="portNumber">3306</xa-datasource-property>
    <xa-datasource-property name="databaseName">appian17.4_primary</xa-datasource-property>
    <xa-datasource-property name="useUnicode">true</xa-datasource-property>
    <xa-datasource-property name="characterEncoding">UTF-8</xa-datasource-property>
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    <driver>com.mysql.jdbc</driver>
    <security>
    <security-domain>ds-name-security-primary</security-domain>
    </security>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <xa-pool>
    <min-pool-size>5</min-pool-size>
    <max-pool-size>100</max-pool-size>
    </xa-pool>
    <timeout>
    <blocking-timeout-millis>5000</blocking-timeout-millis>
    <idle-timeout-minutes>5</idle-timeout-minutes>
    </timeout>
      </xa-datasource>
    <xa-datasource
    jndi-name="jdbc/AppianBusinessDS"
    pool-name="MySqlDS"
    enabled="true"
    use-java-context="false">
    <xa-datasource-property name="serverName">localhost</xa-datasource-property>
    <xa-datasource-property name="portNumber">3306</xa-datasource-property>
    <xa-datasource-property name="databaseName">appian17.4_business</xa-datasource-property>
    <xa-datasource-property name="useUnicode">true</xa-datasource-property>
    <xa-datasource-property name="characterEncoding">UTF-8</xa-datasource-property>
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    <driver>com.mysql.jdbc</driver>
    <security>
    <security-domain>ds-name-security-business</security-domain>
    </security>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <xa-pool>
    <min-pool-size>5</min-pool-size>
    <max-pool-size>100</max-pool-size>
    </xa-pool>
    <timeout>
    <blocking-timeout-millis>5000</blocking-timeout-millis>
    <idle-timeout-minutes>5</idle-timeout-minutes>
    </timeout>
    </xa-datasource>
    </datasources>
    

  • ####################### custom.properties example file ########################
    ##                                                                           ##
    ## NOTE: DO NOT simply rename this file custom.properties.                   ##
    ##                                                                           ##
    ## This file contains examples of entries for the custom.properties override ##
    ## file.  The custom.properties file is not installed by default and must be ##
    ## created in order to override the default value of a property.  Once       ##
    ## present, the custom.properties file will not be overwritten by subsequent ##
    ## upgrade installations.                                                    ##
    ## The values given in this file are the default values of the configuration ##
    ## properties. Override a property's default value by copying the relevant   ##
    ## entry from this file and placing it in conf/custom.properties with a new  ##
    ## value.  Properties that have no default have <PROVIDE A VALUE> listed as  ##
    ## the value and must be given a value specific to your environment in order ##
    ## to be used. All of the properties are commented with a single #.  You     ##
    ## will have to uncomment the property and give it a value when you copy to  ##
    ## custom.properties.                                                        ##
    ##                                                                           ##
    ## The most commonly configured properties are listed here.                  ##
    ###############################################################################
    
    #################
    #### General ####
    #################
    
    ## Specifying the scheme. Necessary when SSL is not performed at the app server
    ## level but enabled at different layer.
    conf.suite.SCHEME=http
    
    ## Used by both App Server and Engines to build up base URLs for links
    #conf.suite.APPLICATION_CONTEXT=suite
    
    ## The SERVER_AND_PORT property should be in the format server:port.
    ## Do not specify the :port if the port is 80 and the SCHEME is http, or the
    ## port is 443 and SCHEME is https.  This is the hostname and port portion of
    ## the URL viewed by end users in links (e.g., links in emails)
    conf.suite.SERVER_AND_PORT=127.0.0.1:8080
    
    ## The STATIC_PORTAL_CSS_SOURCE_URL, STATIC_FORMS_JS_SOURCE_URL, and
    ## STATIC_PORTAL_JS_SOURCE_URL allow specifying an external host
    ## for static javascript and CSS resources, to off-load rendering from
    ## the main server.
    #conf.static.STATIC_PORTAL_CSS_SOURCE_URL=
    #conf.static.STATIC_FORMS_JS_SOURCE_URL=
    #conf.static.STATIC_PORTAL_JS_SOURCE_URL=
    
    ## The BASE_PATH is the path to the directory that contains the accdocs*
    ## directories referenced in server/_conf/partition.xml. Set this prior to
    ## migration if upgrading from a previous version and the new installation is
    ## in a different location on the file system from the previous installation.
    ## NOTE: The path separator must be a forward slash ("/"), even if using
    ## Windows.
    #conf.suite.BASE_PATH=
    
    ## The location of the log files.
    #conf.suite.AE_LOGS=<install_dir>/logs
    
    ## ID of the default home page that users see in the designer environment if
    ## they do not have a custom home page
    #conf.suite.DEFAULT_HOME_PAGE_ID=0
    
    ## Copyright statements can be overridden using the following properties.  The
    ## copyright property allows overriding the entire statement or supports string
    ## formatting using a param substitution syntax: %2$s, %3$s
    ## The copyright statement appears as the footer of the designer and legacy
    ## portal interfaces
    ## Note that \u00A9 is the copyright symbol.
    #resources.appian.ap.application.appian.ap.copyright=\u00A9%2$s %3$s
    ## The 2 substitution parameters can be individually overridden with the
    ## the properties as follows:
    ## %2$s - the copyright year
    #resources.appian.ap.application.appian.ap.copyrightYear=2003-<defaults to current year>
    ## %3$s - the company name
    #resources.appian.ap.application.appian.ap.appianName=Appian Corporation
    
    ###############
    #### Email ####
    ###############
    
    ## Sending Email
    ## The address that will appear as the sender (the "From" address) of
    ## notification and password reset emails from the system.
    ## Defaults to appian-alerts@<serverdomain>
    #conf.mailhandler.ntf_sndr_addr=
    ## The domain (portion after the "@") for the "from" email address for
    ## addresses created via expressions functions; also applies to the domain
    ## for alert emails when conf.mailhandler.ntf_sndr_addr is not set. Defaults to
    ## the domain of the server.
    #conf.mailhandler.email.domain=
    ## The host is the FQDN, hostname, or IP address of the SMTP server for sending
    ## email from the system. Muliple SMTP servers can be specified using a comma-
    ## separated list.  They will be tried in the order specified.  If a port
    ## other than 25 is required, append it to the hostname (e.g., mailhost3:9025)
    ## IMPORTANT: If this is not set, no email will be sent from the system.
    #conf.mailhandler.mail.smtp.host=<PROVIDE A VALUE>
    ## The username used to connect to the SMTP server above.  Set
    ## conf.mailhandler.mail.smtp.auth=true if user/password are used.  Leave the
    ## default (false) to indicate that the SMTP server does not require
    ## authentication. If multiple SMTP servers are defined above, the same auth
    ## settings will apply to all servers
    #conf.mailhandler.mail.smtp.auth=false
    #conf.mailhandler.mail.user=
    ## The protocol should be set to either smtp or smtps. The default value is smtp.
    #conf.mailhandler.mail.transport.protocol=smtp
    ## You can enable or require starttls with the "smtp" protocol.  Setting
    ## starttls.enable=true will cause outgoing mail to use STARTTLS if supported by
    ## the remote server but will fall back to plain smtp otherwise.  Also setting
    ## starttls.required=true will cause mail to fail if the remote server does not
    ## support STARTTLS.
    #conf.mailhandler.mail.smtp.starttls.enable=false
    #conf.mailhandler.mail.smtp.starttls.required=false
    
    ## Receiving Email - see documentation for configuration of ejb-jar.xml
    ## Aliases can be used to route email sent to a particular email address to a
    ## specified process model, process, or event.  They are of the form
    ## conf.mailhandler.alias.<recipientName>=<routing> where <recipientName> is an
    ## email account and <routing> is processmodeluuid, processmodelid, process,
    ## or event followed by the corresponding id
    #conf.mailhandler.alias.HelpDeskRequest=processmodeluuid0004cedf-a045-8000-234b-c0a8031014c0
    
    ##########################
    #### Anonymous Access ####
    ##########################
    
    ## DEPRECATED: Set ANONYMOUS_ACCESS=true to receive email messages in process
    ## start nodes. It also enables the use of the ANONYMOUS user.
    ## Setting this property to true does NOT allow users to access the portal
    ## anonymously. The property remains deprecated because it will be renamed in a
    ## future release.
    #conf.suite.ANONYMOUS_ACCESS=false
    
    ########################
    #### Single Sign-On ####
    ########################
    
    ## Refer to the documentation on configuring single sign-on through the Spring
    ## Security framework.
    
    ######################
    #### Data Capping ####
    ######################
    
    ## Data Output Truncation Constants define data truncation limits in
    ## places where data output is capped (like in report cells).
    #conf.suite.DATA_TRUNC_SENTENCES=200
    
    ## Notification data caps
    #conf.suite.ALERT_SUBJECT_LIMIT=150
    #conf.suite.ALERT_MESSAGE_LIMIT=1000
    
    ###########################
    #### Process Execution ####
    ###########################
    
    ## The limit to the number of rows returned in the Database Access node
    #resources.appian.process.application.arv.limit=10
    
    ## Whether or not automatic archiving of completed and canceled processes is
    ## enabled.  1=enabled; 0=disabled
    #server.conf.exec.AUTOARCHIVE=1
    
    ##################
    #### Analytics ###
    ##################
    
    ## Analytics Report Rows Cap
    ## This number specifies the maximum number of items that can be loaded into
    ## app server memory when processing a report.
    ## It determines the last page that can be retrieved for a report:
    ## last page = floor(maxreportrows/(number of analytics engines * number of rows per page))
    ## In addition, this also determines the maximum number of rows that will be
    ## included when a report is exported or printed.
    #resources.appian.analytics.application.maxreportrows=30000
    
    ## Analytics Engine Timeout
    ## How much time each analytics engine is allowed to take to process a request in
    ## milliseconds. The report will time out if the request takes longer to process.
    #server.conf.processcommon.MAXIMUM_REPORT_MS=2000
    
    ## Process Search: report used to display results of process searches
    ## the value must be an alias defined in analytics-config(-*).xml
    #resources.appian.process.application.appian.process.process_search_report=all_processes
    
    ######################
    #### Data Sources ####
    ######################
    
    ## Appian must have a dedicated data source. Set the value to the JNDI name of
    ## the data source that will be used as the Appian data source.
    ## Note: This data source must point to a separate tablespace than any listed
    ## in the conf.data.datasources configuration.
    conf.data.APPIAN_DATA_SOURCE=jdbc/AppianPrimaryDS
    conf.data.datasources = jdbc/AppianBusinessDS
    ## Comma-separated list of JNDI names of data sources on the application server
    ## that will be used to store business data.  This list is used by the Query
    ## Database smart service and Data Stores.
    #conf.data.datasources=
    
    ###################		
    #### Documents ####
    ###################
    
    ## The minimum allowed size for a document or a folder.
    #resources.appian.ac.collaboration.MINIMUM_DOCUMENT_NAME_LENGTH=4
    ## The maximum allowed size in bytes for a document
    #resources.appian.ac.collaboration.MAX_UPLOAD_FILE_SIZE=1024000000
    ## The group id of Collaboration Administrators
    #resources.appian.ac.collaboration.COLLABORATION_ADMINISTRATION_GROUP_ID=0
    ## The number of Documents, Knowledge Center, or Folders that can be moved
    ## simultaneously
    #resources.appian.ac.collaboration.MAX_NUMBER_MOVEABLE_OBJECTS=4
    ## The number of megabytes to allocate to new users' quota for documents
    ## uploaded to folders in Personal and Teams knowledge centers.  Changing the
    ## value does not affect existing users.
    #server.conf.collaboration.DEFAULTSPACE=250
    ## Whether documents can be downloaded with the Content-Disposition header set
    ## to "inline" by using inline=true as a request parameter. This property must
    ## be set to true in order to use PDF forms as task forms or to display the
    ## contents of a file stored in Documents inline on a page in the web page
    ## channel.
    #conf.content.download.inline=false
    
    #####################
    #### Query Rules ####
    #####################
    
    ## The amount of memory in bytes that will be consumed in the application server
    ## for a single query before the query is halted. Default is 1 MB.
    #conf.data.query.memory.limit=1048576
    ## The amount of time in seconds that a query will wait for a response from the
    ## database before timing out.
    #conf.data.query.timeout=10
    
    #############
    #### JMS ####
    #############
    
    ## A list of client ids to use when connecting to the JMS provider, either
    ## clientIds needs to be defined as a comma-separated list or both
    ## clientIdPrefix and maxConnections must be defined
    #conf.jms.clientIds=
    #conf.jms.clientIdPrefix=CLIENT_
    #conf.jms.maxConnections=20
    ## The name of the JMS topic or queue that contains messages destined for
    ## process
    #conf.jms.processTopic=Process
    ## Some JMS providers have a prefix before the topic of queue name, if needed
    ## define that prefix here
    #conf.jms.topicPrefix=
    #conf.jms.queuePrefix=
    ## If the JMS provider requires a username and password for connection, define
    ## the username here and the password in passwords.properties
    
    ##########################################################
    #### Web Services: Exposing Processes as Web Services ####
    ##########################################################
    ## See uddi-config.xml.example for how to configure UDDI registries
    ## By default process models exposed as a web service can be found at
    ## SCHEME://SERVER_AND_PORT/APPLICATION_CONTEXT/webservice/processmodel/*?WSDL
    ## If you want a different base URL (part before /webservice..) define that here
    ## An application server or web server connected to the system must be listening
    #resources.appian.webservices.application.webservice.baseurl=
    
    ###########################
    #### Web Services Node ####
    ###########################
    
    ## The following are properties that control the behavior of HTTP connections
    ## made by the Call Web Service Node during service invocation.
    ## Number of seconds to wait to establish a connection with a web service host
    #conf.node.webservice.connection.timeout=60
    ## Once a connection is established, the number of seconds to wait for a
    ## response to a request
    #conf.node.webservice.socket.timeout=60
    ## Number of redirect responses (HTTP 304) the web service node will accept
    #conf.node.webservice.max.redirects=4
    
    ##################
    #### Plug-ins ####
    ##################
    
    ## The plug-in loading poll interval is the maximum number of seconds that will
    ## pass before loading a new plug-in after it is placed in the plugins
    ## directory.  Setting the interval to 0 will cause hot deployment to be
    ## disabled and deploying a new plug-in will require an app server restart.
    #conf.plugins.poll-interval=60

    Custom properties also attached