You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by "VU, Thi Thu Thuy" <th...@sap.com> on 2010/04/22 16:35:55 UTC

error when extend class SocialApiGuiceModule

Hello,
I tried to implement PersonService to connect Shindig with another DB.
So I created also a class which extends SocialApiGuiceModule and replace it in the web.xml file.
But I don't understand why it always gave this problem:
GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.apache.shindig.common.servlet.GuiceServletContextListener
com.google.inject.internal.ComputationException: java.lang.NoClassDefFoundError: org/apache/abdera/protocol/server/context/ResponseContextException
      at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:553)
      at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419)
      at com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
      at com.google.inject.internal.FailableCache.get(FailableCache.java:46)
      at com.google.inject.ConstructorInjectorStore.get(ConstructorInjectorStore.java:52)
      at com.google.inject.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:57)
      at com.google.inject.InjectorImpl.initializeBinding(InjectorImpl.java:377)
      at com.google.inject.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:645)
      at com.google.inject.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:581)
      at com.google.inject.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:172)
      at com.google.inject.InjectorImpl.getBindingOrThrow(InjectorImpl.java:132)
      at com.google.inject.InjectorImpl.getInternalFactory(InjectorImpl.java:651)
      at com.google.inject.FactoryProxy.notify(FactoryProxy.java:48)
      at com.google.inject.BindingProcessor.runCreationListeners(BindingProcessor.java:230)
      at com.google.inject.InjectorBuilder.initializeStatically(InjectorBuilder.java:131)
      at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:105)
      at com.google.inject.Guice.createInjector(Guice.java:92)
      at org.apache.shindig.common.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:64)
      at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
      at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
      at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
      at org.apache.catalina.core.StandardService.start(StandardService.java:516)
      at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.NoClassDefFoundError: org/apache/abdera/protocol/server/context/ResponseContextException
      at java.lang.Class.getDeclaredConstructors0(Native Method)
      at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
      at java.lang.Class.getDeclaredConstructors(Unknown Source)
      at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:185)
      at com.google.inject.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:61)
      at com.google.inject.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:31)
      at com.google.inject.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:39)
      at com.google.inject.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
      at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:35)
      at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:549)
      ... 32 more
Caused by: java.lang.ClassNotFoundException: org.apache.abdera.protocol.server.context.ResponseContextException
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484)
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
      ... 42 more

Here's my class extends SocialApiGuiceModule
public class spiGuiceOauth extends SocialApiGuiceModule {

      @Override
      protected void configure() {

            super.configure();
            // bind(ActivityService.class).to(ActivityServiceImpl.class);
            bind(PersonService.class).to(PersonServiceImpl.class);
            // bind(AppDataService.class).to(AppDataServiceImpl.class);
            bind(OAuthDataStore.class).to(OAuthDataStoreImpl.class);
            bind(InjectedServlet.class).to(OAuthServletImpl.class);
            requestStaticInjection(SNSRealm.class);
      }
      @Override
        protected Set<Object> getHandlers() {
          ImmutableSet.Builder<Object> handlers = ImmutableSet.builder();
          handlers.addAll(super.getHandlers());
          handlers.add(SNSContainerHandler.class);
          return handlers.build();
        }

}

I tried to comment or bind(PersonService.class).to(PersonServiceImpl.class); or bind(OAuthDataStore.class).to(OAuthDataStoreImpl.class);
But it gave me the same error.

Have any know this error, could you tell me pls?
Thanks a lot