DB/Schemifier Problem

17 views
Skip to first unread message

Daniel Koller

unread,
Jan 5, 2009, 12:34:43 AM1/5/09
to Lift
Hi all,

I have a problem regarding the Lift framework, where I ask for any
helpful comments.

The problem is that I access my application database, the database
tables do obviously not exist, but they get also not created.

The basic situation is like this:
- I am working on the ESME solution, this solution has a Boot-scala
file, which is the first called file. The relevant snippet of
Boot.scala is:

" DefaultConnectionIdentifier.jndiName = "esme"

if (!DB.jndiJdbcConnAvailable_?) DB.defineConnectionManager
(DefaultConnectionIdentifier, DBVendor)
// where to search snippet
LiftRules.addToPackages("us.esme")

if (Props.mode == Props.RunModes.Test) {
Schemifier.destroyTables_!!(Log.infoF _, User, ExtSession,
Message, Mailbox, Tag,
Group, Relationship, MessageTag,
AuthToken, UrlStore, Tracking,
Action, DidPerform)
}

Schemifier.schemify(true, Log.infoF _, User, ExtSession, Message,
Mailbox, Tag,
Group, Relationship, MessageTag, AuthToken,
UrlStore, Tracking, Action, DidPerform)"

- During execution of Boot.scala the code breaks at at schemify-call
with the following exception:

"INFO: Deploying web application archive esme-0.2.3-SNAPSHOT.war
ERROR - Failed to Boot
java.lang.AbstractMethodError
at net.liftweb.mapper.MetaMapper$class.$init$(MetaMapper.scala:840)
at us.esme.model.Tag$.<init>(Tag.scala:34)
at us.esme.model.Tag$.<clinit>(Tag.scala)
at bootstrap.liftweb.Boot.boot(Boot.scala:59)
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 net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply
(ClassHelpers.scala:396)
at net.liftweb.util.ClassHelpers$$anonfun$createInvoker$1.apply
(ClassHelpers.scala:394)
at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply
(LiftRules.scala:867)
at net.liftweb.http.DefaultBootstrap$$anonfun$boot$1.apply
(LiftRules.scala:867)
at net.liftweb.util.Full.map(Box.scala:282)
at net.liftweb.http.DefaultBootstrap$.boot(LiftRules.scala:867)
at net.liftweb.http.LiftFilter.bootLift(LiftServlet.scala:543)
at net.liftweb.http.LiftFilter.init(LiftServlet.scala:518)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter
(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef
(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>
(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart
(StandardContext.java:3709)
at org.apache.catalina.core.StandardContext.start
(StandardContext.java:4356)
at org.apache.catalina.core.ContainerBase.addChildInternal
(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:
525)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:
829)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:
718)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:
490)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
at org.apache.catalina.startup.HostConfig.lifecycleEvent
(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:
1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
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:578)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
05.01.2009 06:49:05 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
05.01.2009 06:49:05 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
05.01.2009 06:49:05 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=1/61 config=null
05.01.2009 06:49:05 org.apache.catalina.startup.Catalina start
INFO: Server startup in 4965 ms"

