Giter Club home page Giter Club logo

teiid-spring-boot's Introduction

teiid

Build Status Join the chat at https://gitter.im/teiid

Teiid is a data virtualization system that allows applications to use data from multiple, heterogeneous data stores.

Useful Links

To build Teiid

Enter the following:

$ git clone https://github.com/<yourname>/teiid.git
$ cd teiid
$ mvn clean install -P dev -s settings.xml

you can find the deployment artifacts in the "teiid/build/target" directory once the build is completed.

Travis Builds

Teiid includes a travis build config. By default it performs only an "install" on every commit. It allows for a cron based build to be configured as well for deploying snapshots. The snapshot build requires add the environment variables SONATYPE_USERNAME and SONATYPE_PASSWORD that should set to the user access token values of an authorized sonatype account.

Teiid for WildFly

Teiid for WildFly may be built by including the wildfly profile with the relevant build command. For example:

$ mvn clean install -P dev,wildfly -s settings.xml

The Teiid WildFly kits will then be located under wildfly/wildfly-build/target

Licenses

The default license for all submodules is the Apache Software License (ASL) v2.0

Where applicable individual submodules will provide additional copyright and license information.

teiid-spring-boot's People

Contributors

3draven avatar aditya300899 avatar bibryam avatar christian-posta avatar ciphereck avatar cunningt avatar dependabot[bot] avatar elenavanengelenmaslova avatar gvermoen avatar hayeb avatar kylinsoong avatar lukyer avatar rareddy avatar shawkins avatar vhalbert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

teiid-spring-boot's Issues

`@ConfigurationProperties` must have a root prefix

TeiidConnectorConfiguration should have a root prefix for the @ConfigurationProperties. Such POJO bound to the environment are usually called properties object so I'd rather call that TeiidConnectorProperties.

Also, this shouldn't be a @Configuration (that thing does not and should not provide bean definitions). If you want it to be processed, add @EnableConfigurationPropertiers(TeiidConnectorProperties.class on your auto-configuration as described in the documentation.

Avoid use of `@ComponentScan` on auto-configuration

The main auto-configuration has a @ComponentScan directive that doesn't sound right. When working with auto-configuration, things must be explicit, based on context and conditions. Scanning the whole package (even for convenience) is a bit fragile IMO. Perhaps you should @Import the thing that you need there?

JDBC Query

If I have a spring boot app that uses external DDL vdb, can a SQL client query it using JDBC? Like wildfly deployment.

Thanks

Spring Boot Failure

Hi

I have used the sample VDB spring boot example and when i execute the jar i'm getting the below error.
I'm using Maven 3 and JDK 8

14:27:52.646 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.IllegalArgumentException: Unable to instantiate factory class [org.teiid.spring.autoconfigure.EnvironmentPropertiesPostProcessor] for factor
y type [org.springframework.boot.env.EnvironmentPostProcessor]
at org.springframework.core.io.support.SpringFactoriesLoader.instantiateFactory(SpringFactoriesLoader.java:168)
at org.springframework.core.io.support.SpringFactoriesLoader.loadFactories(SpringFactoriesLoader.java:104)
at org.springframework.boot.context.config.ConfigFileApplicationListener.loadPostProcessors(ConfigFileApplicationListener.java:193)
at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEnvironmentPreparedEvent(ConfigFileApplicationListener.j
ava:184)
at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEvent(ConfigFileApplicationListener.java:176)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at org.teiid.spring.example.Application.main(Application.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:109)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: java.lang.UnsupportedClassVersionError: org/teiid/spring/autoconfigure/EnvironmentPropertiesPostProcessor has been compiled by a more recen
t version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)

Cannot invoke "org.teiid.spring.common.ExternalSource.getTranslatorName()" because "es" is null

Hi,

I am trying out this starter for the first time using this example : rdbms

But i am getting the below exception:
Cannot invoke "org.teiid.spring.common.ExternalSource.getTranslatorName()" because "es" is null

