Tapestry 5
  1. Tapestry 5
  2. TAP5-431

When using an externally configuration Spring ApplicationContext, beans of the context should be registered as services (as was the case in Tapestry 5.0)

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 5.1.0.0
    • Fix Version/s: 5.1.0.0
    • Component/s: tapestry-ioc
    • Labels:
      None

      Description

      Next bug. With the latest code from trunk, using external spring context, now I can't access any beans within Tapestry. So it looks like it forgets to register all of the beans from the context with Tapestry IoC..

      So I get nasty exceptions saying that it can't find the required services

      Caused by: java.lang.RuntimeException: Service id 'common-conf-properties' is not defined by any module. Defined services: ActionRenderResponseGenerator, AjaxComponentEventRequestHandler, AjaxComponentEventResultProcessor, AjaxPartialResponseRenderer, Alias, AliasOverrides, AppSubscriptionHandler, ApplicationContext, ApplicationDefaults, ApplicationGlobals, ApplicationInitializer, ApplicationStateManager, ApplicationStatePersistenceStrategySource, AspectDecorator, AssetBindingFactory, AssetObjectProvider, AssetSource, BaseURLSource, BeanBlockOverrideSource, BeanBlockSource, BeanModelSource, BindingSource, ChainBuilder, ClassNameLocator, ClasspathAssetAliasManager, ClasspathAssetFactory, ClasspathURLConverter, ClientPersistentFieldStorage, ClientPersistentFieldStrategy, ComponentClassCache, ComponentClassFactory, ComponentClassResolver, ComponentClassTransformWorker, ComponentClassTransformer, ComponentClassesInvalidationEventHub, ComponentDefaultProvider, ComponentEventRequestHandler, ComponentEventResultProcessor, ComponentInstanceResultProcessor, ComponentInstantiatorSource, ComponentInvocationMap, ComponentMessagesInvalidationEventHub, ComponentMessagesSource, ComponentPageElementResourcesSource, ComponentSource, ComponentTemplateSource, ComponentTemplatesInvalidationEventHub, Context, ContextAssetFactory, ContextPathEncoder, ContextValueEncoder, CookieSink, CookieSource, Cookies, CtClassSource, DataTypeAnalyzer, DefaultDataTypeAnalyzer, DefaultFileItemFactory, DefaultImplementationBuilder, EndOfRequestListenerHub, Environment, EnvironmentalShadowBuilder, ExceptionAnalyzer, ExceptionTracker, FacebookAuthFilterImpl, FactoryDefaults, FbForceModeFilter, FieldTranslatorSource, FieldValidationSupport, FieldValidatorDefaultSource, FieldValidatorSource, FormSupport, HiddenFieldLocationRules, HttpServletRequest, HttpServletRequestHandler, IgnoredPathsFilter, InjectionProvider, InternalRequestGlobals, LinkCreationHub, LinkFactory, LocalizationSetter, LocationRenderer, LoggingDecorator, MarkupRenderer, MarkupWriterFactory, MasterDispatcher, MasterObjectProvider, MessageBindingFactory, MetaDataLocator, MultipartDecoder, NullFieldStrategyBindingFactory, NullFieldStrategySource, ObjectRenderer, OsForceTypeFilter, PageActivationContextCollector, PageContentTypeAnalyzer, PageDocumentGenerator, PageElementFactory, PageLoader, PageMarkupRenderer, PagePool, PageRenderQueue, PageRenderRequestHandler, PageResponseRenderer, PageTemplateLocator, PartialMarkupRenderer, PersistentFieldManager, PersistentLocale, PipelineBuilder, PropBindingFactory, PropertyAccess, PropertyConduitSource, PropertyShadowBuilder, RegistryStartup, RenderSupport, Request, RequestExceptionHandler, RequestGlobals, RequestHandler, RequestLogFilter, RequestPageCache, RequestPathOptimizer, RequestSecurityManager, ResourceCache, ResourceDigestGenerator, ResourceStreamer, Response, ResponseRenderer, ServiceLifecycleSource, ServletApplicationInitializer, SessionApplicationStatePersistenceStrategy, StrategyBuilder, SymbolSource, TemplateParser, ThreadLocale, TranslateBindingFactory, TranslatorSource, TypeCoercer, URLEncoder, UpdateListenerHub, ValidateBindingFactory, ValidationConstraintGenerator, ValidationMessagesSource, ValueEncoderSource.
      at org.apache.tapestry5.ioc.internal.RegistryImpl.locateModuleForService(RegistryImpl.java:321)
      at org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:288)
      at org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getService(ObjectLocatorImpl.java:39)
      at org.apache.tapestry5.internal.services.ServiceAnnotationObjectProvider.provide(ServiceAnnotationObjectProvider.java:35)
      at org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:50)
      at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68)

        Activity

        Hide
        Howard M. Lewis Ship added a comment -

        A great workaround for this is to use tapestry-spring 5.0.18, even if the rest of Tapestry is 5.1.

        Show
        Howard M. Lewis Ship added a comment - A great workaround for this is to use tapestry-spring 5.0.18, even if the rest of Tapestry is 5.1.
        Hide
        Howard M. Lewis Ship added a comment -

        Not critical – there is a completely valid workaround, thanks to the magic of versioning!

        Show
        Howard M. Lewis Ship added a comment - Not critical – there is a completely valid workaround, thanks to the magic of versioning!

          People

          • Assignee:
            Howard M. Lewis Ship
            Reporter:
            Fernando Padilla
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development