I went a bit forward.
I moved the bindings into SampleModule.
public class SampleModule extends AbstractModule {
@Override
protected void configure() {
bind(String.class).annotatedWith(Names.named("shindig.canonical.json.db"))
.toInstance("sampledata/canonicaldb.json");
bind(ActivityService.class).to(ActivityServiceDb.class);
bind(AppDataService.class).to(AppDataServiceDb.class);
bind(PersonService.class).to(PersonServiceDb.class);
//bind(MessageService.class).to(MessageServiceDb.class);
bind(OAuthDataStore.class).to(SampleOAuthDataStore.class);
}
}
Now the problem is as follows:
2010-07-09 19:08:21.955:INFO::No Transaction manager found - if your
webapp requires one, please configure one.
2010-07-09 19:08:23.199:WARN::Failed startup of context
org.mortbay.jetty.plugin.jetty6pluginwebappcont...@277b8705{/,file:/Library/WebServer/Documents/shindig/java/server/src/main/webapp/;file:/Library/WebServer/Documents/shindig/content/;}
com.google.inject.internal.ComputationException:
java.lang.NoClassDefFoundError: javax/persistence/EntityManager
javax.persistence is in dependencies of sample artifact.
Can't understand what's wrong.
Eclipse has also some problems resolving javax.persistence import.
Any thoughts?
On 09.07.10 18:38, Evgeny Bogdanov wrote:
Well, seems as I managed to join .jpa libraries.
Now I have the problem with persistence library that is used in samples/jpa
I have the following in my Guice module:
bind(PersonService.class).to(PersonServiceDb.class);
bind(AppDataService.class).to(AppDataServiceDb.class);
The build is successful, but when I run jetty I have an exception
Could somebody please help?
com.google.inject.CreationException: Guice creation errors:||1) No
implementation for javax.persistence.EntityManager was bound.| while
locating javax.persistence.EntityManager| for parameter 0 at
org.apache.shindig.social.opensocial.jpa.spi.AppDataServiceDb.<init>(AppDataServiceDb.java:49)|
at
org.apache.shindig.social.core.config.GraaaspApiGuiceModule.configure(GraaaspApiGuiceModule.java:65)||2)
No implementation for javax.persistence.EntityManager was bound.| while
locating javax.persistence.EntityManager| for parameter 0 at
org.apache.shindig.social.opensocial.jpa.spi.PersonServiceDb.<init>(PersonServiceDb.java:63)|
at
org.apache.shindig.social.core.config.GraaaspApiGuiceModule.configure(GraaaspApiGuiceModule.java:64)||3)
No implementation for
org.apache.shindig.social.opensocial.oauth.OAuthDataStore was bound.|
while locating
org.apache.shindig.social.opensocial.oauth.OAuthDataStore| for
parameter 0 at
org.apache.shindig.social.core.oauth.OAuthAuthenticationHandler.<init>(OAuthAuthenticationHandler.java:60)|
while locating
org.apache.shindig.social.core.oauth.OAuthAuthenticationHandler| for
parameter 1 at
org.apache.shindig.social.core.oauth.AuthenticationHandlerProvider.<init>(AuthenticationHandlerProvider.java:36)|
at
org.apache.shindig.social.core.config.GraaaspApiGuiceModule.configure(GraaaspApiGuiceModule.java:82)||3
errors
at
com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:354)
at
com.google.inject.InjectorBuilder.initializeStatically(InjectorBuilder.java:152)
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:69)
at
org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
at
org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
at
org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441)
at
org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383)
at
org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
at
org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:553)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:523)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at
org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
On 08.07.10 17:40, Evgeny Bogdanov wrote:
Hi
thanks, I looked at it and everything seems to be what I need.
However, I can't compile code when I import jpa
What I did is I created a class GraaaspDbFetcher.java
in "org.apache.shindig.social.sample.spi"
In this class I have jpa imports:
import org.apache.shindig.social.opensocial.jpa.*;
import org.apache.shindig.social.opensocial.jpa.api.*;
import org.apache.shindig.social.opensocial.jpa.hibernate.*;
import org.apache.shindig.social.opensocial.jpa.spi.*;
When I run
$ mvn package -Dmaven.test.skip -P reporting
I get the following error:
/Library/WebServer/Documents/shindig/java/social-api/src/main/java/org/apache/shindig/social/sample/spi/GraaaspDbFetcher.java:[42,0]
package org.apache.shindig.social.opensocial.jpa does not exist
Do I have to change somehow pom.xml in "java/samples"
so that maven creates packages?
Best
Evgeny
PS: Sorry for my java ignorance :)
On 07.07.10 18:22, Henry Saputra wrote:
Hi Evgeny,
Maybe you can start take a look at the trunk/java/samples project that uses
hibernate and jpa.
- Henry
On Wed, Jul 7, 2010 at 7:52 AM, Evgeny Bogdanov<[email protected]>wrote:
Hello,
Plan to connect my database to java shindig (did it for php shindig based
on Partuza example, works well)
What is a best practice do do it for java?
Is there a config file where all database settings are saved?
Could somebody give your implementation to start from?
Thanks
Evgeny