Not able to connect camunda spring boot rest api with oracle db

When i am trying to connect oracle db to my camunda rest api
Getting exception: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘org.camunda.bpm.spring.boot.starter.SpringBootProcessApplication$WebApplicationConfiguration’: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘org.camunda.bpm.spring.boot.starter.SpringBootProcessApplication’: Unsatisfied dependency expressed through field ‘processEngine’; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘org.camunda.bpm.spring.boot.starter.CamundaBpmAutoConfiguration$ProcessEngineConfigurationImplDependingConfiguration’: Unsatisfied dependency expressed through field ‘processEngineConfigurationImpl’; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘processEngineConfigurationImpl’ defined in class path resource [org/camunda/bpm/spring/boot/starter/CamundaBpmConfiguration.class]: Unsatisfied dependency expressed through method ‘processEngineConfigurationImpl’ parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘camundaDatasourceConfiguration’: Unsatisfied dependency expressed through field ‘transactionManager’; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘org.springframework.transaction.PlatformTransactionManager’ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

my application.properties are:
server.port = 8080
camunda.bpm.admin-user.id=demo
camunda.bpm.admin-user.password=demo
camunda.bpm.database.jdbc-batch-processing: false
camunda.bpm.database.schema-update= false
camunda.bpm.database.type=oracle

#DataBase Configuration
spring.jpa.database=default
#spring.jpa.hibernate.ddl-auto=create
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
#spring.jpa.generate-ddl=true
spring.jpa.show-sql=true

spring.crits.url= jdbc:oracle:thin:@localhost:2:HOBDB04
spring.crits.username=XXX
spring.crits.password=XXX
spring.crits.driver-class-name=oracle.jdbc.OracleDriver

spring.tibsso.url=jdbc:oracle:thin:@localhost:2:HOBDB04
spring.tibsso.username=XXX
spring.tibsso.password=XXX
spring.tibsso.driver-class-name=oracle.jdbc.OracleDriver

@nehaec24 Welcome to the forum :blush:

How did you configured the process engine? Are you able to connect with db client directly with those credentials? Which version of database and drivers are you using?

@aravindhrs
yes i am able to connect with my other spring boot rest api without camunda
i am using Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

@aravindhrs
I want to connect with two schema so, databaseConfig is like below:

DatabasecritsConfig Class:
#Configuration
#EnableTransactionManagement
#EnableJpaRepositories(entityManagerFactoryRef = “critsentityManagerFactory”,transactionManagerRef = “critstransactionManager” , basePackages = {“com.tcs.telecom.hobs.pc.crits.repo”})
public class DatabasecritsConfig {

private static final Logger logger = LoggerFactory.getLogger(DatabasecritsConfig.class);
#Bean(name = "critsdataSource")
#ConfigurationProperties(prefix = "spring.crits")
public DataSource dataSource() {
	logger.info("Inside critsdataSource method :::::::::::");
	return DataSourceBuilder.create().build();
}


#Bean(name = "critsentityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
		EntityManagerFactoryBuilder builder,
		#Qualifier("critsdataSource") DataSource dataSource) {
	return builder.dataSource(dataSource)
			.persistenceUnit("crits")
			.packages(new String[]{"com.tcs.telecom.hobs.pc.crits.entity"})
			.build();
}


#Bean(name = "critstransactionManager")
public PlatformTransactionManager transactionManager(
		#Qualifier("critsentityManagerFactory") EntityManagerFactory entityManagerFactory) {
	return new JpaTransactionManager(entityManagerFactory);
}

and another class DatabasetibssoConfig
#Configuration
#EnableTransactionManagement
#EnableJpaRepositories(entityManagerFactoryRef = “tibssoentityManagerFactory”,transactionManagerRef = “tibssotransactionManager” , basePackages = {“com.tcs.telecom.hobs.pc.tibsso.repo”})
public class DatabasetibssoConfig {

private static final Logger logger = LoggerFactory.getLogger(DatabasetibssoConfig.class);
#Primary
#Bean(name = "tibssodataSource")
#ConfigurationProperties(prefix = "spring.tibsso")
public DataSource dataSource() {
	logger.info("Inside tibssodataSource method :::::::::::");
	return DataSourceBuilder.create().build();
}

#Primary
#Bean(name = "tibssoentityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
		EntityManagerFactoryBuilder builder,
		#Qualifier("tibssodataSource") DataSource dataSource) {
	return builder.dataSource(dataSource)
			.persistenceUnit("tibsso")
			.packages(new String[]{"com.tcs.telecom.hobs.pc.tibsso.entity"})
			.build();
}

#Primary
#Bean(name = "tibssotransactionManager")
public PlatformTransactionManager transactionManager(
		#Qualifier("tibssoentityManagerFactory") EntityManagerFactory entityManagerFactory) {
	return new JpaTransactionManager(entityManagerFactory);
}