2021-06-22 01:29:57.683  WARN 1204195 --- [           main] onfigReactiveWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseInitializer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'db' defined in class path resource [com/test/application/DataSources.class]: Initialization of bean failed; nested exception is java.lang.NullPointerException: Cannot invoke "org.teiid.spring.common.ExternalSource.getTranslatorName()" because "es" is null

I am not sure what is wrong with it, as you can see that it found the data source but still throwing exception am i missing something ?

2021-06-22 01:36:47.253  INFO 1205224 --- [           main] o.t.s.a.TeiidBeanDefinitionPostProcessor : Found data sources: [db]

Project Configurations :

# JPA
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.generate-ddl=false

# DATA SOURCES
spring.datasource.db.jdbc-url=jdbc:postgresql://localhost:15432/db
spring.datasource.db.username=postgres
spring.datasource.db.password=password
spring.datasource.db.driver-class-name=org.postgresql.Driver
spring.datasource.db.platform=db
spring.datasource.db.pool-size=10
#spring.datasource.db.maximumPoolSize=5
spring.datasource.db.minimumIdle=0

# TEIID
spring.datasource.db.importer.SchemaPattern=public
spring.teiid.model.package=com.test
#spring.teiid.file.parent-directory=src/main/resources

#teiid.jdbc-enable=true
#teiid.jdbc-port=15432
#teiid.pg-enable=true
#teiid.pg-port=15432

logging.level.org.teiid.spring=DEBUG

My DataSourceConfiguration File:

import com.zaxxer.hikari.HikariDataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration(proxyBeanMethods = false)
public class DataSources {

    @ConfigurationProperties(prefix = "spring.datasource.db")
    @Bean
    public HikariDataSource db() {
        return DataSourceBuilder.create().type(HikariDataSource.class).build();
    }

    //.. REST OF THE SOURCES DOWN BELOW

}

My POM.xml

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.5.1</version>
	<relativePath/> <!-- lookup parent from repository -->
</parent>

<!--	DATA JPA	-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<!--	POSTGRES	-->
<dependency>
	<groupId>org.postgresql</groupId>
	<artifactId>postgresql</artifactId>
	<scope>runtime</scope>
</dependency>

<!--	TEIID	-->
<dependency>
	<groupId>org.teiid</groupId>
	<artifactId>teiid-spring-boot-starter</artifactId>
	<version>1.7.1</version>
</dependency>

Here is the complete Log

