0

我读过Teiid,我很喜欢它,但是因为它有很多变化,所以我首先遇到了一些问题来处理它,但我现在理解的是以下几点:

1- teiid wildfly 和 thorntail 将会过时,所以,我不会使用它们。2- teiid spring boot 和 openshift 是现在最活跃的项目,所以,我选择了其中之一,即 sprintboot。

我在 springboot 中使用 teiid 的想法是:

1-将我的不同模式集成到微服务架构模式中,以解决所有服务的数据完整性问题。2-为我的内部数据库系统创建一个独立的数据虚拟化(数据仓库)以用于报告。

对于报告系统,我创建了一个 ddl vdb 文件,我能够在启用 jdbc 的情况下部署 springboot 应用程序,并使用现有的 Simple-java-client 连接到它,但我尝试使用 apache superset 来获取我的报告一个 BI 应用程序,我使用 postgres 启用了 ODBC,但我总是遇到以下错误

连接失败 (psycopg2.OperationalError) TEIID30528 javax.transaction.SystemException:系统仅设置为 Spring 托管事务。如果需要 Teiid 来管理事务,则需要配置像 narayana-spring-boot-starter 这样的第三方事务管理器。详细信息:org.teiid.jdbc.TeiidSQLException:TEIID30528 javax.transaction.SystemException:系统仅针对 Spring 托管事务设置。如果需要 Teiid 来管理事务,则需要配置像 narayana-spring-boot-starter 这样的第三方事务管理器。

虽然我尝试与 narayana 集成,但我无法配置它,抱歉这么长时间的讨论,但我需要知道:

1-上述方法是好的,还是我应该尝试其他方法。

2-上述错误是否有任何修复或有任何其他建议的 BI 工具可以与 Teiid 一起使用?

提前致谢

4

2 回答 2

0

非常感谢您的帮助,并将以下依赖项添加到 POM 文件中

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

并将 narayana.dbcp.enabled=true, spring.jta.enabled=true 添加到 application.properties,我可以使用 apache 超集做一些图表。

此外,只要还支持 wildly,我将继续使用 wildfly 解决方案,因为它更适合在单个容器中拥有更多 VDB。

多谢

于 2020-04-30T10:15:46.273 回答
0

我能说的 ( https://teiid.io/blog/post-2020-3 ) 对于 WildFly,Teiid 不会过时。Teiid 目前支持WildFly和 Spring Boot,可以在他们的页面上找到。如果您正在寻找 Java EE 组件以及其他 JBoss 项目(例如 Narayana)之间的最佳集成,那么您可以尝试检查 Teiid 的 WildFly 版本。为了Quarkus而减少 Thorntail 的开发力度是对的。但似乎(如上面的帖子所述)Teiid 考虑了 Quarkus 的支持。但是WildFly(!)仍然受支持。

关于为 Spring Boot 和 Narayana 设置第三方事务管理器的问题,您应该检查来自 Snowdrop 项目的信息和Narayana Spring Boot 集成的自述文件。

配置 Narayana 启动器应该足够的事情是将启动器添加到您的pom.xml

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jta-narayana</artifactId>
</dependency>

如果需要特别配置 Narayana,配置属性以spring.jta.narayana

于 2020-04-28T08:43:04.243 回答