Tapestry5: ни один сервис не реализует интерфейс org.springframework.context.ApplicationContext - PullRequest
2 голосов
/ 04 января 2011

Я использую Tapestry5 tapx библиотека шаблонов для отправки html-письма, согласно этому примеру .

Когда я запускаю пример, я получаю следующую ошибку:

Caused by: java.lang.RuntimeException: No service implements the interface org.springframework.context.ApplicationContext.
        at org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:560)
        at org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:44)

Все баночки с гобеленами *, включая гобелен-весна-5.1.05.jar, находятся в моем классе.

Есть какие-нибудь подсказки относительно того, что мне не хватает?

Ответы [ 3 ]

1 голос
/ 05 января 2011

Разобрался.SpringIOC загружает все модули, которые он находит в пути к классам.SpringModule в файле tapestry-spring.jar пытается инициализировать службу ApplicactionContext, которая вызывает проблему.

Удаление tapestry-spring.jar из пути к классам устраняет проблему.

0 голосов
/ 08 января 2011

Достаточно справедливо;Я не уверен, в какой ситуации вы находитесь, но вам следует более детально взглянуть на то, что делает TapestrySpringFilter с точки зрения настройки, и скопировать его при запуске автономного приложения.Есть некоторая специальная магия начальной загрузки, которую вы захотите использовать.

0 голосов
/ 07 января 2011

Тщательно следуйте инструкциям на сайте;Я предполагаю, что вы не используете специальный TapestrySpringFilter (вместо обычного TapestryFilter).

Прошло много времени с тех пор, как я посмотрел этот код;Я не могу вспомнить, представлен ли ApplicationContext как сервис или объект для инъекции.Похоже, так и должно быть.

...