2021-06-22 01:36:46.168  INFO 1205224 --- [           main] c.v.s.Application            : Starting Application using Java 15.0.3 on test with PID 1205224 (/.../target/classes started by test in /.../)
2021-06-22 01:36:46.172  INFO 1205224 --- [           main] c.v.s.Application            : The following profiles are active: dev
2021-06-22 01:36:47.124  INFO 1205224 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2021-06-22 01:36:47.183  INFO 1205224 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 51 ms. Found 1 JPA repository interfaces.
2021-06-22 01:36:47.253  INFO 1205224 --- [           main] o.t.s.a.TeiidBeanDefinitionPostProcessor : Found data sources: [db]
2021-06-22 01:36:47.372  INFO 1205224 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.teiid.spring.autoconfigure.TransactionManagerConfiguration' of type [org.teiid.spring.autoconfigure.TransactionManagerConfiguration$$EnhancerBySpringCGLIB$$e85c9080] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-06-22 01:36:47.381  INFO 1205224 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'platformTransactionManagerAdapter' of type [org.teiid.spring.autoconfigure.PlatformTransactionManagerAdapter] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2021-06-22 01:36:47.591  INFO 1205224 --- [           main] o.t.s.a.TeiidAutoConfiguration           : Starting Teiid Server.
2021-06-22 01:36:48.240  INFO 1205224 --- [           main] org.teiid.RUNTIME.VDBLifeCycleListener   : TEIID40118 VDB spring.1.0.0 added to the repository
2021-06-22 01:36:48.243  INFO 1205224 --- [           main] org.teiid.RUNTIME.VDBLifeCycleListener   : TEIID40003 VDB spring.1.0.0 is set to ACTIVE
2021-06-22 01:36:48.259  WARN 1205224 --- [           main] onfigReactiveWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseInitializer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'db' defined in class path resource [com/test/sourcereader/application/DataSources.class]: Initialization of bean failed; nested exception is java.lang.NullPointerException: Cannot invoke "org.teiid.spring.common.ExternalSource.getTranslatorName()" because "es" is null
2021-06-22 01:36:48.284  INFO 1205224 --- [           main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-06-22 01:36:48.307 ERROR 1205224 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseInitializer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'db' defined in class path resource [com/test/application/DataSources.class]: Initialization of bean failed; nested exception is java.lang.NullPointerException: Cannot invoke "org.teiid.spring.common.ExternalSource.getTranslatorName()" because "es" is null
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.8.jar:5.3.8]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.8.jar:5.3.8]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.8.jar:5.3.8]
	at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:64) ~[spring-boot-2.5.1.jar:2.5.1]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-2.5.1.jar:2.5.1]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-2.5.1.jar:2.5.1]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) ~[spring-boot-2.5.1.jar:2.5.1]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-2.5.1.jar:2.5.1]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332) ~[spring-boot-2.5.1.jar:2.5.1]
	at com.test.Application.main(Application.java:12) ~[classes/:na]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'db' defined in class path resource [com/test/application/DataSources.class]: Initialization of bean failed; nested exception is java.lang.NullPointerException: Cannot invoke "org.teiid.spring.common.ExternalSource.getTranslatorName()" because "es" is null
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:610) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.8.jar:5.3.8]
	... 21 common frames omitted
Caused by: java.lang.NullPointerException: Cannot invoke "org.teiid.spring.common.ExternalSource.getTranslatorName()" because "es" is null
	at org.teiid.spring.autoconfigure.TeiidServer.buildModelFromDataSource(TeiidServer.java:409) ~[teiid-spring-boot-starter-1.7.1.jar:1.7.1]
	at org.teiid.spring.autoconfigure.TeiidServer.addDataSource(TeiidServer.java:155) ~[teiid-spring-boot-starter-1.7.1.jar:1.7.1]
	at org.teiid.spring.autoconfigure.TeiidPostProcessor.postProcessAfterInitialization(TeiidPostProcessor.java:114) ~[teiid-spring-boot-starter-1.7.1.jar:1.7.1]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:437) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1790) ~[spring-beans-5.3.8.jar:5.3.8]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602) ~[spring-beans-5.3.8.jar:5.3.8]
	... 33 common frames omitted

Disconnected from the target VM, address: '127.0.0.1:53737', transport: 'socket'

Process finished with exit code 1

Any help is very much appreciated thanks

Information about support for Hibernate-Spatial

Hi,

in our project we tried to use Teiid-Spring-Boot to connect to a PostGIS database. We want to use the so called VDB-less Development. Therefore the hibernate spatial mapping for geometry-Types is needed. We tried different (datasource) configurations, but we couldn't get a running example.

Is the hibernate-spatial type mapping supported in Teiid-Spring-Boot and if so, can you provide us an example?

Hint: In our entities we use org.locationtech.jts.geom.Geometry (and subtypes) for the mapped fields.

OData paging does not work as expected

The org.teiid:spring-odata dependency does not handle OData paging correctly. An OData client calls the Teiid OData endpoint and receives the first page of data. The @odata.nextLink provided to retreive the next page does not work as expected. Rather than returning the next page, it hangs for 5 minutes and only then retrieves the next page.

This is due to the org.teiid.spring.odata.SpringClient::close method not calling the super::close method, thus the executed query is not marked as completed and subsequent calls to retrieve more pages have to wait for the hard-coded 5 minute timeout.

teiid ddl file location

