shiro doGetAuthorizationInfo 方法出现奇怪的错误

Strange error occured in shiro doGetAuthorizationInfo method

这几天遇到了一个奇怪的错误,一直不解,详情如下:

我正在使用 apache shiro 和 spring,

经过一些工作,我准备设置“doGetAuthorizationInfo”方法,因为我在我的控制器中使用“@RequiresRoles”,

我发现如果我多次调用 XXXService(或任何服务),就会出现异常(第一次调用 XXXService,一切正常),所以,我尝试测试“doGetAuthenticationInfo" 在用于登录的同一领域中,我在该方法中多次调用 XXXService 或其他服务,它工作正常,

而且我还尝试更改不同的数据源组件,

所以我认为这不是数据源组件错误,

没找到原因

当我使用 dbcp 数据源时,出现如下异常:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.

没有其他人导致异常。

其他地方没发现这个问题

感谢您的帮助。

经过一天多的努力,我发现了一些东西, 我正在使用 dataSourceProxy:

<bean id="dataSourceProxy"
    class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
    <property name="targetDataSource" ref="dataSource" />
</bean>

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSourceProxy" />
...
</bean>

当我更改为 entityManagerFactory 的 ref 原始数据源 bean 时:

<bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource" />
    ...
</bean>

错误消失。