2016-03-30 2 views
-1

Я столкнулся со странной ошибкой в ​​течение нескольких дней, и до сих пор недоумевают, подробности ниже:Странная ошибка в Shiro doGetAuthorizationInfo метод

Я использую Apache Shiro с пружиной,

после того, как какой-то работы, я был готов к установке «doGetAuthorizationInfo» метод, потому что я использую «@RequiresRoles» в мой контроллер,

Я нашел, если я призываю XXXService (или услуги) более чем один раз, исключение (в первый раз вызывается XXXService, каждый Хин отлично работает), поэтому я пытаюсь проверить «doGetAuthenticationInfo» в той же области, которая используется для входа в систему, я ссылаться XXXService или другие услуги несколько раз в методе, он отлично работает,

, и я также пытался изменить другой компонент источника данных,

, так что я думаю, что это не DataSource компоненты ошибки,

я не нашел причину.

Когда я использовал ДБХП, исключение источника данных, как показано ниже:

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

никакие другие не вызывают исключение.

Любое другое место не нашло этой проблемы.

Спасибо за любую помощь.

ответ

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> 

Когда я изменяю реф оригинальный источник данных боб для EntityManagerFactory:

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

Ошибка исчезает ,

Смежные вопросы