【问题标题】:GrailsContextLoader Error with Transaction Manager事务管理器的 GrailsContextLoader 错误
【发布时间】:2017-10-24 23:36:51
【问题描述】:

我正在将 Grails 2.3.3 用于已成功构建的应用程序。

我现在正在将 Spring 安全性合并到应用程序中,并在插件中添加以下行:

compile ":spring-security-core:2.0-RC5"

因此,我收到与 transactionManagersessionfactory 相关的 GrailsContextLoader 错误 - 这是错误:

错误 | 2017-10-13 12:46:09,299 [localhost-startStop-1] 错误 context.GrailsContextLoader - 初始化应用程序时出错:创建名为“transactionManagerPostProcessor”的 bean 时出错:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“transactionManager”的 bean 时出错:设置 bean 属性“sessionFactory”时无法解析对 bean“sessionFactory”的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 org.hibernate.MappingException:关联引用未映射的类:homevu1.PicturesNWShr 消息:创建名为“transactionManagerPostProcessor”的 bean 时出错:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“transactionManager”的 bean 时出错:设置 bean 属性“sessionFactory”时无法解析对 bean“sessionFactory”的引用;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“sessionFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 org.hibernate.MappingException:关联引用未映射的类:homevu1.PicturesNWShr

PicturesNWShr 是我的域之一,如果删除了 spring-security 插件,编译它就没有问题。

我已经浏览了一些相关的帖子,尽管到目前为止我还没有找到一个有相同问题的帖子。但是一些人建议修改项目根文件夹中的依赖文件,以便从构建中强加或排除依赖项。

我欢迎一些建议?

这是PicturesNWShr的域定义:

package homevu1

import java.util.Date;

class PicturesNWShr {

    static constraints = {
        name()
        filename(blank: true, nullable: true)
        dateCreated()
        caption(blank: true, nullable: true)
        slotType(blank: true, nullable: true)
        groupName(blank: true, nullable: true)
    }

    static mapping = {
        datasource 'publish'
    }

    String name
    String filename
    String caption
    Date dateCreated
    VideoSlotTypeShr slotType
    String groupName // link pictures together for multifile upload 
    // ideal for linking al images of a house together for EAs.
    Date updateDate // The multiple file upload process - checks each instance update is complete 
    // before adding to vidSlot.
    static belongsTo = [userBT: UserShr]


    String toString() {
        "${name}"
    }
}

-麦克

【问题讨论】:

  • 向我们展示相关课程
  • @injecteer 已为 PicturesNWShr 添加了域文件。
  • 使用2.0.0最终版插件org.grails.plugins:spring-security-core:2.0.0
  • 我被其他应用程序构建问题搁置了几天 - 回到这个仍未解决的问题。我尝试了从 1.2..7.4 到 2.0.0 的各种版本的 spring-security-core。都在类 PicturesNWShr 上产生相同的未映射错误。我在 BuildConfig 中使用了一组相同版本的插件来成功构建一个包含 spring-security-core 的单独应用程序。关于我在最初问题中发布的域类,我有什么可以尝试的吗?欢迎所有想法和想法!

标签: grails spring-security


【解决方案1】:

进一步研究了有关此映射错误的 Stackoverflow 帖子存档 - 我已确定错误是什么。

这与我的域有两个单独的数据源有关,当我扩展作为 PicturesNWShr 的外键的 UserShr 时,它无法将其映射为 SecUser、SecRole 和 SecUserSecRole 位于不同的数据源中。

也就是说,我目前不确定如何解决这个问题,因为现在我需要“撤消”s2-quickstart 对我的应用程序所做的操作,并确保将 SecUser、SecRole 和 SecUserRole 放置在“发布”数据源中在上面的域类定义中引用。

需要进一步探索 Stackoverflow。

-麦克

【讨论】:

    猜你喜欢
    • 2013-03-23
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多