Spring batch --- DatabaseType not found for product name: [Informix Dynamic Server] -


i want implement spring batch spring boot , since using informix database i'm running following exception when spring boot app starts up.

configuration :

@bean public datasource datasource() throws sqlexception {    basicdatasource datasource = new basicdatasource();    datasource.setdriverclassname(datasourceproperties.getdriverclassname());     datasource.seturl(datasourceproperties.getdburl());     datasource.setusername(datasourceproperties.getdbusername());     datasource.setpassword(datasourceproperties.getdbpassword())     return datasource; }   @bean public datasourcetransactionmanager datasourcetransactionmanager(datasource datasource){      datasourcetransactionmanager manager=new datasourcetransactionmanager(datasource);     return manager; }  @bean public jobrepositoryfactorybean jobrepositoryfactorybean( datasourcetransactionmanager txmanager,datasource datasource ) throws exception{      jobrepositoryfactorybean job=new jobrepositoryfactorybean();     job.setdatasource(datasource);     job.setdatabasetype("oracle");     job.settransactionmanager(txmanager);     job.afterpropertiesset();     return job; }   @bean public itemreader<person> reader() {     flatfileitemreader<person> reader = new flatfileitemreader<person>();     reader.setresource(new classpathresource("sample-data.csv"));     reader.setlinemapper(new defaultlinemapper<person>() {{         setlinetokenizer(new delimitedlinetokenizer() {{             setnames(new string[] { "firstname", "lastname" });         }});         setfieldsetmapper(new beanwrapperfieldsetmapper<person>() {{             settargettype(person.class);         }});     }});     return reader; }  @bean public itemprocessor<person, person> processor() {     return new personitemprocessor(); }  @bean public itemwriter<person> writer(datasource datasource) {     jdbcbatchitemwriter<person> writer = new jdbcbatchitemwriter<person>();     writer.setitemsqlparametersourceprovider(new beanpropertyitemsqlparametersourceprovider<person>());     writer.setsql("insert people (first_name, last_name) values (:firstname, :lastname)");     writer.setdatasource(datasource);     writer.afterpropertiesset();     return writer; }  @bean public job importuserjob(jobbuilderfactory jobs, step s1, jobexecutionlistener listener,jobrepositoryfactorybean jobrepositoryfactorybean) throws exception {       return jobs.get("importuserjob")              .repository(jobrepositoryfactorybean.getobject())             .incrementer(new runidincrementer())             .listener(listener)             .flow(s1)             .end()             .build(); }  @bean public step step1(stepbuilderfactory stepbuilderfactory, itemreader<person> reader,         itemwriter<person> writer, itemprocessor<person, person> processor) {     return stepbuilderfactory.get("step1")             .<person, person> chunk(10)             .reader(reader)             .processor(processor)             .writer(writer)             .build(); } 

exception

caused by: java.lang.illegalargumentexception: databasetype not found product name: [informix dynamic server] @ org.springframework.batch.support.databasetype.fromproductname(databasetype.java:79) @ org.springframework.batch.support.databasetype.frommetadata(databasetype.java:110) @ org.springframework.boot.autoconfigure.batch.batchdatabaseinitializer.getdatabasetype(batchdatabaseinitializer.java:71) @ org.springframework.boot.autoconfigure.batch.batchdatabaseinitializer.initialize(batchdatabaseinitializer.java:50) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) @ java.lang.reflect.method.invoke(method.java:497) @ org.springframework.beans.factory.annotation.initdestroyannotationbeanpostprocessor$lifecycleelement.invoke(initdestroyannotationbeanpostprocessor.java:349) @ org.springframework.beans.factory.annotation.initdestroyannotationbeanpostprocessor$lifecyclemetadata.invokeinitmethods(initdestroyannotationbeanpostprocessor.java:300) @ org.springframework.beans.factory.annotation.initdestroyannotationbeanpostprocessor.postprocessbeforeinitialization(initdestroyannotationbeanpostprocessor.java:133)

spring batch doesn't seem directly support informix.

from org.springframework.batch.support.databasetype :

derby("apache derby"),  db2("db2"),  db2zos("db2zos"),  hsql("hsql database engine"), sqlserver("microsoft sql server"), mysql("mysql"), oracle("oracle"), postgres("postgresql"), sybase("sybase"), h2("h2"); 

but, said here : http://forum.spring.io/forum/spring-projects/batch/61097-why-spring-batch-doesn-t-support-informix-database, seems can set database type oracle , support informix.


Comments

Popular posts from this blog

how to insert data php javascript mysql with multiple array session 2 -

multithreading - Exception in Application constructor -

windows - CertCreateCertificateContext returns CRYPT_E_ASN1_BADTAG / 8009310b -