- When I call additional application functions, the following error
messages show up:
"
ERROR - The ActorWatcher restarted us.esme.actor.Distributor$@1079ff
because java.sql.SQLSyntaxErrorException: Table/View 'USERS' does not
exist.
java.sql.SQLSyntaxErrorException: Table/View 'USERS' does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException
(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException
(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException
(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown
Source)
at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement
(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement
(Unknown Source)
at net.liftweb.mapper.DB$$anonfun$prepareStatement$1.apply(DB.scala:
267)
at net.liftweb.mapper.DB$$anonfun$prepareStatement$1.apply(DB.scala:
266)
at net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:242)
at net.liftweb.util.Helpers$.calcTime(Helpers.scala:29)
at net.liftweb.mapper.DB$.prepareStatement(DB.scala:266)
at net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply
(MetaMapper.scala:306)
at net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply
(MetaMapper.scala:298)
at net.liftweb.mapper.DB$.use(DB.scala:294)
at net.liftweb.mapper.MetaMapper$class.findMapFieldDb
(MetaMapper.scala:297)
at us.esme.model.User$.findMapFieldDb(User.scala:42)
at net.liftweb.mapper.MetaMapper$class.findMapDb(MetaMapper.scala:
293)
at us.esme.model.User$.findMapDb(User.scala:42)
at net.liftweb.mapper.MetaMapper$class.findAll(MetaMapper.scala:120)
at us.esme.model.User$.findAll(User.scala:42)
at us.esme.actor.Distributor$$anonfun$act$1$$anonfun$apply$1.apply
(Distributor.scala:43)
at us.esme.actor.Distributor$$anonfun$act$1$$anonfun$apply$1.apply
(Distributor.scala:40)
at scala.actors.Reaction.run(Reaction.scala:78)
at scala.actors.Scheduler$$anon$2.run(Scheduler.scala:77)
at scala.actors.FJTaskRunner.run(Unknown Source)
Caused by: java.sql.SQLException: Table/View 'USERS' does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException
(Unknown Source)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA
(Unknown Source)
... 32 more
ERROR - The ActorWatcher restarted
us.esme.comet.PublicTimeline@1b963c4 because
java.sql.SQLSyntaxErrorException: Table/View 'MESSAGE' does not exist.
java.sql.SQLSyntaxErrorException: Table/View 'MESSAGE' does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException
(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException
(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException
(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown
Source)
at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement
(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement
(Unknown Source)
at net.liftweb.mapper.DB$$anonfun$prepareStatement$1.apply(DB.scala:
267)
at net.liftweb.mapper.DB$$anonfun$prepareStatement$1.apply(DB.scala:
266)
at net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:242)
at net.liftweb.util.Helpers$.calcTime(Helpers.scala:29)
at net.liftweb.mapper.DB$.prepareStatement(DB.scala:266)
at net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply
(MetaMapper.scala:306)
at net.liftweb.mapper.MetaMapper$$anonfun$findMapFieldDb$1.apply
(MetaMapper.scala:298)
at net.liftweb.mapper.DB$.use(DB.scala:294)
at net.liftweb.mapper.MetaMapper$class.findMapFieldDb
(MetaMapper.scala:297)
at us.esme.model.Message$.findMapFieldDb(Message.scala:38)
at net.liftweb.mapper.MetaMapper$class.findMapDb(MetaMapper.scala:
293)
at us.esme.model.Message$.findMapDb(Message.scala:38)
at net.liftweb.mapper.MetaMapper$class.findAll(MetaMapper.scala:259)
at us.esme.model.Message$.findAll(Message.scala:38)
at us.esme.comet.PublicTimeline.localSetup(PublicTimeline.scala:43)
at net.liftweb.http.CometActor$$anonfun$_mediumPriority$1.apply
(CometActor.scala:231)
at net.liftweb.http.CometActor$$anonfun$_mediumPriority$1.apply
(CometActor.scala:204)
at scala.PartialFunction$$anon$1.apply(PartialFunction.scala:38)
at scala.PartialFunction$$anon$1.apply(PartialFunction.scala:37)
at scala.PartialFunction$$anon$1.apply(PartialFunction.scala:37)
at net.liftweb.http.CometActor$$anon$1$$anonfun$apply$4.apply
(CometActor.scala:167)
at net.liftweb.http.CometActor$$anon$1$$anonfun$apply$4.apply
(CometActor.scala:166)
at net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:390)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$
$anonfun$apply$14.apply(S.scala:445)
at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:364)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit
$1.apply(S.scala:443)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit(S.scala:
442)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19$$anonfun$apply
$20$$anonfun$apply$21.apply(S.scala:462)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19$$anonfun$apply
$20.apply(S.scala:461)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$17$$anonfun$apply$18$$anonfun$apply$19.apply(S.scala:
460)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$17$$anonfun$apply$18.apply(S.scala:459)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$
$anonfun$apply$17.apply(S.scala:458)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1.apply
(S.scala:457)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala:456)
at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$$anonfun
$apply$25$$anonfun$apply$26$$anonfun$apply$27.apply(S.scala:485)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$$anonfun
$apply$25$$anonfun$apply$26.apply(S.scala:484)
at net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply
$4$$anonfun$apply$5.apply(Vars.scala:141)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.RequestVarHandler$$anonfun$apply$3$$anonfun$apply
$4.apply(Vars.scala:140)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.RequestVarHandler$$anonfun$apply$3.apply
(Vars.scala:139)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.RequestVarHandler$.apply(Vars.scala:138)
at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24$$anonfun
$apply$25.apply(S.scala:483)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$24.apply
(S.scala:482)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$$anonfun$_init$1.apply(S.scala:481)
at net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:33)
at net.liftweb.http.S$._init(S.scala:480)
at net.liftweb.http.S$.init(S.scala:326)
at net.liftweb.http.S$.initIfUninitted(S.scala:592)
at net.liftweb.http.CometActor$$anon$1.apply(CometActor.scala:166)
at net.liftweb.http.CometActor$$anon$1.apply(CometActor.scala:164)
at scala.actors.Reaction.run(Reaction.scala:78)
at scala.actors.Scheduler$$anon$2.run(Scheduler.scala:77)
at scala.actors.FJTaskRunner.run(Unknown Source)
Caused by: java.sql.SQLException: Table/View 'MESSAGE' does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException
(Unknown Source)
at
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA
(Unknown Source)
... 78 more
INFO - Service request (GET) /esme-0.2.3-SNAPSHOT/ took 2301
Milliseconds"

