在尝试设置Spring Boot-Spring批处理项目时,我遇到了一个错误,说明:
我已经检查了spring batch支持的数据库,但Tibero不在列表中。
有没有其他方法可以让Tibero DB。。。
请参阅以下错误日志。
Caused by: java.lang.IllegalArgumentException: DatabaseType not found for product name: [Tibero]
at org.springframework.batch.support.DatabaseType.fromProductName(DatabaseType.java:84) ~[spring-batch-infrastructure-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.batch.support.DatabaseType.fromMetaData(DatabaseType.java:123) ~[spring-batch-infrastructure-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.batch.core.repository.support.JobRepositoryFactoryBean.afterPropertiesSet(JobRepositoryFactoryBean.java:183) ~[spring-batch-core-4.2.1.RELEASE.jar:4.2.1.RELEASE]
at org.springframework.boot.autoconfigure.batch.BasicBatchConfigurer.createJobRepository(BasicBatchConfigurer.java:129) ~[spring-boot-autoconfigure-2.2.6.RELEASE.jar:2.2.6.RELEASE]
at org.springframework.boot.autoconfigure.batch.BasicBatchConfigurer.initialize(BasicBatchConfigurer.java:97) ~[spring-boot-autoconfigure-2.2.6.RELEASE.jar:2.2.6.RELEASE]
... 24 common frames omitted
如果您选中DatabaseType,它将不支持您的数据库(Tibero)。
public enum DatabaseType {
DERBY("Apache Derby"),
DB2("DB2"),
DB2VSE("DB2VSE"),
DB2ZOS("DB2ZOS"),
DB2AS400("DB2AS400"),
HSQL("HSQL Database Engine"),
SQLSERVER("Microsoft SQL Server"),
MYSQL("MySQL"),
ORACLE("Oracle"),
POSTGRES("PostgreSQL"),
SYBASE("Sybase"),
H2("H2"),
SQLITE("SQLite");
}
这些是Spring批开箱即用支持的数据库。但您可以根据留档注册非标准数据库
由于Tibero与oracle完全兼容,您可以创建TiberoBatchConfigurer,如下所示:,
@EnableBatchProcessing
public class TiberoBatchConfigurer extends DefaultBatchConfigurer {
@Autowired
private DataSource dataSource;
@Autowired
private PlatformTransactionManager transactionManager;
public TiberoBatchConfigurer() {
super();
}
public TiberoBatchConfigurer(DataSource dataSource) {
super(dataSource);
}
@Override
protected JobRepository createJobRepository() throws Exception {
JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean();
factory.setDataSource(dataSource);
factory.setDatabaseType("ORACLE");
factory.setTransactionManager(transactionManager);
factory.afterPropertiesSet();
return factory.getObject();
}
}
原因:java.lang.IllegalArgumentException:未找到产品名称[Informix Dynamic Server]的DatabaseType.FromProductName(DatabaseType.java:79)的Org.SpringFramework.Botch.Support.DatabaseType.FromMetadata(DatabaseType.java:
在尝试设置Spring Boot-Spring批处理项目时,我遇到了一个错误,说明: 完整堆栈跟踪如下: 我的属性设置如下: 你知道为什么会这样吗?
运行应用程序时,我发现以下错误。 我的应用程序文件 mybatchConfig文件 线聚合器代码 模型文件代码 有人能告诉我如何摆脱这个错误吗,我做了很多尝试,但都无法传递错误,我是spring batch的新手,如果你能发布工作代码,那将非常有帮助,因为我在stackoverflow中看到了其他解决方案,但由于信息不完整,这些解决方案没有帮助。
这是我的工作树 我已经搜索了这个问题,但我还没有弄清楚问题是什么。救命啊!
我使用名为jnca的库来捕获从路由器发送的netflow udp数据包。 当它被导入到IntellijIDea中的一个新项目中时,它就可以工作了。 如果在maven项目中使用它,它就不起作用,并出现了这个异常。