Skip Ribbon Commands
Skip to main content
Navigate Up
Sign In

Quick Launch

Average Rating:

(2 Ratings)
facebook Twitter
Email
Print Bookmark Alert me when this article is updated

Feedback

Unable to create contents for the "Human Task" database in Informatica 9.5.1 HotFix1
Problem Description
While creating contents for the Human Task database from DIS in Informatica 9.5.1 HotFix1, it fails with the following error:
Could not execute action... 
org.springframework.beans.factory.access.BootstrapException: Unable to return specified BeanFactory instance: factory key [com.informatica.ht.service], from group with resource name [classpath*:com/informatica/**/beanRefFactory.xml]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.informatica.ht.service' defined in URL [jar:file:/E:/Informatica/9.5.1/services/DataIntegrationService/modules/HumanTaskService/common-1536.767.jar!/com/informatica/ht/service/beanRefFactory.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'HTScheduler' defined in class path resource [org/jbpm/task/service/jbpmContext.xml]: Cannot resolve reference to bean 'taskServiceSession' while setting bean property 'taskServiceSession'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'taskServiceSession': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springTaskServiceSessionTarget' defined in class path resource [org/jbpm/task/service/jbpmContext.xml]: Cannot resolve reference to bean 'scheduler' while setting bean property 'scheduler'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scheduler' defined in class path resource [org/jbpm/task/service/jbpmContext.xml]: Invocation of init method failed; nested exception is org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'springTxDataSource.InfaScheduler': java.sql.SQLException: Unable to acquire a new connection from the pool [See nested exception: java.sql.SQLException: Unable to acquire a new connection from the pool] Related cause: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'taskServiceTarget' defined in class path resource [org/jbpm/task/service/jbpmContext.xml]: Unsatisfied dependency expressed through constructor argument with index 1 of type [org.jbpm.task.event.TaskEventListener]: Ambiguous constructor argument types - did you specify the correct bean references as constructor arguments? Related cause: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'taskServiceTarget' defined in class path resource [org/jbpm/task/service/jbpmContext.xml]: Unsatisfied dependency expressed through constructor argument with index 1 of type [org.jbpm.task.event.TaskEventListener]: Ambiguous constructor argument types - did you specify the correct bean references as constructor arguments? Related cause: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'taskServiceTarget' defined in class path resource [org/jbpm/task/service/jbpmContext.xml]: Unsatisfied dependency expressed through constructor argument with index 1 of type [org.jbpm.task.event.TaskEventListener]: Ambiguous constructor argument types - did you specify the correct bean references as constructor arguments?
Cause
This issue occurs when the Human Task contents are created on an SQL Server database and JTA and XA datasources are not enabled on the SQL Server database.
Solution
Enable XA transactions in the DTC properties in component services. To resolve this issue, configure Human Task SQLServer installation to support JTA and XA datasources as of Informatica 9.5.1 HotFix 1. It is recommended to contact your IT/DBA to make the changes to your SQL server installations.​
 
Following steps will assist your IT/DBA to make changes on the SQL Server installation to enable JTA and XA datasources:
  1. Depending on the Operating System bit encoding (32 bits - 64 bits), copy sqljdbc.dll and instjdbc.sql from INFA_HOME/services/ReportingService/DA-tools/SQLServerJTA to the Binn (C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Binn\) folder of your SQLServer install.
  2. Run instjdbc.sql as a user with admin privileges and discard any errors related to KB 150171 and KB 150173
  3. Download sqljdbc_xa.dll and xa_install.sql from http://www.microsoft.com/en-us/download/details.aspx?id=11774 to the
     Binn (C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Binn\) folder of your SQLServer install.
  4. Run xa_install.sql as a user with admin privileges.
  5. Enable the Distributed Transaction Coordinator service (DTC). 


    DTC.jpg

  6. Select the Enable XA transactions option in the DTC properties in component services.

    XA.jpg

  7. Restart your SQLServer instance. Now, delete the Human Task content/ tables in the SQL Server database and create the Human Task content.
More Information
Why do we require JTA and XA datasources enabled in the SQL Server database starting Informatica 9.5.1 HotFix 1?
 
This is in order to allow the use of distributed transactions.
 
In Informatica 9.5.*, HT performed a lot of interactions with the DB in isolation.
 
Given a workflow run where HT is load balanced to create 1000 tasks, the following tasks are performed:
  1. Create a parent task to which 1000 tasks will be children (used internally)
  2. Create one task at a time of the 1000 child tasks
  3. Start the parent task to denote a running state
Each of the above task happens independently, and a failure at any interim stage will leave the DB in an inconsistent state, in terms of the workflow run. For instance, only half the tasks might have been created. Also, all the tasks that are created are visible in IDD. Thus, this adds another dimension to the issue.
 
To address this, we wanted the ability to make arbitrary calls to HT transactional. This is why we are using an implementation of JTA (Java Transaction API) and a (XA) datasource, which support distributed transactions. Now, from Informatica 9.5.1 HotFix 1, the steps mentioned above happen automatically (all steps complete or no steps are completed).
 
There are other various scenarios where Human Task creation fails and throws a misleading bean error. The situations are as follows:
  1. SqlServer: Case sensitive requirement
    1. INFA343298 is logged for this issue and is expected to be resolved in Informatica 9.6.0 and then pushed back to Informatica 9.5.1 HotFix 2
    2. A small t should have been a capital T in the SQL script.
  2. The Human Task database connections fail table creation with hyphenated hostnames
    1. jdbc:informatica.oracle://my-server:1521;SID=DATABASE will also cause the java ‘bean’ error that we have seen.
    2. INFA344279 has been logged for this issue and is expected to be fixed in Informatica 9.5.1 HotFix 2
  3. Oracle: SID, ServiceName usage
    1. INFA344640 has been logged for this issue and is expected to be fixed in Informatica 9.5.1 HotFix 2. This encourages usage of Alias/ServiceName rather than SID.
Applies To
Product: Data Quality
Problem Type:
User Type:
Project Phase:
Product Version: Data Quality 9.5.1
Database: Microsoft SQL Server; Oracle
Operating System:
Other Software:

Reference
For more information, see Informatica Data Quality (Version 9.5.1 HotFix 1) Upgrade Guide for Version 9.5.0.
Attachments
Last Modified Date:3/9/2015 4:56 AMID:148995
People who viewed this also viewed

Feedback

Did this KB document help you?



What can we do to improve this information (2000 or fewer characters)