Any comments which help to solve this problem?

Kind regards,

Daniel

David Pollak

unread,
Jan 5, 2009, 9:52:33 AM1/5/09
to lif...@googlegroups.com
Daniel,

It looks like there's a mis-match between the version of Scala and/or Lift that was used in compilation and the version that was deployed.  The abstract method issue is a flag for this sort of problem.

Did you build your WAR file from scratch or did you pull it down from the ESME Google code project?

Thanks,

David
--
Lift, the simply functional web framework http://liftweb.net
Collaborative Task Management http://much4.us
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp

Daniel Koller

unread,
Jan 5, 2009, 9:57:36 AM1/5/09
to lif...@googlegroups.com
David,

thx for your feedback. I took the version from Apache SVN,made that maven processing (which I hope takes the right versions of Scala/Lift) and created a WAR file (which I put then manually to a local Tomcat 6 install).

If it helps, I can publish the used WAR file.

Kind regards,

Daniel 
--
---
Daniel Koller
Jahnstrasse 20
80469 München * dako...@googlemail.com

David Pollak

unread,
Jan 5, 2009, 11:56:53 AM1/5/09
to lif...@googlegroups.com
Daniel,

Please CD into the esme/server directory.  Then type "svn update" to pull the latest from the subversion repository.  Then type "mvn -U clean install" (you should always do a clean install, and -U grabs the latest from the Maven repositories).  Finally type "mvn jetty:run"

Please let me know if that works.

Thanks,

David

Daniel Koller

unread,
Jan 5, 2009, 2:15:54 PM1/5/09
to lif...@googlegroups.com
David,

cleaning maven helped: now the Apache-SVN version compiles again and works!

Thanks for your help!

Kind regards,

Daniel

David Pollak

unread,
Jan 5, 2009, 2:57:31 PM1/5/09
to lif...@googlegroups.com
Daniel,

Sure thing.  mvn -U clean is my friend and I hope it becomes yours too. :-)

Thanks,

David
Reply all
Reply to author
Forward
0 new messages