KB-1074 "Cannot open connection... Caused by: javax.resource.ResourceException: No matching credentials in Subject!" error thrown during JBoss startup

Symptoms

When performing operations that access an SQL server database from Appian, the following error may be encountered:

org.hibernate.exception.GenericJDBCException: Cannot open connection: java.sql.SQLException: javax.resource.ResourceException: IJ000456: Unchecked throwable in ManagedConnection.getConnection()
...
Caused by: javax.resource.ResourceException: No matching credentials in Subject!

The error is typically seen in the application server log or as part of an alert that is generated when the process is paused by exception.

Cause

This error is due to a known issue with JBoss EAP 6 and occurs when two or more configured data sources use the same security domain.

See: Bug 1103684 - Unable to share Identity Security Domain across datasources

Action

  1. Stop JBoss.
  2. Edit standalone.xml to configure additional security domains as required for each of the data sources.
  3. Edit *-ds.xml to ensure that the data sources are mapped to the appropriate security domains.
  4. Start JBoss.

Starting with Appian 16.1, users have the ability to configure business data sources in the Admin Console. This is the recommended approach for configuring business data sources.

If you are on a version that supports configuring business data sources in the Admin Console, follow the steps above. After JBoss starts, reconfigure all data sources in the Admin Console instead using the same names and connection strings. After all business data sources have been tested and verified, remove them from the *-ds.xml file.

If you are not on a version that supports configuring business data sources in the Admin Console, follow the steps above only. Appian Technical Support recommends upgrading to a more recent version of Appian that contains this functionality.

Affected Versions

This article applies to all versions of Appian.

Last Reviewed: February 2017

Related
Recommended