Добавить SDN-4 в GF-3: Исключение при загрузке приложения: IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException

Для работы с автономным сервером базы данных neo4j-graphdatabase я добавляю зависимость SDN 3.1.2 к моему файлу pom.

 <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-neo4j-rest</artifactId>
        <version>3.1.2.RELEASE</version>
 </dependency>

Благодаря Neo4jCdiRepositoryExtension я могу работать с spring-data-neo4j без полной Spring-Framework (через CDI).

Теперь я хочу обновить свою версию SDN до 4.0.0.M1.

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-neo4j</artifactId>
    <version>4.0.0.M1</version>
</dependency>

Я должен создать свой собственный Neo4jCdiRepositoryExtension, это кажется очень простым. Процесс развертывания создает мои новые расширения. Чтобы использовать мои расширения, мне нужен этот класс, который предоставляет все необходимые конфигурации:

@ApplicationScoped
public class Neo4jConfigurationProvider {

@Resource(lookup = "rest/neo4j")
private String baseUriString;
private static final String PERSISTENCE_ROOT = "...";
private SessionFactory sessionFactory;
private Neo4jServer neo4jServer;
private Session session;

@PostConstruct
public void init() {
    neo4jServer = new RemoteServer(baseUriString);
    sessionFactory = new SessionFactory(PERSISTENCE_ROOT + ".person", PERSISTENCE_ROOT + ".relation",
            PERSISTENCE_ROOT + ".relations_type");
    session = sessionFactory.openSession(baseUriString);
}

@Produces
public SessionFactory sessionFactory() {
    return sessionFactory;
}

@Produces
public Neo4jServer neo4jServer() {
    return neo4jServer;
}

@Produces
public Neo4jTemplate neo4jTemplate() {
    return new Neo4jTemplate(session);
}
}

Мой сервер Glassfish 3 выдает мне это сообщение об ошибке, если я хочу его развернуть:

remote failure: Error occurred during deployment: Exception while loading the app :
java.lang.IllegalStateException: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: 
org.apache.catalina.LifecycleException: 
com.sun.jersey.spi.inject.Errors$ErrorMessagesException. 
Please see server.log for more details.

Теперь у меня вопрос: Как я могу исправить эту ошибку?


person mzober    schedule 16.07.2015    source источник
comment
Вот описание, но оно не помогает мне с моей проблемой.https://java.net/jira/browse/GLASSFISH-16571   -  person ATG    schedule 16.07.2015
comment
Эта проблема закрыта, так как она не может быть воспроизведена. Итак, что насчет журналов вашего сервера? Что там относится к этому веб-приложению RESTful?   -  person mzober    schedule 16.07.2015
comment
Следующие ошибки и предупреждения были обнаружены с классами ресурсов и/или поставщиков: familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.LoggingProvider(org.neo4j.kernel.logging.Logging) в индексе параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.rest.transactional.TransactionFilter(org.neo4j.server.database.Database) в индексе параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.rest.repr.InputFormatProvider(org.neo4j.server.rest.repr.RepresentationFormatRepository) в индексе параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.rest.repr.OutputFormatProvider(org.neo4j.server.rest.repr.RepresentationFormatRepository) в индексе параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.rest.paging.LeaseManagerProvider(org.neo4j.server.rest.paging.LeaseManager) в индексе параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.NeoServerProvider(org.neo4j.server.NeoServer) с индексом параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.plugins.PluginInvocatorProvider(org.neo4j.server.AbstractNeoServer) в индексе параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.database.ExecutionEngineProvider(org.neo4j.server.database.CypherExecutor) в индексе параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.database.CypherExecutorProvider(org.neo4j.server.database.CypherExecutor) в индексе параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.database.GraphDatabaseServiceProvider(org.neo4j.server.database.Database) в индексе параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.database.DatabaseProvider(org.neo4j.server.database.Database) в индексе параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.rrd.RrdDbProvider(org.neo4j.server.database.RrdDbWrapper) с индексом параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.web.WebServerProvider(org.neo4j.server.web.WebServer) с индексом параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.web. InjectableWrapper(org.neo4j.server.plugins.Injectable) с индексом параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.rest.dbms.UserService(org.neo4j.server.security.auth.AuthManager,org.neo4j.server.rest.repr.InputFormat,org.neo4j.server.rest .repr.OutputFormat) с индексом параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.rest.management.console.ConsoleService(org.neo4j.kernel.configuration.Config,org.neo4j.server.database.Database,javax.servlet.http.HttpServletRequest,org .neo4j.server.rest.repr.OutputFormat,org.neo4j.server.database.CypherExecutor) с индексом параметра 0 familymanager_1 | СЕРЬЕЗНЫЙ: Отсутствует зависимость для конструктора public org.neo4j.server.rest.discovery.DiscoveryService(org.neo4j.kernel.configuration.Config,org.neo4j.server.rest.repr.OutputFormat) в индексе параметра 0   -  person ATG    schedule 16.07.2015


Ответы (1)


Во-первых, я не могу найти server.log, потому что мой сервер не запускается. Итак, я воспроизвел версию, которая работает, добавил зависимость sdn-4 и попытался получить любой журнал. Итак, вот ошибка из моего server.log:

Я ищу другой экземпляр сервера в моей зависимости spring-data-neo4j и нашел «neo4j-server». Я исключил этот сервер из моей зависимости sdn-4 в моем pom для работы с этой структурой:

Теперь я могу использовать версию spring-data-neo4j 4-RC1 под JavaEE 6.

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-neo4j</artifactId>
        <version>4.0.0.RC1</version>
        <exclusions>
            <exclusion>
                <groupId>org.neo4j.app</groupId>
                <artifactId>neo4j-server</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

Вы хоть представляете, что лежит в основе исключения?

person mzober    schedule 21.07.2015