Hi, current teiid boot expects ddl file to be available only from sr/main/resources. teiid.vdb-file property does not allow to read from external ddl file location. is there any way to solve this.

Error to build the project

I have JDK 11 and MAVEN 3.8.1.
When I run the command mvn clean install it doesn't resolve the artifact com.syncron.amazonaws:simba-athena-jdbc-driver:jar:2.0.2.
Why might this be happening?

[INFO] Reactor Summary for teiid-spring-boot-starter-parent 1.8.0-SNAPSHOT:
[INFO]
[INFO] teiid-spring-boot-starter-parent ................... SUCCESS [03:56 min]
[INFO] Teiid Spring Boot Common ........................... SUCCESS [ 54.094 s]
[INFO] Teiid Spring Boot Data Package ..................... SUCCESS [ 10.628 s]
[INFO] spring-data-file ................................... SUCCESS [ 25.922 s]
[INFO] spring-data-excel .................................. SUCCESS [ 30.492 s]
[INFO] teiid-spring-boot-starter .......................... SUCCESS [01:25 min]
[INFO] teiid-spring-boot-starter-test ..................... SUCCESS [ 29.110 s]
[INFO] spring-data-cassandra .............................. SUCCESS [ 33.348 s]
[INFO] spring-data-s3 ..................................... SUCCESS [ 26.967 s]
[INFO] spring-data-hdfs ................................... SUCCESS [ 36.703 s]
[INFO] spring-data-actian ................................. SUCCESS [ 22.298 s]
[INFO] spring-data-amazon-athena .......................... SUCCESS [ 22.437 s]
[INFO] spring-data-db2 .................................... SUCCESS [ 23.252 s]
[INFO] spring-data-derby .................................. SUCCESS [ 23.196 s]
[INFO] spring-data-exasol ................................. SUCCESS [ 19.838 s]
[INFO] spring-data-h2 ..................................... SUCCESS [ 24.279 s]
[INFO] spring-data-hana ................................... SUCCESS [ 21.708 s]
[INFO] spring-data-hive ................................... SUCCESS [01:34 min]
[INFO] spring-data-hsql ................................... SUCCESS [ 20.860 s]
[INFO] spring-data-impala ................................. SUCCESS [ 21.231 s]
[INFO] spring-data-informix ............................... SUCCESS [ 21.449 s]
[INFO] spring-data-ingres ................................. SUCCESS [ 21.155 s]
[INFO] spring-data-jdbc-ansi .............................. SUCCESS [ 21.160 s]
[INFO] spring-data-jdbc-simple ............................ SUCCESS [ 20.798 s]
[INFO] spring-data-jtds-sqlserver ......................... SUCCESS [ 21.695 s]
[INFO] spring-data-mssql-server ........................... SUCCESS [ 26.324 s]
[INFO] spring-data-mysql .................................. SUCCESS [ 21.811 s]
[INFO] spring-data-netezza ................................ SUCCESS [ 20.708 s]
[INFO] spring-data-oracle ................................. SUCCESS [ 20.432 s]
[INFO] spring-data-osisoft-pi ............................. SUCCESS [ 21.703 s]
[INFO] spring-data-phoenix ................................ SUCCESS [ 34.905 s]
[INFO] spring-data-postgresql ............................. SUCCESS [ 22.742 s]
[INFO] spring-data-prestodb ............................... SUCCESS [ 24.569 s]
[INFO] spring-data-redshift ............................... SUCCESS [ 21.002 s]
[INFO] spring-data-sap-iq ................................. SUCCESS [ 20.928 s]
[INFO] spring-data-sybase ................................. SUCCESS [ 20.756 s]
[INFO] spring-data-teiid .................................. SUCCESS [ 21.616 s]
[INFO] spring-data-teradata ............................... SUCCESS [ 21.281 s]
[INFO] spring-data-ucanaccess ............................. SUCCESS [ 22.248 s]
[INFO] spring-data-vertica ................................ SUCCESS [ 20.737 s]
[INFO] spring-data-rest ................................... SUCCESS [ 31.740 s]
[INFO] spring-data-mongodb ................................ SUCCESS [ 26.457 s]
[INFO] spring-data-salesforce ............................. SUCCESS [ 26.762 s]
[INFO] spring-data-google-spreadsheet ..................... SUCCESS [ 28.509 s]
[INFO] spring-data-infinispan-hotrod ...................... SUCCESS [ 38.892 s]
[INFO] spring-data-openapi ................................ SUCCESS [ 30.386 s]
[INFO] spring-data-swagger ................................ SUCCESS [ 22.337 s]
[INFO] spring-data-soap ................................... SUCCESS [ 44.062 s]
[INFO] spring-data-ftp .................................... SUCCESS [ 23.733 s]
[INFO] spring-data-odata .................................. SUCCESS [ 25.952 s]
[INFO] spring-data-odata4 ................................. SUCCESS [ 24.265 s]
[INFO] spring-data-sap-gateway ............................ SUCCESS [ 21.225 s]
[INFO] spring-data-util ................................... SUCCESS [ 34.436 s]
[INFO] Teiid Spring Boot Tools ............................ SUCCESS [  2.132 s]
[INFO] Teiid Tools Common ................................. SUCCESS [ 22.716 s]
[INFO] vdb-codegen-plugin Maven Plugin .................... SUCCESS [ 37.778 s]
[INFO] VDB Code Generator Test ............................ SUCCESS [ 36.284 s]
[INFO] VDB Code Generator from YAML file to build ......... SUCCESS [ 20.410 s]
[INFO] spring-keycloak .................................... SUCCESS [ 35.139 s]
[INFO] spring-odata ....................................... SUCCESS [ 28.769 s]
[INFO] Virtualization Base Builder ........................ SUCCESS [ 48.484 s]
[INFO] Teiid Spring Boot Samples .......................... SUCCESS [  5.033 s]
[INFO] spring-s3-example .................................. SUCCESS [ 22.534 s]
[INFO] spring-rdbms-example ............................... SUCCESS [ 28.377 s]
[INFO] spring-udf-example ................................. SUCCESS [ 23.862 s]
[INFO] spring-rdbms-file-example .......................... SUCCESS [ 24.662 s]
[INFO] spring-json-example ................................ SUCCESS [ 24.233 s]
[INFO] spring-rest-example ................................ SUCCESS [ 21.570 s]
[INFO] spring-excel-example ............................... SUCCESS [ 23.871 s]
[INFO] spring-odata-example ............................... SUCCESS [ 25.291 s]
[INFO] spring-redirection-example ......................... SUCCESS [ 21.621 s]
[INFO] spring-vdb-example ................................. SUCCESS [ 24.309 s]
[INFO] spring-mongodb-example ............................. SUCCESS [ 19.876 s]
[INFO] spring-salesforce-example .......................... SUCCESS [ 23.235 s]
[INFO] spring-google-sheets-example ....................... SUCCESS [ 22.269 s]
[INFO] spring-infinispan-example .......................... SUCCESS [ 20.906 s]
[INFO] spring-athena-example .............................. FAILURE [  0.430 s]
[INFO] spring-example ..................................... SKIPPED
[INFO] spring-openapi-consume-example ..................... SKIPPED
[INFO] spring-soap-example ................................ SKIPPED
[INFO] spring-ftp-example ................................. SKIPPED
[INFO] spring-cassandra-example ........................... SKIPPED
[INFO] spring-hdfs-example ................................ SKIPPED
[INFO] spring-vdb-split-example ........................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  37:45 min
[INFO] Finished at: 2022-05-27T10:25:25Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project spring-athena-example: Could not resolve dependencies for project org.teiid:spring-athena-example:jar:1.8.0-SNAPSHOT: Could not find artifact com.syncron.amazonaws:simba-athena-jdbc-driver:jar:2.0.2 in central (https://repo.maven.apache.org/maven2/) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :spring-athena-example```

Not able to run Teiidboot from Command Line

I am trying to use simple Teiid Boot from both STS Studio and Command-Line.

In STS studio, this works fine. While running from the command line, it throws an error saying

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.teiid.spring.odata.WebConfig': Unsatisfied dependency expressed through field 'vdb'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'teiidVDB' defined in class path resource [org/teiid/spring/autoconfigure/TeiidAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.teiid.adminapi.impl.VDBMetaData]: Factory method 'teiidVDB' threw exception; nested exception is java.lang.IllegalStateException: Failed to parse the VDB defined

From command line, I am running, java -jar demowithcustomconnectors-1.0-SNAPSHOT.jar from command line.

I am not using any third-party jar.

Teiidboot-error

Project does not build

The README instruction should probably add some mention of the SNAPSHOT repo to use to get Teiid.

A clean build with 02fe9d3 gives me

[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Non-resolvable import POM: Could not find artifact org.jboss.teiid:teiid-parent:pom:9.3.0.Beta3-SNAPSHOT @ line 54, column 18
 @
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project org.teiid:teiid-spring-boot-starter-parent:1.0.0-SNAPSHOT (/Users/snicoll/workspace/oss/teiid-spring-boot/pom.xml) has 1 error
[ERROR]     Non-resolvable import POM: Could not find artifact org.jboss.teiid:teiid-parent:pom:9.3.0.Beta3-SNAPSHOT @ line 54, column 18 -> [Help 2]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

Once I've added the SNAPSHOT repo I get:

[ERROR] Failed to execute goal on project teiid-spring-boot-starter: Could not resolve dependencies for project org.teiid:teiid-spring-boot-starter:jar:1.0.0-SNAPSHOT: The following artifacts could not be resolved: nux:nux:jar:1.6, xerces:xercesImpl:jar:2.11.0.SP4, xalan:xalan:jar:2.7.1.jbossorg-2: Could not find artifact nux:nux:jar:1.6 in redhat-snapshot (https://repository.jboss.org/nexus/content/repositories/snapshots) -> [Help 1]

Group specified is ambiguous

We are using follwing DDL in teiid boot.
DDL BEGIN***************************************

USE DATABASE OWVDB;

CREATE FOREIGN DATA WRAPPER "ow-translator-override" TYPE "openworks106";

CREATE SERVER owboot  FOREIGN DATA WRAPPER "ow-translator-override";

CREATE SCHEMA OpenWorks_SM SERVER owboot OPTIONS ("importer.useFullSchemaName" 'true',
	"importer.schemaPattern" '%',
	"cache-metadata" 'false',
	"importer.importKeys" 'true',
	"visible" 'false',
	"importer.widenUnsignedTypes" 'false',
	"importer.tableTypes" 'TABLE,VIEW');

CREATE VIRTUAL SCHEMA OpenWorksCommonModel OPTIONS ("modelClass" 'Relational');

SET SCHEMA OpenWorks_SM;

IMPORT FROM SERVER owboot INTO OpenWorks_SM;

SET SCHEMA OpenWorksCommonModel;

/*	
**********************************
*     "FaultListMember"
**********************************
*/
CREATE VIEW FaultListMember
(
  native_uid                    VARCHAR(1024) 	OPTIONS("OpenWorksCommonModel:FaultListMember.native_uid.isUpdatable" false,
                                                      "OpenWorksCommonModel:Fault.native_uid.isCreatable" false,UPDATABLE 'FALSE'),
  list_id						VARCHAR(12)  NOT NULL,							  
  fault_plane_id                VARCHAR(12)  NOT NULL,
  list_order					INTEGER,  
  create_date                   TIMESTAMP  	 	OPTIONS("OpenWorksCommonModel:FaultListMember.create_date.isUpdatable" false,
                                                    "OpenWorksCommonModel:FaultListMember.create_date.isCreatable" false,
                                                     UPDATABLE 'FALSE'),
  create_user_id                VARCHAR(32) 	OPTIONS("OpenWorksCommonModel:FaultListMember.create_user_id.isUpdatable" false,
                                                    "OpenWorksCommonModel:FaultListMember.create_user_id.isCreatable" false,
                                                     UPDATABLE 'FALSE'),
  update_date                   TIMESTAMP   	OPTIONS("OpenWorksCommonModel:FaultListMember.update_date.isUpdatable" false,
                                                    "OpenWorksCommonModel:FaultListMember.update_date.isCreatable" false,
                                                     UPDATABLE 'FALSE'),
  update_user_id                VARCHAR(32) 	OPTIONS("OpenWorksCommonModel:FaultListMember.update_user_id.isUpdatable" false,
                                                    "OpenWorksCommonModel:FaultListMember.update_user_id.isCreatable" false,
                                                     UPDATABLE 'FALSE'),
													 
  alternate_uid    		            VARCHAR(4000)   OPTIONS ("OpenWorksCommonModel:FaultListMember.alternate_uid.isCreatable" false, 
                                                          "OpenWorksCommonModel:FaultListMember.alternate_uid.isUpdatable" false,
                                                          UPDATABLE 'FALSE'),


    CONSTRAINT FaultListMember_PK PRIMARY KEY (native_uid),

    CONSTRAINT FaultListMember_UK1 UNIQUE (list_id,fault_plane_id),

    CONSTRAINT FK_FaultListMember_FaultList
        FOREIGN KEY (list_id)
        REFERENCES FaultList(native_uid),
	
	CONSTRAINT FK_FaultListMember_FaultPlane
        FOREIGN KEY (fault_plane_id)
        REFERENCES FaultPlane(native_uid)

) OPTIONS(UPDATABLE 'TRUE',FaultListMember.IMPLEMENTED 'TRUE')
AS
SELECT 
 native_uid,
 list_id,
 fault_plane_id,
 OpenWorks_SM.FaultListMember.order as list_order, 
 create_date,
 create_user_id,
 update_date,
 update_user_id,
 native_uid as alternate_uid
	FROM

        OpenWorks_SM.FaultListMember;

CREATE TRIGGER ON FaultListMember INSTEAD OF INSERT AS
FOR EACH ROW
BEGIN ATOMIC    
    INSERT INTO "OpenWorks_SM".FaultListMember (list_id, fault_plane_id,OpenWorks_SM.FaultListMember.order) VALUES ("NEW".list_id, "NEW".fault_plane_id,"NEW".list_order);
END;

DDL END***************************************
During Execution, we get the following error.

Group specified is ambiguous, resubmit the query by fully qualifying the group name: FaultListMember

This happens only when we have same name in Triiger ON and the view name inside that.

Does it work with Springboot 2.7?

Hello,

I tried to start a project with Springboot 2.7 using Oracle database as datasource, but it does not work, because one DataSourceSchemaCreatedEvent was deprecated in 2.5.0 and removed in 2.7

Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/autoconfigure/jdbc/DataSourceSchemaCreatedEvent at org.teiid.spring.autoconfigure.TeiidPostProcessor.postProcessAfterInitialization(TeiidPostProcessor.java:113) ~[teiid-spring-boot-starter-1.7.2.jar:1.7.2] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:455) ~[spring-beans-5.3.30.jar:5.3.30] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1808) ~[spring-beans-5.3.30.jar:5.3.30] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.30.jar:5.3.30] ... 33 common frames omitted Caused by: java.lang.ClassNotFoundException: org.springframework.boot.autoconfigure.jdbc.DataSourceSchemaCreatedEvent at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ~[na:na] ... 37 common frames omitted

