我们正在努力解决这个问题!我们尝试在不使用默认租户的情况下为我们的Spring Boot服务使用MTA。这意味着当当前上下文中没有租户时,我们希望从我们的CurrentTenantIdentifierResolver实现中返回null。这在我们使用JavaEE + Hibernate + Deltaspike Data构建的其他服务中运行良好,但在启动Spring服务期间失败。
异常消息如下:“Caused by: org.hibernate.HibernateException: SessionFactory configured for multi-tenancy, but no tenant identifier specified”
问题似乎是仓库工厂在启动时尝试创建我们的crud存储库的实例/bean时没有租户(也不会有):
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.(JpaRepositoryFactory.java:59) ~[spring-data-jpa-1.11.3.RELEASE.jar:na]
因此,我们的问题是,如果有人有解决方案,我们将避免使用默认租户。对我们来说,使用默认租户似乎容易出错,并且会隐藏非法应用程序状态。
我们使用的spring boot父版本为1.5.3.RELEASE。
如果重要:我们的服务是简单的JSON RPC服务,租户将存在于传入的http请求中,并由mvc拦截器将其设置在线程本地。在JavaEE世界中,我们使用webfilters进行此操作。
非常感谢您的帮助!
异常消息如下:“Caused by: org.hibernate.HibernateException: SessionFactory configured for multi-tenancy, but no tenant identifier specified”
问题似乎是仓库工厂在启动时尝试创建我们的crud存储库的实例/bean时没有租户(也不会有):
at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.(JpaRepositoryFactory.java:59) ~[spring-data-jpa-1.11.3.RELEASE.jar:na]
因此,我们的问题是,如果有人有解决方案,我们将避免使用默认租户。对我们来说,使用默认租户似乎容易出错,并且会隐藏非法应用程序状态。
我们使用的spring boot父版本为1.5.3.RELEASE。
如果重要:我们的服务是简单的JSON RPC服务,租户将存在于传入的http请求中,并由mvc拦截器将其设置在线程本地。在JavaEE世界中,我们使用webfilters进行此操作。
非常感谢您的帮助!