Can't Start JBoss on 7.3

I seem to be having issues with my local 7.3 installation -- more specifically, starting up JBoss. The errors I'm seeing are as shown below:

JBAS014775: New missing/unsatisfied dependencies:
service jboss.jdbc-driver.com_mysql_jdbc (missing) dependents: [service jb
oss.data-source.java:/jdbc/appianPrimary, service jboss.data-source.java:/jdbc/a
ppianData]

03:11:36,927 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http mana
gement interface listening on 127.0.0.1:9990/management
03:11:36,931 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin con
sole listening on http://127.0.0.1:9990
03:11:36,931 ERROR [org.jboss.as] (Controller Boot Thread) JBAS015875: JBoss EAP
6.2.0.GA (AS 7.3.0.Final-redhat-14) started (with errors) in 4100ms - Started 1
55 of 220 services (6 services failed or missing dependencies, 58 services are p
assive or on-demand)

What might be the cause of these errors? Thanks....

OriginalPostID-93626

OriginalPostID-93626

  Discussion posts and replies are publicly visible

  • My suggestion is to look at standalone.xml, module.xml and appian-ds.xml.

    To confirm where the issue is:

    1. Stop JBoss
    2. Delete <JBOSS_HOME>\\standalone\\log\\server.log
    3. Start JBoss until it fails
    4. Open the <JBOSS_HOME>\\standalone\\log\\server.log and scroll from top to bottom until you find an error. The first error will tell you where the issue is. Here are a few examples:

    ---> 4.1 This indicates an issue with module.xml (and/or standalone.xml)

    JBAS014613: Operation ("add") failed - address: ([
    ("subsystem" => "datasources"),
    ("jdbc-driver" => "com.mysql.jdbc")

    ---> 4.2 This indicates an issue with appian-ds.xml

    "org.jboss.msc.service.StartException in service jboss.deployment.unit.\\"appian-ds.xml\\".PARSE: Failed to process phase PARSE of deployment \\"appian-ds.xml\\""

    ---> 4.3 If you don't see a message like this indicating your data source has been bound (where XXXXXX is your data source's JNDI name) then this can be an issue with appian-ds.xml as well if error 4.1 is not the problem:

    JBAS010400: Bound data source [java:/jdbc/XXXXXX]
  • After I checked the logs I did notice an error similar to 4.1. I tweaked the files a bit and ran JBoss again, but now I am seeing something completely different.

    ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/suite]] (ServerService Thread Pool -- 104) JBWEB000287: Exception sending context initialized event to listener instance of class com.appiancorp.common.config.ConfigurationLoader: com.appiancorp.common.config.FatalConfigurationException: com.appiancorp.suiteapi.common.exceptions.AppianException: An unexpected error occurred while trying to initialize and validate the primary data source. (APNX-1-4179-004)

    Caused by: com.appiancorp.rdbms.config.PrimaryDataSourceNotConfiguredException: com.appiancorp.suiteapi.common.exceptions.AppianException: FATAL: No value configured for conf.data.primary.datasource in custom.properties. A primary datasource is required. The Appian application will fail to deploy. (APNX-1-4179-003)

    My custom.properties file is correctly configured as far as I can tell:

    conf.suite.PRODUCTION=true

    server.conf.processcommon.MAX_SPAWN_INSTANCES=120

    conf.suite.SERVER_AND_PORT=localhost:8080

    conf.data.primary.datasource=java:/jdbc/appianPrimary

    conf.data.datasources=java:/jdbc/appianData

    What could I be missing?
  • Do you have your java context enabled in your appian-ds.xml file?
  • It is currently set to false. Should it be the other way around?
  • Since you prefixed the JNDI name in custom.properties with the "java" context then this has to be set to true in appian-ds.xml
  • At the top of the JBoss log, it should show the JNDI names that were created. Just make sure whatever the appian-ds.xml file creates matches the jndi name in the custom.properties file. Ultimately I think there was a mismatch with the jndi name created by the appian-ds.xml file and what custom.properties is looking for.
  • I have continued to troubleshoot and have not had much success with getting JBoss to successfully start. I have made all of the updates/corrections you've suggested and still get this error:

    ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/suite]] (ServerService Thread Pool -- 190) JBWEB000287: Exception sending context initialized event to listener instance of class com.appiancorp.common.config.ConfigurationLoader: com.appiancorp.common.config.FatalConfigurationException: com.appiancorp.suiteapi.common.exceptions.AppianException: An unexpected error occurred while trying to initialize and validate the primary data source. (APNX-1-4179-004)

    Here is what my appian-ds file looks like:

    <?xml version="1.0" encoding="UTF-8"?>
    <datasources xmlns="www.jboss.org/.../schema">
    <xa-datasource
    jndi-name="java:/jdbc/appianPrimary"
    pool-name="MySqlDS"
    enabled="true"
    use-java-context="true">
    <xa-datasource-property name="serverName">localhost</xa-datasource-property>
    <xa-datasource-property name="portNumber">3306</xa-datasource-property>
    <xa-datasource-property name="databaseName">appianPrimary</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</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="java:/jdbc/appianData"
    pool-name="MySqlDS"
    enabled="true"
    use-java-context="true">
    <xa-datasource-property name="serverName">localhost</xa-datasource-property>
    <xa-datasource-property name="portNumber">3306</xa-datasource-property>
    <xa-datasource-property name="databaseName">appianData</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</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>

    Any additional help you can provide will be appreciated.
  • I made another update and am now getting a different "caused by" message:

    Caused by: DataSourceConnectionException[java:/jdbc/appianPrimary]: FATAL: The primary datasource cannot be reached. Access to the primary datasource is required. The Appian application will fail to deploy. Details: Unable to build EntityManagerFactory (APNX-1-4179-002)

    What does this typically mean?
  • 1. Looking at your log we can tell JBoss is correctly deploying your data sources:

    JBAS010400: Bound data source [java:/jdbc/appianData]
    JBAS010400: Bound data source [java:/jdbc/appianPrimary]

    2. However, when it's time for Appian to connect to the primary data source it's failing with the following error:

    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'appianPrimary'

    3. This error means that your configuration files are perfectly fine but the database doesn't exist in your MySQL instance.

    Remember that both database need to exist in MySQL: appianprimary and appianData since those are the names you have used in the <xa-datasource-property name="databaseName"> tag in appian-ds.xml

    To create a database in MySQL simply use the:

    create database;

    command or create it from MySQL User Interface (e.g. MySQL Workbench) dev.mysql.com/.../creating-database.html
  • Thanks again, Eduardo. Initially when I installed MySQL, I created new "database connections" which apparently is not the same thing as creating databases. I am good to go now!