【问题标题】:TEIID Springboot integrationTEIID Springboot 集成
【发布时间】:2020-04-27 07:45:37
【问题描述】:

我读过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 一起使用?

提前致谢

【问题讨论】:

    标签: teiid


    【解决方案1】:

    我能说的 (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 integration 的自述文件。

    配置 Narayana 启动器应该足以将启动器添加到您的 pom.xml

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

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

    【讨论】:

    • 是的,WildFly 版本不会消失。 Thorntail 版本当然是。是的,Spring Boot 版本更多地用于微服务或更小的占用空间,其中单个 VDB 是每个 VM 模型所需的部署,或者可以选择与 JPA 之类的开发模型一起使用。对于 Superset,您可以将 &lt;dependency&gt; &lt;groupid&gt;me.snowdrop&lt;/groupid&gt; &lt;artifactid&gt;narayana-spring-boot-starter&lt;/artifactid&gt; &lt;version&gt;2.1.0&lt;/version&gt; &lt;/dependency&gt; 作为依赖项添加到您的 pom.xml 文件中
    【解决方案2】:

    非常感谢您的帮助,并将以下依赖项添加到 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 更合适。

    非常感谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-04
      • 2020-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-19
      • 2021-08-31
      • 1970-01-01
      相关资源
      最近更新 更多