I've added this info to the Jira ticket. Uday, if you want to add more
detail to the Jira ticket (or even submit a patch for the issue to the
ticket...), that would be great!

Ethan

On Thu, Feb 4, 2010 at 10:56 AM, Richard Hirsch <[email protected]> wrote:
> I just looked and if we want to use the StandardDBVendor we will have
> to rewrite the object DBVendor to use the StandardDBVendor.
>
> Here is a blog with details / examples:
> http://jgoday.wordpress.com/2009/12/25/lift-testing-with-dbunit-and-specs/
>
> This means it goes in the next release.
>
> D.
>
> On Thu, Feb 4, 2010 at 4:36 PM, Richard Hirsch <[email protected]> wrote:
>> sorry. That isn't going to work.
>>
>> We need to use the StandardDBVendor class first.
>>
>> On Thu, Feb 4, 2010 at 4:34 PM, Richard Hirsch <[email protected]> wrote:
>>> LiftRules.unloadHooks.append(() => dbVendor.closeAllConnections_!())
>>>
>>> "dbVendor" instead of "DBVendor"
>>> ---------------
>>> http://wiki.liftweb.net/index.php/FAQ
>>>
>>> How do I execute code when my application is unloaded?
>>>
>>> You can define methods to be called when Lift is unloaded via the
>>> LiftRules object in the Boot class.
>>>
>>> For example:
>>>
>>> def myUnloader(): Unit = {
>>>  // run when Lift is being unloaded
>>> }
>>>
>>> LiftRules.unloadHooks += myUnloader _
>>>
>>>
>>>
>>> On Thu, Feb 4, 2010 at 4:24 PM, Uday Subbarayan
>>> <[email protected]> wrote:
>>>> I am new to Scala. I need some time to make this work. I changed this line 
>>>> of code to,
>>>>
>>>> [WARNING] 
>>>> /home/uday/projects/M1/Prototype/esme/esme/trunk/server/src/main/scala/bootstrap/liftweb/Boot.scala:300:
>>>>  error: value closeAllConnections_! is not a member of object 
>>>> bootstrap.liftweb.DBVendor
>>>>
>>>> [WARNING]     LiftRules.unloadHooks.append(() => 
>>>> DBVendor.closeAllConnections_!())
>>>>                         ^
>>>> [WARNING] one error found
>>>>
>>>> & build FAILS.
>>>>
>>>> I put it under,
>>>>
>>>> def releaseConnection(conn: Connection): Unit = synchronized {
>>>>     pool = conn :: pool
>>>>     LiftRules.unloadHooks.append(() => DBVendor.closeAllConnections_!())
>>>>     notify
>>>>   }
>>>>
>>>> & NOT sure whether this is the right place too.
>>>>
>>>> Best,
>>>> Uday.
>>>> -------------------------
>>>>
>>>> I do not blog but e-write:
>>>>
>>>> http://uds-web.blogspot.com
>>>>
>>>> --- On Thu, 2/4/10, Richard Hirsch <[email protected]> wrote:
>>>>
>>>> From: Richard Hirsch <[email protected]>
>>>> Subject: Re: Tomcat/ESME: Shutdown Problems
>>>> To: [email protected]
>>>> Date: Thursday, February 4, 2010, 3:58 AM
>>>>
>>>> More ideas from the lift list:
>>>>
>>>> "You can also add to Boot.scala (given that the StandardDBVendor is
>>>> called dbVendor):
>>>>
>>>> LiftRules.unloadHooks.append(() => dbVendor.closeAllConnections_!())
>>>>
>>>> What this will do is close all the DB connections when the context is 
>>>> unloaded.
>>>>
>>>> Additionally, you can switch to H2 which is generally more stable than 
>>>> Derby
>>>> in my experience."
>>>>
>>>> Why don't you try adding the line above to Boot.scala to see if it helps.
>>>>
>>>> I've also added a Jira item to deal with the problem:
>>>> https://issues.apache.org/jira/browse/ESME-155
>>>>
>>>> D.
>>>>
>>>>
>>>>
>>>> On Wed, Feb 3, 2010 at 11:05 PM, Uday Subbarayan
>>>> <[email protected]> wrote:
>>>>> Tomcat didn't shutdown. I did kill -9 on the process.
>>>>>
>>>>> Uday.
>>>>>
>>>>> -------------------------
>>>>>
>>>>> I do not blog but e-write:
>>>>>
>>>>> http://uds-web.blogspot.com
>>>>>
>>>>> --- On Wed, 2/3/10, Richard Hirsch <[email protected]> wrote:
>>>>>
>>>>> From: Richard Hirsch <[email protected]>
>>>>> Subject: Re: Tomcat/ESME: Shutdown Problems
>>>>> To: [email protected]
>>>>> Date: Wednesday, February 3, 2010, 8:00 PM
>>>>>
>>>>> I got a comment back from David Pollack on the lift list:
>>>>>
>>>>> http://groups.google.com/group/liftweb/browse_thread/thread/bf498414b18d4226/4299ce36a03749f0?show_docid=4299ce36a03749f0
>>>>>
>>>>> Was the tomcat process really shutdown or did it hang and you had to kill 
>>>>> it.
>>>>>
>>>>> D.
>>>>>
>>>>> On Wed, Feb 3, 2010 at 8:41 PM, Richard Hirsch <[email protected]> 
>>>>> wrote:
>>>>>> No problem in jetty but I remember having problems on occasion with
>>>>>> derby and tomcat. If I remember correctly, I sometimes had problems
>>>>>> during hot deploys.
>>>>>>
>>>>>> D.
>>>>>>
>>>>>> On Wed, Feb 3, 2010 at 7:54 PM, Uday Subbarayan
>>>>>> <[email protected]> wrote:
>>>>>>> Thanks. Did you try to shutting down & starting your container with 
>>>>>>> ESME? Just want to make sure that it's not my local environment problem.
>>>>>>>
>>>>>>> Best,
>>>>>>> Uday.
>>>>>>>
>>>>>>> -------------------------
>>>>>>>
>>>>>>> I do not blog but e-write:
>>>>>>>
>>>>>>> http://uds-web.blogspot.com
>>>>>>>
>>>>>>> --- On Wed, 2/3/10, Richard Hirsch <[email protected]> wrote:
>>>>>>>
>>>>>>> From: Richard Hirsch <[email protected]>
>>>>>>> Subject: Re: Tomcat/ESME: Shutdown Problems
>>>>>>> To: [email protected]
>>>>>>> Date: Wednesday, February 3, 2010, 6:13 PM
>>>>>>>
>>>>>>> looks like a lift problem that might be occur when the container shuts 
>>>>>>> down..
>>>>>>>
>>>>>>> I just posted on the issue on the Lift Google Group. I'm hopeful that
>>>>>>> someone there has an idea.
>>>>>>>
>>>>>>> D.
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Feb 3, 2010 at 4:30 PM, Uday Subbarayan
>>>>>>> <[email protected]> wrote:
>>>>>>>> After I shutdown Tomcat, i see that there is lot's of stack trace in 
>>>>>>>> the log file. I also noticed that derby is not getting shutdown. Next 
>>>>>>>> time, when i restart Tomcat, ESME fails to load. I get all kinds of 
>>>>>>>> exception in the browser.
>>>>>>>>
>>>>>>>> Once i manually kill -9 on the java process then everything works 
>>>>>>>> fine.. Here is the (partial) stack trace from the log file. Yahoo 
>>>>>>>> email is not allowing me to post full stack.
>>>>>>>>
>>>>>>>> Best,
>>>>>>>> Uday.
>>>>>>>>
>>>>>>>> ================
>>>>>>>> SEVERE:
>>>>>>>> A web application created a ThreadLocal with key of type
>>>>>>>> [java.lang.ThreadLocal] (value [java.lang.threadlo...@13f79f7]) and a
>>>>>>>> value of type [org.apache.derby.iapi.services.context.ContextManager]
>>>>>>>> (value [org.apache.derby.iapi.services.context.contextmana...@b52a28])
>>>>>>>> but failed to remove it when the web application was stopped. To
>>>>>>>> prevent a memory leak, the ThreadLocal has been forcibly removed.
>>>>>>>> Feb 3, 2010 7:04:57 AM
>>>>>>>>  org.apache.coyote.http11.Http11Protocol destroy
>>>>>>>> INFO: Stopping Coyote HTTP/1.1 on http-8080
>>>>>>>> Exception in thread "pool-2-thread-14" java.lang.NullPointerException
>>>>>>>>     at scala.runtime.BoxesRunTime.boxToLong(Unknown Source)
>>>>>>>>     at 
>>>>>>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery$1.apply(S.scala:972)
>>>>>>>>     at 
>>>>>>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$wrapQuery$1.apply(S.scala:972)
>>>>>>>>     at scala.List.foreach(List.scala:841)
>>>>>>>>     at net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:972)
>>>>>>>>     at 
>>>>>>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$$anonfun$apply$25.apply(S.scala:1109)
>>>>>>>>     at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:906)
>>>>>>>>     at 
>>>>>>>> net.liftweb.http.S$$anonfun$net$liftweb$http$S$$doAround$1..apply(S.scala:907)
>>>>>>>>     at
>>>>>>>>  net.liftweb.mapper.MetaProtoExtendedSession$myWrapper$.apply(ProtoExtendedSession.scala:80)
>>>>>>>>     at net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:907)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>

Reply via email to