Вопрос

Я пытаюсь запустить POJO при запуске в моем приложении Weld / Seam3, но мне не очень везет.Я пробовал следующее, но ни один из них не сработал:

@Singleton
public class StartupJobs {
    @Inject
    private Logger log;

    public void onStartup(@Observes @Initialized ServletContextEvent event) {
        log.info("Starting startup jobs");
    }

    public void onStartupTwo(@Observes @Initialized WebApplication webApplication) {
        log.info("Starting startup jobs");
    }
}

-

// Guessing this way is no good as I can't use the javax.ejb.Startup annotation here
@ApplicationScoped
public class StartupJobs {
    @Inject
    private Logger log;

    @PostConstruct
    public void onStartup() {
        log.info("Starting startup jobs");
    }
}

Но ни один из этих способов не сработал.Мое сообщение в журнале так и не было вызвано.Поскольку это приложение запущено на Tomcat6, и мне пришлось добавить "org.jboss.weld.environment.servlet.Слушатель" слушатель моего web.xml, мне интересно, есть ли что-то, что вызывает этот класс, что я мог бы наблюдать.Но я не заметил ничего особенного.

Есть какие-нибудь подсказки, что еще я мог бы попробовать?

Это было полезно?

Решение

Выяснилось, что моя проблема была в конфигурации.Я не видел, что мне нужна какая-то дополнительная настройка из-за того, что я работаю на Tomcat 6: http://docs.jboss.org/seam/3/servlet/latest/reference/en-US/html/servlet-installation.html#installation.pre-servlet-3

Краткое примечание к документации на этой странице в ее нынешнем виде, когда я пишу это, классом для "Фильтра исключений Catch" должен быть "org.jboss.seam.servlet.exception.CatchExceptionFilter".В документации отсутствует "исключение".Похоже, это было исправлено в коде сервлета Seam, поэтому я предполагаю, что эта ошибка будет исправлена при следующем выпуске документации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top