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

  • 0
    A Score Level 2
    in reply to davinenig
    Looking at the logs, whenever you see an error message that has the keyword "kougar" mentioned inside it, it means something's wrong with appian engines....first thing that I would suggest is to check appian\services\bin\status.bat -p password to see if all engines are running or not. The log indicates that jboss is unable to communicate with the engines...
  • 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
  • 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