【发布时间】:2019-03-18 05:05:18
【问题描述】:
Hybris 18.08
我正在尝试使用 MySQL 5.7.25 作为数据库的 Hybris B2C 安装,但到目前为止没有运气。 获取 db 相关错误。它适用于默认 HSQL。
local.properties
db.url=jdbc:mysql://localhost/dbnew?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
db.driver=com.mysql.cj.jdbc.Driver
db.username=hybris
db.password=hybris
mysql.allow.fractional.seconds=true
# other *mandatory* settings
db.customsessionsql=SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
mysql.optional.tabledefs=CHARSET=utf8 COLLATE=utf8_bin
mysql.tabletype=InnoDB
用户“Hybris”拥有完全权限。
试过了,
1) 安装收据 - /installer/ ./install.sh -r b2c_acc_plus
2)ant modulegen -Dinput.module=accelerator -Dinput.name=training4 -Dinput.package=com.hybris.training4 -Dinput.template=develop
3) 删除了不必要的扩展并添加了以下扩展,
- training4fulfillment 过程
- training4cockpits
- training4core
- training4facades
- training4test
- training4initialdata
- training4storefront
4) 'ant clean all' 成功了
5) 但是 'ant intialize' 失败并出现错误,
... [java] 错误 [ImpExWorker] [Registry] 第 16 行在 main 脚本:无法激活租户 ,因为它的数据库 连接当前丢失
... [java] 错误 [ImpExWorker] [ConnectionImpl] 错误重置 隔离级别 [java] de.hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException: 恢复进行中。请稍后再试。 [java] 在 de.hybris.platform.jdbcwrapper.interceptor.recover.SQLRecoverableExceptionHandler.get(SQLRecoverableExceptionHandler.java:67) ~[coreserver.jar:?] [java] 在 de.hybris.platform.jdbcwrapper.interceptor.JDBCInterceptor.get(JDBCInterceptor.java:69) ~[coreserver.jar:?] [java] 在 de.hybris.platform.jdbcwrapper.interceptor.ConnectionWithJDBCInterceptor.getTransactionIsolation(ConnectionWithJDBCInterceptor.java:147) ~[coreserver.jar:?]
... [java] WARN [main] (00000006-ImpEx-Import) [SQLErrorCodesFactory] 提取数据库名称时出错 - 下降 返回空错误代码 [java] org.springframework.jdbc.support.MetaDataAccessException:无法获取用于提取元数据的连接;嵌套异常是 org.springframework.jdbc.CannotGetJdbcConnectionException: 不能 获取 JDBC 连接;嵌套异常是 de.hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException: 恢复进行中。请稍后再试。 [java] 在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:338) ~[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java] 在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:365) ~[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java] 在 org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:212) [spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java] 在 org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:134) [spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE]
... [java] 在 de.hybris.bootstrap.loader.Loader.main(Loader.java:118) [ybootstrap.jar:?] [java] 引起:org.springframework.jdbc.CannotGetJdbcConnectionException: 不能 获取 JDBC 连接;嵌套异常是 de.hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException: 恢复进行中。请稍后再试。 [java] 在 org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80) ~[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java] 在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:325) ~[spring-jdbc-4.3.17.RELEASE.jar:4.3.17.RELEASE] [java] ... 67 更多 [java] 引起:de.hybris.platform.jdbcwrapper.interceptor.recover.RecoveryInProgressException: 恢复进行中。请稍后再试。
... [java] 错误 [main] [FlexibleSearch] 发生灵活搜索错误... [java] 错误 [main] [CommerceServicesSystemSetup] 正在导入 [/commerceservices/import/constraints.impex] ... 失败 [java] de.hybris.platform.servicelayer.exceptions.ModelSavingException: [de.hybris.platform.servicelayer.interceptor.impl.UniqueAttributesInterceptor@4d54d507]: 意外的验证器错误:SQL 搜索错误 - 正在进行恢复。 请稍后再试。查询 = 'null',值 = [属性值:8796093088345、00000003、8796100591698、8796100165714、 8796100427858, 8796099870802, 8796100722770, 8796099608658, 8796100034642、8796100526162、8796099936338、8796099969106、 8796100198482, 8796100362322, 8796100329554, 8796099641426, 8796099739730, 8796100100178, 8796100132946, 8796100558930, 8796100395090, 8796099674194, 8796099706962, 8796099805266, 8796099838034, 8796093513810, PropertyValue:8796093088345, 00000003, 8796100296786] [java] 在 de.hybris.platform.servicelayer.internal.model.impl.wrapper.ModelWrapper.invokeValidateInterceptors(ModelWrapper.java:315) ~[coreserver.jar:?] [java] 在 de.hybris.platform.servicelayer.internal.model.impl.wrapper.ModelWrapper.validate(ModelWrapper.java:239) ~[coreserver.jar:?]
... [java] INFO [main] [TypeLocalization] 将使用 8 个线程 本地化类型系统。 [java] 错误 [main] [AbstractAntPerformable] 执行 ant 任务时出错 [java] java.lang.IllegalStateException: Given master data source DataSourceImpl 似乎无效(无法连接 = true ), (池关闭 = false) [java] 在 de.hybris.platform.core.system.impl.DefaultInitLockDao.assertDataSourceValid(DefaultInitLockDao.java:91) ~[coreserver.jar:?] [java] 在 de.hybris.platform.core.system.impl.DefaultInitLockDao.getInitializedMasterDataSource(DefaultInitLockDao.java:80) ~[coreserver.jar:?] [java] 在 de.hybris.platform.core.system.impl.DefaultInitLockDao.readLockInfo(DefaultInitLockDao.java:112) ~[coreserver.jar:?]
... [java] 线程“main”中的异常 java.lang.reflect.InvocationTargetException [java] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [java] 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [java] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [java] 在 java.lang.reflect.Method.invoke(Method.java:498) [java] 在 de.hybris.bootstrap.loader.Loader.execute(Loader.java:142) [java] 在 de.hybris.bootstrap.loader.Loader.main(Loader.java:118) [java] 原因:源文件:内联评估:
trytry
{ de.hybris.ant.taskdefs.AntPerformable p = new de.hybris.a . . . '' : Method Invocation p.doPerform : at Line: 4 : in file: inline evaluation of:
{ de.hybris.ant.taskdefs.AntPerformable p = 新 de.hybris.a 。 . . '' : p .doPerform ( ) [爪哇] [java] 目标异常:java.lang.IllegalStateException:给定主数据源 DataSourceImpl 似乎是 无效(无法连接 = true ),(池已关闭 = false) [爪哇] [java] 在 bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:97) [java] 在 bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102) [java] 在 bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47) [java] 在 bsh.BSHBlock.evalBlock(BSHBlock.java:130) [java] 在 bsh.BSHBlock.eval(BSHBlock.java:80) [java] 在 bsh.BSHBlock.eval(BSHBlock.java:46) [java] 在 bsh.BSHTryStatement.eval(BSHTryStatement.java:86) [java] 在 bsh.Interpreter.eval(Interpreter.java:645) [java] 在 bsh.Interpreter.eval(Interpreter.java:739) [java] 在 bsh.Interpreter.eval(Interpreter.java:728) [java] 在 de.hybris.platform.util.ClientExecuter.execute(ClientExecuter.java:49) [java] ... 6 更多 [java] 关闭 hybris 注册表..
【问题讨论】:
-
您是否已将 MySQL 连接器/驱动程序添加到
${HYBRIS_BIN_DIR}/platform/lib/dbdriver? -
@HybrisHelp 我在dbdriver下有这个jar mysql-connector-java-8.0.12.jar。
-
MySQL 连接器至少需要 5.1.x 版本,但是 8.x 版本不兼容。 Read more...
-
@HybrisHelp 据我了解, MySQL Server 8.x is incompatible ,但我的 MySQL Server 是 5.7 。在连接器下载页面中,强烈建议将 MySQL Connector/J 8.0 与 MySQL Server 8.0、5.7、5.6 和 5.5 一起使用。 ....'
-
对此我不确定,也从未体验过,只是想向您强调一下。