我几天遇到一个奇怪的错误,仍然困惑,详情如下:
我在春天使用 apache shiro ,
经过一番工作,我准备好设置" doGetAuthorizationInfo "方法,因为我使用" @ RequiresRoles"在我的控制器中,我发现如果我多次调用XXXService(或任何服务),就会发生异常(第一次调用XXXService,一切正常),所以,我试着测试" doGetAuthenticationInfo "在用于登录的同一个Realm中,我在方法中多次调用XXXService或其他服务,它工作正常,
我还尝试更改不同的数据源组件
所以我认为它不是数据源组件错误,
我没有找到原因。
当我使用dbcp datasource时,异常如下:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
没有其他人造成例外。
其他任何地方都没有发现这个问题。
感谢您的帮助。
答案 0 :(得分:0)
经过一天多的努力,我找到了一些东西, 我正在使用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>
当我更改为initManagerFactory的原始数据源bean时:
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
...
</bean>
错误消失。