Запуск POJO в приложении Weld/Seam3

Я пытаюсь запустить 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.Listener" в мой файл web.xml, мне интересно, есть ли что-то, что вызывает этот класс, что я мог бы наблюдать. Я не заметил ничего особенного.

Любая подсказка, что еще я мог попробовать?

1 ответ

Решение

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

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

Другие вопросы по тегам