I tried also with 2.4.13, the app starts, but every request gives me this error:

Caused by: java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a set of origins, list them explicitly or consider using "allowedOriginPatterns" instead. at org.springframework.web.cors.CorsConfiguration.validateAllowCredentials(CorsConfiguration.java:473) ~[spring-web-5.3.13.jar:5.3.13] at org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:532) ~[spring-webmvc-5.3.13.jar:5.3.13] at org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1261) ~[spring-webmvc-5.3.13.jar:5.3.13] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043) ~[spring-webmvc-5.3.13.jar:5.3.13] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.13.jar:5.3.13] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.13.jar:5.3.13]

I tried to create a CorsFilter, but this last error does not go away.

I tried to use 2.3.4.RELEASE with gradle, but I got a compile problem ('void org.gradle.api.internal.artifacts.dsl.LazyPublishArtifact.(org.gradle.api.provider.Provider)'), but it works with Maven (a colleague tried).

Is there any plans to keep teiid working with new versions of springboot or is it over? Can you point me to alternatives to teiid? I want to expose apis for our data without having to program each endpoint and each format.

Thanks in advance.

Teiid Autoconfiguration

Hello,
i'm developing a spring boot demo application using a vdb.ddl file with sqlserver database.
I followed the example https://github.com/teiid/teiid-spring-boot/tree/master/samples/vdb and i created a vdb.ddl file.
The mapping works fine and my VDB is correctly initialized (the logs shows it), however i found a slow startup, even if my vdb.ddl file was importing from my sqlserver schema just one table.
I noticed that org.teiid.CONNECTOR does the import of the full schema, regardless of what the vbd.ddl file created.

