dromara / hmily

Distributed transaction solutions
https://dromara.org
Apache License 2.0
4.11k stars 1.4k forks source link

hmily-demo-dubbo模块 启动DubboHmilyAccountApplication时报错,failed in loading datasource metadata into hmily 发现分支 master 版本2.1.2-SNAPSHOT #273

Open chengfpvoid opened 3 years ago

chengfpvoid commented 3 years ago

Describe the bug

如题 运行hmily-demo-dubbo模块时报错

Environment

-master分支

Debug logs

Caused by: java.lang.IllegalStateException: failed in loading datasource metadata into hmily at org.dromara.hmily.tac.metadata.HmilyMetaDataManager.register(HmilyMetaDataManager.java:50) ~[classes/:na] at org.dromara.hmily.tac.p6spy.HmilyP6Datasource.init(HmilyP6Datasource.java:66) ~[classes/:na] at org.dromara.hmily.tac.p6spy.HmilyP6Datasource.(HmilyP6Datasource.java:56) ~[classes/:na] at org.dromara.hmily.demo.dubbo.account.config.HmilyTacDatasourceConfig.dataSource(HmilyTacDatasourceConfig.java:65) ~[classes/:na] at org.dromara.hmily.demo.dubbo.account.config.HmilyTacDatasourceConfig$$EnhancerBySpringCGLIB$$363f00d5.CGLIB$dataSource$0() ~[classes/:na] at org.dromara.hmily.demo.dubbo.account.config.HmilyTacDatasourceConfig$$EnhancerBySpringCGLIB$$363f00d5$$FastClassBySpringCGLIB$$3150c833.invoke() ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.dromara.hmily.demo.dubbo.account.config.HmilyTacDatasourceConfig$$EnhancerBySpringCGLIB$$363f00d5.dataSource() ~[classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_111] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_111] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_111] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_111] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE] ... 56 common frames omitted debug之后发现是org.dromara.hmily.tac.metadata.loader.ColumnMetaDataLoader#generateEmptyResultSQL生成的语句报错 return String.format("SELECT FROM %s WHERE 1 != 1", quoteCharacter.wrap(table)); 示例的Sql 表名带``的 ,执行这个方法之后变成SELECT FROM account WHERE 1 != 1 执行Sql语句出错

cherrylzhao commented 3 years ago

你可以尝试修复下,TAC模式还在开发中

NealDebuging commented 3 years ago

There is a typo in the hmily-tac/hmily-tac-common/src/main/resources/META-INF/hmily/

Wrong: org.dromara.hmily.tac.common.database.dialect.DatabaseMetadataDialectHandler Right: org.dromara.hmily.tac.common.database.dialect.DatabaseMetaDataDialectHandler