Thanks Martin Am posting the same to Guice mailing list
On Fri, Nov 12, 2010 at 3:25 AM, Martin Grigorov <[email protected]>wrote: > Looks like a question for Guice Persist folks. > > The error message doesn't say what exactly is the problem but for some > reason PersistFilter cannot be instantiated. > > On Fri, Nov 12, 2010 at 9:16 AM, Josh Kamau <[email protected]> wrote: > > > Hi there; > > > > Has anyone tried working with the wicket 1.5-m3 and the new guice/guice > > persist 3 snapshots? > > > > am getting the below error: > > > > java.lang.InstantiationException: com.google.inject.persist.PersistFilter > > at java.lang.Class.newInstance0(Class.java:340) > > at java.lang.Class.newInstance(Class.java:308) > > at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:153) > > at > org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:92) > > at > > org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) > > at > > > > > org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662) > > at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) > > at > > > > > org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1272) > > at > > org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) > > at > > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:489) > > 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:490) > > at > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) > > at > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) > > at > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) > > at > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) > > at > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) > > at > > > > > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) > > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) > > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) > > at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) > > at > > org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) > > 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) > > > > Web.xml > > <?xml version="1.0" encoding="ISO-8859-1"?> > > <web-app xmlns="http://java.sun.com/xml/ns/j2ee" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee > > http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" > > version="2.4"> > > > > <display-name>issuetracker</display-name> > > > > <filter> > > <filter-name>wicket.issuetracker</filter-name> > > > > <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> > > <init-param> > > <param-name>applicationClassName</param-name> > > > > <param-value>ke.co.at.issuetracker.WicketApplication</param-value> > > </init-param> > > </filter> > > > > <filter> > > <filter-name>persistFilter</filter-name> > > > <filter-class>com.google.inject.persist.PersistFilter</filter-class> > > </filter> > > > > <filter-mapping> > > <filter-name>wicket.issuetracker</filter-name> > > <url-pattern>/*</url-pattern> > > </filter-mapping> > > > > <filter-mapping> > > <filter-name>persistFilter</filter-name> > > <url-pattern>/*</url-pattern> > > </filter-mapping> > > > > > > </web-app> > > > > peristence.xml > > > > <persistence xmlns="http://java.sun.com/xml/ns/persistence" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:schemaLocation="http://java.sun.com/xml/ns/persistence > > http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" > > version="1.0"> > > <persistence-unit name="issuetrackerPU" > > transaction-type="RESOURCE_LOCAL"> > > <properties> > > <property name="hibernate.dialect" > > value="org.hibernate.dialect.PostgreSQLDialect" /> > > <property name="hibernate.connection.driver_class" > > value="org.postgresql.Driver" /> > > <property name="hibernate.connection.username" > value="postgres" > > /> > > <property name="hibernate.connection.password" > value="postgres" > > /> > > <property name="hibernate.connection.url" > > value="jdbc:postgresql://localhost:5432/issuetracker" /> > > <property name="hibernate.hbm2ddl.auto" value="update" /> > > </properties> > > </persistence-unit> > > > > <persistence-unit name="issuetrackerPUtest" > > transaction-type="RESOURCE_LOCAL"> > > <properties> > > <property name="hibernate.dialect" > > value="org.hibernate.dialect.HSQLDialect" /> > > <property name="hibernate.connection.driver_class" > > value="org.hsqldb.jdbcDriver" /> > > <property name="hibernate.connection.username" value="sa" /> > > <property name="hibernate.connection.password" value="" /> > > <property name="hibernate.connection.url" > > value="jdbc:hsqldb:mem:issuetracker" /> > > <property name="hibernate.hbm2ddl.auto" value="update" /> > > </properties> > > </persistence-unit> > > > > </persistence> > > > > > > Guice Module > > > > package ke.co.at.issuetracker; > > > > import ke.co.at.issuetracker.services.LoginService; > > import ke.co.at.issuetracker.services.impl.LoginServiceImpl; > > > > import com.google.inject.AbstractModule; > > > > public class GuiceModule extends AbstractModule { > > > > @Override > > protected void configure() { > > bind(LoginService.class).to(LoginServiceImpl.class); > > } > > > > } > > > > Wicket application > > > > package ke.co.at.issuetracker; > > > > import ke.co.at.issuetracker.pages.AdminUserPage; > > import ke.co.at.issuetracker.pages.LoginPage; > > > > import org.apache.wicket.guice.GuiceComponentInjector; > > import org.apache.wicket.protocol.http.WebApplication; > > > > import com.google.inject.Guice; > > import com.google.inject.Injector; > > import com.google.inject.persist.jpa.JpaPersistModule; > > > > /** > > * Application object for your web application. If you want to run this > > * application without deploying, run the Start class. > > * > > * @see ke.co.at.issuetracker.Start#main(String[]) > > */ > > public class WicketApplication extends WebApplication { > > /** > > * Constructor > > */ > > public WicketApplication() { > > } > > > > /** > > * @see org.apache.wicket.Application#getHomePage() > > */ > > public Class<LoginPage> getHomePage() { > > return LoginPage.class; > > } > > > > @Override > > protected void init() { > > super.init(); > > Injector injector = Guice.createInjector(new GuiceModule(), new > > JpaPersistModule("issuetrackerPU")); > > getComponentInstantiationListeners().add(new > > GuiceComponentInjector(this, injector)); > > > > getMarkupSettings().setStripWicketTags(true); > > > > mountPage("/login", LoginPage.class); > > mountPage("/registeradmin", AdminUserPage.class); > > } > > > > } > > > > kind regards. > > Josh > > >
