Hi Sebastian,
I did a commit this morning (now reverted) that caused this issue... so it
might just have been bad luck/timing.
What's meant to happen is that Isis installs a DataNuclues
MetadataListener, and then uses this to create the DB schema object. This
doesn't work if though if the classes are eagerly registered with DN
("autoStart" in DN's parlance).
That's what I broke this morning, and have fixed since. Full gory details
on ISIS-1168 [1]
I've raised some bugs on DN's forum [2], [3] to try to get to a better
solution.
Meantime, I'll double check it works via mvn jetty:run.
Thx for your patience,
Dan
[1] https://issues.apache.org/jira/browse/ISIS-1168
[2] http://www.datanucleus.org/servlet/jira/browse/NUCCORE-1328
[3] http://www.datanucleus.org/servlet/jira/browse/NUCCORE-1329
On 6 July 2015 at 20:10, Sebastian Sobiech <[email protected]>
wrote:
> Hello,
>
> I'm trying to see if our team can use Apache Isis for our project. Our
> goal is to use it on our PostgreSQL database and run it on Jetty for
> development purposes. I am in charge of investigating this framework.
>
> I have encountered big problems with running the sampleapp from
> isis-master repo. I use IntellJ IDEA 14.x with JDK 1.8.
> I run it from the webapp directory with jetty:run command.
>
> No matter if I use the HSQLDB or PostgreSQL I always receive this error:
>
> javax.servlet.ServletException: com.google.inject.ProvisionException:
> Guice provision errors:<|<|1) Error in custom provider,
> org.datanucleus.exceptions.NucleusDataStoreException: An exception was
> thrown while adding/validating class(es) : invalid schema name: SIMPLE in
> statement [CREATE TABLE simple."SimpleObject"|(| "id" BIGINT GENERATED
> BY DEFAULT AS IDENTITY,| "name" NVARCHAR(40) NOT NULL,| "version"
> BIGINT NOT NULL,| CONSTRAINT "SimpleObject_PK" PRIMARY KEY
> ("id")|)]|java.sql.SQLException: invalid schema name: SIMPLE in statement
> [CREATE TABLE simple."SimpleObject"|(| "id" BIGINT GENERATED BY DEFAULT
> AS IDENTITY,| "name" NVARCHAR(40) NOT NULL,| "version" BIGINT NOT
> NULL,| CONSTRAINT "SimpleObject_PK" PRIMARY KEY ("id")|)]<|?at
> org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)<|?at
> org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)<|?at
> org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source)<|?at
> org.hsqldb.jdbc.JDBCStatement.execute(Unknown Source)<|?at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingStatement.execute(DelegatingStatement.java:246)<|?at
> org.datanucleus.store.rdbms.datasource.dbcp.DelegatingStatement.execute(DelegatingStatement.java:246)<|?at
> org.datanucleus.store.rdbms.table.AbstractTable.executeDdlStatement(AbstractTable.java:864)<|?at
> org.datanucleus.store.rdbms.table.AbstractTable.executeDdlStatementList(AbstractTable.java:815)<|?at
> org.datanucleus.store.rdbms.table.AbstractTable.create(AbstractTable.java:531)<|?at
> org.datanucleus.store.rdbms.table.AbstractTable.exists(AbstractTable.java:594)<|?at
> org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.performTablesValidation(RDBMSStoreManager.java:3355)<|?at
> org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.run(RDBMSStoreManager.java:2871)<|?at
> org.datanucleus.store.rdbms.AbstractSchemaTransaction.execute(AbstractSchemaTransaction.java:119)<|?at
> org.datanucleus.store.rdbms.RDBMSStoreManager.createSchemaForClasses(RDBMSStoreManager.java:3838)<|?at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.createSchema(DataNucleusApplicationComponents.java:143)<|?at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.initialize(DataNucleusApplicationComponents.java:122)<|?at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:104)<|?at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:119)<|?at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:97)<|?at
> org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory.createPersistenceSession(PersistenceSessionFactory.java:94)<|?at
> org.apache.isis.core.runtime.system.session.IsisSessionFactoryDefault.openSession(IsisSessionFactoryDefault.java:217)<|?at
> org.apache.isis.core.runtime.system.context.IsisContextThreadLocal.openSessionInstance(IsisContextThreadLocal.java:146)<|?at
> org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:275)<|?at
> org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:154)<|?at
> org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.init(IsisSystemFixturesHookAbstract.java:126)<|?at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:133)<|?at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<|?at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)<|?at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<|?at
> java.lang.reflect.Method.invoke(Method.java:497)<|?at
> com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)<|?at
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)<|?at
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)<|?at
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)<|?at
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)<|?at
> com.google.inject.Scopes$1$1.get(Scopes.java:65)<|?at
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)<|?at
> com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53)<|?at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)<|?at
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)<|?at
> com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)<|?at
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)<|?at
> com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)<|?at
> com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60)<|?at
> com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944)<|?at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:256)<|?at
> domainapp.webapp.SimpleApplication.init(SimpleApplication.java:85)<|?at
> org.apache.wicket.Application.initApplication(Application.java:823)<|?at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:424)<|?at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351)<|?at
> org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)<|?at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)<|?at
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)<|?at
> org.mortbay.jetty.servlet.Context.startContext(Context.java:140)<|?at
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)<|?at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)<|?at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)<|?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:454)<|?at
> org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:396)<|?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.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)<|?at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)<|?at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)<|?at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)<|?at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)<|?at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)<|?at
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)<|?at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)<|?at
> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)<|?at
> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)<|?at
> org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)<|?at
> org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)<|?at
> org.apache.maven.cli.MavenCli.main(MavenCli.java:141)<|?at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<|?at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)<|?at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<|?at
> java.lang.reflect.Method.invoke(Method.java:497)<|?at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)<|?at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)<|?at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)<|?at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)<|?at
> org.codehaus.classworlds.Launcher.main(Launcher.java:47)<|Caused by:
> org.hsqldb.HsqlException: invalid schema name: SIMPLE<|?at
> org.hsqldb.error.Error.error(Unknown Source)<|?at
> org.hsqldb.error.Error.error(Unknown Source)<|?at
> org.hsqldb.SchemaManager.getSchemaHsqlName(Unknown Source)<|?at
> org.hsqldb.Session.getSchemaHsqlName(Unknown Source)<|?at
> org.hsqldb.StatementSchema.setOrCheckObjectName(Unknown Source)<|?at
> org.hsqldb.StatementSchema.getResult(Unknown Source)<|?at
> org.hsqldb.StatementSchema.execute(Unknown Source)<|?at
> org.hsqldb.Session.executeCompiledStatement(Unknown Source)<|?at
> org.hsqldb.Session.executeDirectStatement(Unknown Source)<|?at
> org.hsqldb.Session.execute(Unknown Source)<|?... 92 more<|<| at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)<|
> at
> org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:132)<|
> while locating org.apache.isis.core.runtime.system.IsisSystem<| for
> field at
> org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.system(IsisWicketApplication.java:142)<|
> while locating domainapp.webapp.SimpleApplication<|<|1 error
>
> I would really appreciate some tips and overall guidance :)
>
> Best Regards,
> Sebastian
>