Search code examples
teiid

TEIID Springboot integration


i read about Teiid and i liked it, but because it has a lot of changes, i got some problems first to deal with it, but what i understand now is the following:

1- teiid wildfly and thorntail are going to be obsolete, so, i will not use them. 2- teiid spring boot and openshift are the most active projects now, so, i chose one of them which is sprintboot.

my thoughts for using teiid in springboot is for the following:

1- integrate my different schemas in a micro-service architecture pattern to solve the problem of data integrity for all services. 2- create a standalone data virtualization (data warehouse) for my internal database systems to be used in reporting.

for the reporting system, i created a ddl vdb file, and i was able to deploy springboot application with jdbc enabled, and used the existing Simple-java-client to connect to it, but i tried to use apache superset to get my reports in a BI application, and i enabled the ODBC with the postgres, but i always have the below error

Connection failed (psycopg2.OperationalError) TEIID30528 javax.transaction.SystemException: The system is only setup for spring managed transactions. If you need Teiid to manage transactions, then a third-party transaction manager like narayana-spring-boot-starter needs to be configured. DETAIL: org.teiid.jdbc.TeiidSQLException: TEIID30528 javax.transaction.SystemException: The system is only setup for spring managed transactions. If you need Teiid to manage transactions, then a third-party transaction manager like narayana-spring-boot-starter needs to be configured.

although i tried to integrate with narayana, but i couldn't configure it, sorry for this long discussion, but i need to know:

1- is the above approach is good, or should i try other things.

2- is the above error has any fix or there is any other suggested BI tool i can use with Teiid?

thanks in advance


Solution

  • thanks a lot for your help, and by adding the below dependency to the POM file

     <dependency> 
     <groupid>me.snowdrop</groupid>
     <artifactid>narayana-spring-boot-starter</artifactid>
     <version>2.1.0</version>
    

    and adding narayana.dbcp.enabled=true, spring.jta.enabled=true to the application.properties, i could do some graphs using the apache superset.

    also, as long as wildly is still supported, i will go on for the wildfly solution, as it is more suitable to have more VDBs in a single container.

    thanks a lot