Запуск POJO в приложении Weld / Seam3 - PullRequest
2 голосов
/ 08 сентября 2011

Я пытаюсь запустить 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 Ответ

3 голосов
/ 08 сентября 2011

Обнаружил, что моя проблема была в конфигурации. Я не видел, что мне нужна дополнительная конфигурация, потому что я был на 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 Servlet, поэтому я думаю, что эта ошибка будет исправлена ​​в следующий раз, когда будет выпущена документация.

...