So many circular reference errors for OData setup

org.teiid teiid-spring-boot-starter 1.7.2 https://mvnrepository.com/artifact/org.teiid/spring-odata org.teiid spring-odata 1.7.2

spring.datasource.equity.url=jdbc:postgresql://localhost:5432/db
spring.datasource.equity.username=user
spring.datasource.equity.password=pwd
spring.datasource.equity.driver-class-name=org.postgresql.Driver
spring.datasource.equity.platform=equity

spring.teiid.model.package=com.ap.greenpole2.odata.equity.entities

@ConfigurationProperties(prefix = "spring.datasource.equity")
@bean
public DataSource equity() {
return DataSourceBuilder.create().build();
}

The dependencies of some of the beans in the application context form a cycle:

dataSourceScriptDatabaseInitializer defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]

equity defined in class path resource [com/ap/greenpole2/odata/equity/config/ODataConfig.class]
┌─────┐
| teiid defined in class path resource [org/teiid/spring/autoconfigure/TeiidAutoConfiguration.class]
↑ ↓
| teiidInitializer
└─────┘

Another one

webConfig
┌─────┐
| teiid defined in class path resource [org/teiid/spring/autoconfigure/TeiidAutoConfiguration.class]
↑ ↓
| teiidInitializer
└─────┘

Another one

org.teiid.spring.odata.WebConfig (field org.teiid.spring.autoconfigure.TeiidServer org.teiid.spring.odata.WebConfig.server)
┌─────┐
| teiid defined in class path resource [org/teiid/spring/autoconfigure/TeiidAutoConfiguration.class]
↑ ↓
| teiidInitializer
└─────┘

The above errors are few of so many.
I cloned the spring-odata module and used the SpringClient, SpringODataFilter, WebConfig,SimpleErrorController, StaticContentController,ODataController classes directly all to no avail.

Was this project properly tested before releasing both the binaries and user guides?
Nothing appears to work, as so many DataSource, TeiidServer and AutoConfiguration circular reference errors abound on startup.

How does this work?
Clearly the user guide needs reworking to explain the circular reference errors.

Combine data from many REST Services

Hi,
in the documentation it's written that you can combine data from Oracle database with data from Microsoft SQL Server, REST Service, Flat File etc.
It's possible to combine multiple REST Services? I want to read JSON from different REST Services and create a VDB as a result of these JSON.

Thanks.

Maven Central?

The JBoss issue tracking shows that the issue concerning publishing to Maven Central is resolved and examples are given in this repository to use maven, but I cannot find this on any maven repo - is this still pre-release?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.