Спящий режим - непонятное предупреждение - PullRequest
3 голосов
/ 07 февраля 2012

Я создал отдельное Java-приложение (пакетное приложение), которое использует Hibernate через JPA 2. Работает нормально, но я постоянно вижу это предупреждение в логах.

Я безуспешно гуглю и читаю исходный код напрямую.

WARN    org.hibernate.type.TypeFactory  TypeFactory.java:69     Scoping types to session factory org.hibernate.impl.SessionFactoryImpl@f876ce2 after already scoped org.hibernate.impl.SessionFactoryImpl@3fd7165

Интересно, что это значит?

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

Это когда вы устанавливаете фабрику сессий дважды (фабрика сессий уже установлена). Настройте ведение журнала на трассировку и ищите, где написано «Типы областей видимости для фабрики сессий», в какой-то момент вы затем устанавливаете его снова, кажется, что это не вызовет проблем, но API выглядит так в идеальном сценарии, который вы должны только когда-либо устанавливал фабрику один раз.

1 голос
/ 07 февраля 2012

Непосредственно из источников:

public final class TypeFactory implements Serializable {
    private static final Logger log = LoggerFactory.getLogger( TypeFactory.class );

    private final TypeScopeImpl typeScope = new TypeScopeImpl();

    public static interface TypeScope extends Serializable {
        public SessionFactoryImplementor resolveFactory();
    }

    private static class TypeScopeImpl implements TypeFactory.TypeScope {
        private SessionFactoryImplementor factory;

        public void injectSessionFactory(SessionFactoryImplementor factory) {
            if ( this.factory != null ) {
                log.warn( "Scoping types to session factory {} after already scoped {}", this.factory, factory );
            }
            else {
                log.trace( "Scoping types to session factory {}", factory );
            }
            this.factory = factory;
        }

...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...