Quantcast

free Grails Book on infoq

classic Classic list List threaded Threaded
31 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: 答复: [grails-user] free Grails Book on infoq

Simon Chappell
When trying to buy this book through Lulu.com, it is now marked as
unavailable. Is there any plan to sell it in dead tree format? I'm
working my way through the PDF and am finding it useful enough that
I'd like to buy a copy by way of encouragement for the author. :-)

Simon

--
simonpeter.org | simonpeter.com | techbook.info

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: 答复: [grails-user] free Grails Book on infoq

Jason Rudolph
Thanks, Simon.  The book should be available at Lulu as both a download and in traditional printed form.  I'm told that Lulu is having some problems right now, and that those problems should be resolved by Tuesday.  (The book should also make its way to Amazon within a month or so.)

Cheers,
Jason


On Jan 28, 2007, at 7:45 PM, Simon Chappell wrote:

When trying to buy this book through Lulu.com, it is now marked as
unavailable. Is there any plan to sell it in dead tree format? I'm
working my way through the PDF and am finding it useful enough that
I'd like to buy a copy by way of encouragement for the author. :-)

Simon

-- 
simonpeter.org | simonpeter.com | techbook.info

---------------------------------------------------------------------
To unsubscribe from this list please visit:




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: 答复: [grails-user] free Grails Book on infoq

Simon Chappell
Thanks. I'll check back during the week.

On 1/28/07, Jason Rudolph <[hidden email]> wrote:

> Thanks, Simon.  The book should be available at Lulu as both a download and
> in traditional printed form.  I'm told that Lulu is having some problems
> right now, and that those problems should be resolved by Tuesday.  (The book
> should also make its way to Amazon within a month or so.)
>
> Cheers,
> Jason
>
>
>
> On Jan 28, 2007, at 7:45 PM, Simon Chappell wrote:
>
> When trying to buy this book through Lulu.com, it is now marked as
> unavailable. Is there any plan to sell it in dead tree format? I'm
> working my way through the PDF and am finding it useful enough that
> I'd like to buy a copy by way of encouragement for the author. :-)
>
> Simon
>
> --
> simonpeter.org | simonpeter.com | techbook.info
>
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>
>


--
simonpeter.org | simonpeter.com | techbook.info

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Restarting server rendered old race objects not updatable. was Re: [grails-user] Re: 答复: [grails-user] free Grails Book on infoq

Jason Rudolph
In reply to this post by Bing Ran
Hi Bing,
I'm glad to hear you found a workaround for this issue.  

I walked through the steps you described using the latest Grails 0.4 snapshot on Windows XP with JDK 1.4.2_13; however, I was unable to reproduce the problem.  After generating the scaffolding, I was able to successfully edit both pre-existing races and new races.  The Grails team has been pretty busy on Grails 0.4 lately, so perhaps one  of the recent changes resolved the issue you were seeing.  Would you like to try to latest Grails 0.4 snapshot to see if it fixes the problem for you?

Thanks,
Jason 


On Jan 25, 2007, at 1:24 AM, Bing Ran wrote:

Hi Jason,

 

I finally manage to find a little time to verify that with other Oracle this time. Basically I have used "generate-controller" and "generate-view" on both the Race and Registration. The problem was associated with the registrations property of the Race class. I clicked on "Edit" button on the "Show Race" page to edit a race and clicked the "Update" button to get the error. The error only showed up for the "old" race object that had been created before the web server restart. New races created since the restart are ok.

 

I can work around this issue by touching the registrations property before save the race object, as shown in the RaceController.groovy:

    def update = {

        def race = Race.get( params.id )

        if(race) {

            race.properties = params

 

////// touch the registrations property to work around the save() failure on old race objects

//            System.out.println("race registrations: ${race.registrations.size()}----")

//////

            if(race.save()) {

              redirect(action:show,id:race.id)

            }

            else {

                render(view:'edit',model:[race:race])

            }

        }

        else {

            flash.message = "Race not found with id ${params.id}"

            redirect(action:edit,id:params.id)

        }

    }

 

I attach the exception here:

 

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Race.registrations, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:681) at gjdk.org.hibernate.collection.PersistentSet_GroovyReflector.invoke(Unknown Source) at

groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:109) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePojoMethod(Invoker.java:129) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:117) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodNSafe(ScriptBytecodeAdapter.java:195) at race_edit_gsp$_run_closure4.doCall(edit.gsp:85) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:97) at race_edit_gsp$_run_closure4.doCall(edit.gsp) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:140) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:121) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:626) at FormTagLib$_closure6.doCall(FormTagLib:145) at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at groovy.lang.Closure.call(Closure.java:188) at org.codehaus.groovy.grails.web.pages.GroovyPage.invokeTag(GroovyPage.java:200) at gjdk.race_edit_gsp_GroovyReflector.invoke(Unknown Source) at groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:97) at race_edit_gsp.run(edit.gsp:128) at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine$GroovyPageTemplateWritable.writeTo(GroovyPagesTemplateEngine.java:418) at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doPage(GroovyPagesServlet.java:154) at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doPost(GroovyPagesServlet.java:116) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473) at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:280) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:171) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:112) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:249) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:827) at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:84) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:736) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:170) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:53) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1565) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:635) at org.mortbay.http.HttpContext.handle(HttpContext.java:1517) at org.mortbay.http.HttpServer.service(HttpServer.java:954) at org.mortbay.http.HttpConnection.service(HttpConnection.java:816) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:983) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

 

-----邮件原件-----
发件人: Jason Rudolph [[hidden email]]
发送时间: 2007年1月23 9:13
收件人: [hidden email]
主题: [grails-user] Re: 答复: [grails-user] free Grails Book on infoq

 

Hi Bing,

Thanks for reporting this issue.  You're probably the first person to 

test this app out on Grails 0.4 + JDK 6 + XP.  (The sample app is 

known to work using Grails 0.3.1 and JDK 5 on OS X and XP.)  Can you 

tell me where you are in the book, and I'll give it a try with the 

current Grails 0.4 snapshot.

 

Also, if you have a moment, can you please list the exact steps you 

followed to get the error?  For example...

 

1.  Start app

2.  Create new race

3.  Add registration

...and so on

 

That level of detail would be greatly appreciated.

 

As a side note, I'll be verifying that this app works against 0.4 

when we get ready for the official 0.4 release.  So, any issues that 

you can find like this in advance are much appreciated.

 

Cheers,

Jason

 

 

 

 

On Jan 22, 2007, at 12:55 AM, Bing Ran wrote:

 

> Thanks for the free online book!

> 

> I was following the book and I got an error when editing a Race 

> object that

> has a couple of registrations.

> 

> Message: failed to lazily initialize a collection of role:

> Race.registrations, no session or session was closed

> Class: edit.gsp

> At Line: [67]

> 

> The funny thing is that once I restarted the jetty server, it always

> complained that there was no session available to instantiate the lazy

> registrations property. This does not happen if I had kept the server

> running in the same session as I have created the race and added new

> registrations.

> 

> Here is my config:

> 

> Latest trunk from Grails + Embedded db + jdk1.6 + XP

> 

> Any idea why this is happening?

> 

> Thanks

>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Restarting server rendered old race objects not updatable. was Re: [grails-user] Re: 答复: [grails-user] free Grails Book on infoq

Bing Ran

Thanks for the response, Jason.

 

I think I was using a snapshot on one of the later days in last week. I’ll revisit this issue a while later and play with the latest trunk and perhaps different JDK etc. (I was using jdk6, so it could be a hibernate issue with the JDK) to see if the problem still pops up.

 

Keep up the nice work.

 

Bing

 

 


发件人: Jason Rudolph [mailto:[hidden email]]
发送时间: 2007年1月29 10:22
收件人: [hidden email]
主题: Re: [grails-user] Restarting server rendered old race objects not updatable. was Re: [grails-user] Re: 答复: [grails-user] free Grails Book on infoq

 

Hi Bing,

I'm glad to hear you found a workaround for this issue.聽聽

 

I walked through the steps you described using the latest Grails 0.4 snapshot on Windows XP with JDK1.4.2_13; however, I was unable to reproduce the problem. After generating the scaffolding, I was able to successfully edit both pre-existing races and new races. The Grails team has been pretty busy on Grails 0.4 lately, so perhaps one of the recent changes resolved the issue you were seeing. Would you like to try to latest Grails 0.4 snapshot to see if it fixes the problem for you?

 

Thanks,

Jason

 

 

On Jan 25, 2007, at 1:24 AM, Bing Ran wrote:



Hi Jason,

I finally manage to find a little time to verify that with other Oracle this time. Basically I have used "generate-controller" and "generate-view" on both the Race and Registration. The problem was associated with the registrations property of the Race class. I clicked on "Edit" button on the "Show Race" page to edit a race and clicked the "Update" button to get the error. The error only showed up for the "old" race object that had been created before the web server restart. New races created since the restart are ok.

I can work around this issue by ?/SPAN>touching?/SPAN> the registrations property before save the race object, as shown in the RaceController.groovy:

聽聽聽 def update = {

聽聽聽聽聽聽聽 def race = Race.get( params.id )

聽聽聽聽聽聽聽 if(race) {

聽聽聽聽聽聽聽聽聽聽聽 race.properties = params

////// touch the registrations property to work around the save() failure on ?/SPAN>old?/SPAN> race objects

//聽聽聽聽聽聽聽聽聽聽聽 System.out.println("race registrations: ${race.registrations.size()}----")

//////

聽聽聽聽聽聽聽聽聽聽聽 if(race.save()) {

聽聽聽聽聽聽聽聽聽聽聽 聽 redirect(action:show,id:race.id)

聽聽聽聽聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽聽聽聽聽 else {

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 render(view:'edit',model:[race:race])

聽聽聽聽聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽 }

聽聽聽聽聽聽聽 else {

聽聽聽聽聽聽聽聽聽聽聽 flash.message = "Race not found with id ${params.id}"

聽聽聽聽聽聽聽聽聽聽聽 redirect(action:edit,id:params.id)

聽聽聽聽聽聽聽 }

聽聽聽 }

I attach the exception here:

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Race.registrations, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:681) at gjdk.org.hibernate.collection.PersistentSet_GroovyReflector.invoke(Unknown Source) at

groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:109) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePojoMethod(Invoker.java:129) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:117) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodNSafe(ScriptBytecodeAdapter.java:195) at race_edit_gsp$_run_closure4.doCall(edit.gsp:85) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:97) at race_edit_gsp$_run_closure4.doCall(edit.gsp) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:140) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:121) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:626) at FormTagLib$_closure6.doCall(FormTagLib:145) at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at groovy.lang.Closure.call(Closure.java:188) at org.codehaus.groovy.grails.web.pages.GroovyPage.invokeTag(GroovyPage.java:200) at gjdk.race_edit_gsp_GroovyReflector.invoke(Unknown Source) at groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:97) at race_edit_gsp.run(edit.gsp:128) at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine$GroovyPageTemplateWritable.writeTo(GroovyPagesTemplateEngine.java:418) at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doPage(GroovyPagesServlet.java:154) at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doPost(GroovyPagesServlet.java:116) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473) at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:280) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:171) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:112) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:249) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:827) at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:84) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:736) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:170) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:53) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1565) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:635) at org.mortbay.http.HttpContext.handle(HttpContext.java:1517) at org.mortbay.http.HttpServer.service(HttpServer.java:954) at org.mortbay.http.HttpConnection.service(HttpConnection.java:816) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:983) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

-----欢鍘熶欢-----
鍙戜欢浜?/SPAN>: Jason Rudolph [[hidden email]]
鍙戦€佹椂闂?/SPAN>: 2007??3?/SPAN> 9:13
鏀朵欢浜?/SPAN>: [hidden email]
涓婚: [grails-user] Re: 绛斿: [grails-user] free Grails Book on infoq

Hi Bing,

Thanks for reporting this issue. You're probably the first person to

test this app out on Grails 0.4 + JDK 6 + XP.Threaded

Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Restarting server rendered old race objects not updatable. was Re: [grails-user] Re: 答复: [grails-user] free Grails Book on infoq

Jason Rudolph
In reply to this post by Jason Rudolph
Hi Bing,
I think I found the issue you encountered.  The trick (at least for the problem I'm seeing) is that your changes to the existing record need to violate the constraints.  Then, when you click Update, you get the error saying "failed to lazily initialize a collection of role: Race.registrations, no session or session was closed."  You can see the details in GRAILS-674. 


Does this look like the same issue to you?

Thanks,
Jason


On Jan 28, 2007, at 9:21 PM, Jason Rudolph wrote:

Hi Bing,
I'm glad to hear you found a workaround for this issue.  

I walked through the steps you described using the latest Grails 0.4 snapshot on Windows XP with JDK 1.4.2_13; however, I was unable to reproduce the problem.  After generating the scaffolding, I was able to successfully edit both pre-existing races and new races.  The Grails team has been pretty busy on Grails 0.4 lately, so perhaps one  of the recent changes resolved the issue you were seeing.  Would you like to try to latest Grails 0.4 snapshot to see if it fixes the problem for you?

Thanks,
Jason 


On Jan 25, 2007, at 1:24 AM, Bing Ran wrote:

Hi Jason,

 

I finally manage to find a little time to verify that with other Oracle this time. Basically I have used "generate-controller" and "generate-view" on both the Race and Registration. The problem was associated with the registrations property of the Race class. I clicked on "Edit" button on the "Show Race" page to edit a race and clicked the "Update" button to get the error. The error only showed up for the "old" race object that had been created before the web server restart. New races created since the restart are ok.

 

I can work around this issue by touching the registrations property before save the race object, as shown in the RaceController.groovy:

    def update = {

        def race = Race.get( params.id )

        if(race) {

            race.properties = params

 

////// touch the registrations property to work around the save() failure on old race objects

//            System.out.println("race registrations: ${race.registrations.size()}----")

//////

            if(race.save()) {

              redirect(action:show,id:race.id)

            }

            else {

                render(view:'edit',model:[race:race])

            }

        }

        else {

            flash.message = "Race not found with id ${params.id}"

            redirect(action:edit,id:params.id)

        }

    }

 

I attach the exception here:

 

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Race.registrations, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:681) at gjdk.org.hibernate.collection.PersistentSet_GroovyReflector.invoke(Unknown Source) at

groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:109) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePojoMethod(Invoker.java:129) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:117) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodNSafe(ScriptBytecodeAdapter.java:195) at race_edit_gsp$_run_closure4.doCall(edit.gsp:85) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:97) at race_edit_gsp$_run_closure4.doCall(edit.gsp) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:140) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:121) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:626) at FormTagLib$_closure6.doCall(FormTagLib:145) at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at groovy.lang.Closure.call(Closure.java:188) at org.codehaus.groovy.grails.web.pages.GroovyPage.invokeTag(GroovyPage.java:200) at gjdk.race_edit_gsp_GroovyReflector.invoke(Unknown Source) at groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:97) at race_edit_gsp.run(edit.gsp:128) at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine$GroovyPageTemplateWritable.writeTo(GroovyPagesTemplateEngine.java:418) at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doPage(GroovyPagesServlet.java:154) at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doPost(GroovyPagesServlet.java:116) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473) at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:280) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:171) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:112) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:249) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:827) at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:84) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:736) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:170) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:53) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1565) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:635) at org.mortbay.http.HttpContext.handle(HttpContext.java:1517) at org.mortbay.http.HttpServer.service(HttpServer.java:954) at org.mortbay.http.HttpConnection.service(HttpConnection.java:816) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:983) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

 

-----邮件原件-----
发件人: Jason Rudolph [[hidden email]]
发送时间: 2007年1月23 9:13
收件人: [hidden email]
主题: [grails-user] Re: 答复: [grails-user] free Grails Book on infoq

 

Hi Bing,

Thanks for reporting this issue.  You're probably the first person to 

test this app out on Grails 0.4 + JDK 6 + XP.  (The sample app is 

known to work using Grails 0.3.1 and JDK 5 on OS X and XP.)  Can you 

tell me where you are in the book, and I'll give it a try with the 

current Grails 0.4 snapshot.

 

Also, if you have a moment, can you please list the exact steps you 

followed to get the error?  For example...

 

1.  Start app

2.  Create new race

3.  Add registration

...and so on

 

That level of detail would be greatly appreciated.

 

As a side note, I'll be verifying that this app works against 0.4 

when we get ready for the official 0.4 release.  So, any issues that 

you can find like this in advance are much appreciated.

 

Cheers,

Jason

 

 

 

 

On Jan 22, 2007, at 12:55 AM, Bing Ran wrote:

 

> Thanks for the free online book!

> 

> I was following the book and I got an error when editing a Race 

> object that

> has a couple of registrations.

> 

> Message: failed to lazily initialize a collection of role:

> Race.registrations, no session or session was closed

> Class: edit.gsp

> At Line: [67]

> 

> The funny thing is that once I restarted the jetty server, it always

> complained that there was no session available to instantiate the lazy

> registrations property. This does not happen if I had kept the server

> running in the same session as I have created the race and added new

> registrations.

> 

> Here is my config:

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

RE: Restarting server rendered old race objects not updatable. was Re: [grails-user] Re: 答复: [grails-user] free Grails Book on infoq

Bing Ran

Jason,

 

I think it’s a related but not the same issue. I just reproduced the error reported in the jira. My issue is more on the old vs. new Race objects. I cannot edit “old” races whatever way. I don’t need to void the name field of old races to see otherwise the same error.

 

Bing

 

 


From: Jason Rudolph [mailto:[hidden email]]
Sent: Monday, January 29, 2007 10:57 AM
To: [hidden email]
Subject: Re: [grails-user] Restarting server rendered old race objects not updatable. was Re: [grails-user] Re:
答复: [grails-user] free Grails Book on infoq

 

Hi Bing,

I think I found the issue you encountered.  The trick (at least for the problem I'm seeing) is that your changes to the existing record need to violate the constraints.  Then, when you click Update, you get the error saying "failed to lazily initialize a collection of role: Race.registrations, no session or session was closed."  You can see the details in GRAILS-674. 

 

 

Does this look like the same issue to you?

 

Thanks,

Jason

 

 

On Jan 28, 2007, at 9:21 PM, Jason Rudolph wrote:



Hi Bing,

I'm glad to hear you found a workaround for this issue.  

 

I walked through the steps you described using the latest Grails 0.4 snapshot on Windows XP with JDK 1.4.2_13; however, I was unable to reproduce the problem.  After generating the scaffolding, I was able to successfully edit both pre-existing races and new races.  The Grails team has been pretty busy on Grails 0.4 lately, so perhaps one  of the recent changes resolved the issue you were seeing.  Would you like to try to latest Grails 0.4 snapshot to see if it fixes the problem for you?

 

Thanks,

Jason 

 

 

On Jan 25, 2007, at 1:24 AM, Bing Ran wrote:



Hi Jason,

 

I finally manage to find a little time to verify that with other Oracle this time. Basically I have used "generate-controller" and "generate-view" on both the Race and Registration. The problem was associated with the registrations property of the Race class. I clicked on "Edit" button on the "Show Race" page to edit a race and clicked the "Update" button to get the error. The error only showed up for the "old" race object that had been created before the web server restart. New races created since the restart are ok.

 

I can work around this issue by touching the registrations property before save the race object, as shown in the RaceController.groovy:

    def update = {

        def race = Race.get( params.id )

        if(race) {

            race.properties = params

 

////// touch the registrations property to work around the save() failure on old race objects

//            System.out.println("race registrations: ${race.registrations.size()}----")

//////

            if(race.save()) {

              redirect(action:show,id:race.id)

            }

            else {

                render(view:'edit',model:[race:race])

            }

        }

        else {

            flash.message = "Race not found with id ${params.id}"

            redirect(action:edit,id:params.id)

        }

    }

 

I attach the exception here:

 

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Race.registrations, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:681) at gjdk.org.hibernate.collection.PersistentSet_GroovyReflector.invoke(Unknown Source) at

groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:109) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePojoMethod(Invoker.java:129) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:117) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodNSafe(ScriptBytecodeAdapter.java:195) at race_edit_gsp$_run_closure4.doCall(edit.gsp:85) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:97) at race_edit_gsp$_run_closure4.doCall(edit.gsp) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:140) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:121) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:626) at FormTagLib$_closure6.doCall(FormTagLib:145) at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at groovy.lang.Closure.call(Closure.java:188) at org.codehaus.groovy.grails.web.pages.GroovyPage.invokeTag(GroovyPage.java:200) at gjdk.race_edit_gsp_GroovyReflector.invoke(Unknown Source) at groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:97) at race_edit_gsp.run(edit.gsp:128) at org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine$GroovyPageTemplateWritable.writeTo(GroovyPagesTemplateEngine.java:418) at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doPage(GroovyPagesServlet.java:154) at org.codehaus.groovy.grails.web.pages.GroovyPagesServlet.doPost(GroovyPagesServlet.java:116) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473) at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:280) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:171) at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:112) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:249) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1063) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:827) at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:84) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:736) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830) at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:170) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:53) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1565) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:635) at org.mortbay.http.HttpContext.handle(HttpContext.java:1517) at org.mortbay.http.HttpServer.service(HttpServer.java:954) at org.mortbay.http.HttpConnection.service(HttpConnection.java:816) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:983) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

 

-----邮件原件-----
发件人: Jason Rudolph [[hidden email]]
发送时间: 2007年1月23 9:13
收件人: [hidden email]
主题: [grails-user] Re: 答复: [grails-user] free Grails Book on infoq

 

Hi Bing,

Thanks for reporting this issue.  You're probably the first person to 

test this app out on Grails 0.4 + JDK 6 + XP.  (The sample app is 

known to work using Grails 0.3.1 and JDK 5 on OS X and XP.)  Can you 

tell me where you are in the book, and I'll give it a try with the 

current Grails 0.4 snapshot.

 

Also, if you have a moment, can you please list the exact steps you 

followed to get the error?  For example...

 

1.  Start app

2.  Create new race

3.  Add registration

...and so on

 

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: 答复: [grails-user] free Grails Book on infoq

Jason Rudolph
In reply to this post by Jason Rudolph
Hi Simon,
The problem at Lulu has now been resolved.


Thanks for your patience.  Please let me know if you run into any issues.

Cheers,
Jason


On Jan 28, 2007, at 8:20 PM, Jason Rudolph wrote:

Thanks, Simon.  The book should be available at Lulu as both a download and in traditional printed form.  I'm told that Lulu is having some problems right now, and that those problems should be resolved by Tuesday.  (The book should also make its way to Amazon within a month or so.)

Cheers,
Jason


On Jan 28, 2007, at 7:45 PM, Simon Chappell wrote:

When trying to buy this book through Lulu.com, it is now marked as
unavailable. Is there any plan to sell it in dead tree format? I'm
working my way through the PDF and am finding it useful enough that
I'd like to buy a copy by way of encouragement for the author. :-)

Simon

-- 
simonpeter.org | simonpeter.com | techbook.info

---------------------------------------------------------------------
To unsubscribe from this list please visit:





Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: 答复: [grails-user] free Grails Book on infoq

Simon Chappell
On 1/29/07, Jason Rudolph <[hidden email]> wrote:

>
> Hi Simon,
> The problem at Lulu has now been resolved.
>
> http://www.lulu.com/content/618462
>
> Thanks for your patience.  Please let me know if you run into any issues.
>
> Cheers,
> Jason

The order has been placed. The bone-headed newbie questions will start soon. :-)

Simon

--
simonpeter.org | simonpeter.com | techbook.info

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Restarting server rendered old race objects not updatable. was Re: [grails-user] Re: 答复: [grails-user] free Grails Book on infoq

Jason Rudolph
In reply to this post by Bing Ran
Hi Bing,
Can you give it a try using the official Grails 0.4 release?  Graeme kindly resolved a few issues related to lazy initialization of child objects, and there's a good chance the issue you're seeing has been resolved.  Please let us know what you find out.

Thanks,
Jason



On Jan 28, 2007, at 10:13 PM, Bing Ran wrote:

Jason,

 

I think it’s a related but not the same issue. I just reproduced the error reported in the jira. My issue is more on the old vs. new Race objects. I cannot edit “old” races whatever way. I don’t need to void the name field of old races to see otherwise the same error.

 

Bing

 

 


From: Jason Rudolph [[hidden email]]
Sent: Monday, January 29, 2007 10:57 AM
To: [hidden email]
Subject: Re: [grails-user] Restarting server rendered old race objects not updatable. was Re: [grails-user] Re:
答复: [grails-user] free Grails Book on infoq

 

Hi Bing,

I think I found the issue you encountered.  The trick (at least for the problem I'm seeing) is that your changes to the existing record need to violate the constraints.  Then, when you click Update, you get the error saying "failed to lazily initialize a collection of role: Race.registrations, no session or session was closed."  You can see the details in GRAILS-674. 

 

 

Does this look like the same issue to you?

 

Thanks,

Jason

 

 

On Jan 28, 2007, at 9:21 PM, Jason Rudolph wrote:



Hi Bing,

I'm glad to hear you found a workaround for this issue.  

 

I walked through the steps you described using the latest Grails 0.4 snapshot on Windows XP with JDK 1.4.2_13; however, I was unable to reproduce the problem.  After generating the scaffolding, I was able to successfully edit both pre-existing races and new races.  The Grails team has been pretty busy on Grails 0.4 lately, so perhaps one  of the recent changes resolved the issue you were seeing.  Would you like to try to latest Grails 0.4 snapshot to see if it fixes the problem for you?

 

Thanks,

Jason 

 

 

On Jan 25, 2007, at 1:24 AM, Bing Ran wrote:



Hi Jason,

 

I finally manage to find a little time to verify that with other Oracle this time. Basically I have used "generate-controller" and "generate-view" on both the Race and Registration. The problem was associated with the registrations property of the Race class. I clicked on "Edit" button on the "Show Race" page to edit a race and clicked the "Update" button to get the error. The error only showed up for the "old" race object that had been created before the web server restart. New races created since the restart are ok.

 

I can work around this issue by touching the registrations property before save the race object, as shown in the RaceController.groovy:

    def update = {

        def race = Race.get( params.id )

        if(race) {

            race.properties = params

 

////// touch the registrations property to work around the save() failure on old race objects

//            System.out.println("race registrations: ${race.registrations.size()}----")

//////

            if(race.save()) {

              redirect(action:show,id:race.id)

            }

            else {

                render(view:'edit',model:[race:race])

            }

        }

        else {

            flash.message = "Race not found with id ${params.id}"

            redirect(action:edit,id:params.id)

        }

    }

 

I attach the exception here:

 

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Race.registrations, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:681) at gjdk.org.hibernate.collection.PersistentSet_GroovyReflector.invoke(Unknown Source) at

groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:109) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePojoMethod(Invoker.java:129) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:117) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodNSafe(ScriptBytecodeAdapter.java:195) at race_edit_gsp$_run_closure4.doCall(edit.gsp:85) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:97) at race_edit_gsp$_run_closure4.doCall(edit.gsp) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:140) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:121) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeClosure(ScriptBytecodeAdapter.java:626) at FormTagLib$_closure6.doCall(FormTagLib:145) at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at groovy.lang.Closure.call(Closure.java:188) at org.codehaus.groovy.grails.web.pages.GroovyPage.invokeTag(GroovyPage.java:200) at gjdk.race_edit_gsp_GroovyReflector.invoke(Unknown Source) at groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

RE: Restarting server rendered old race objects not updatable. was Re: [grails-user] Re: 答复: [grails-user] free Grails Book on infoq

Bing Ran

Jason and Graeme

 

Let me join the other to congratulate Grails team on the 0.4 release.  Of course the bug I reported about losing session in accessing nested objects has been fixed, as I have just verified that with the SVN trunk with jdk6 on XP.

 

My sample app takes about <10 secs to restart (T60 machine), a big improvement from my previous experience with 0.4 snapshot.

 

Keep it coming!

 

 

Bing

 

 


From: Jason Rudolph [mailto:[hidden email]]
Sent: Thursday, February 01, 2007 8:39 AM
To: [hidden email]
Subject: Re: [grails-user] Restarting server rendered old race objects not updatable. was Re: [grails-user] Re:
答复: [grails-user] free Grails Book on infoq

 

Hi Bing,

Can you give it a try using the official Grails 0.4 release?  Graeme kindly resolved a few issues related to lazy initialization of child objects, and there's a good chance the issue you're seeing has been resolved.  Please let us know what you find out.

 

Thanks,

Jason

 

 

 

On Jan 28, 2007, at 10:13 PM, Bing Ran wrote:



Jason,

 

I think it’s a related but not the same issue. I just reproduced the error reported in the jira. My issue is more on the old vs. new Race objects. I cannot edit “old” races whatever way. I don’t need to void the name field of old races to see otherwise the same error.

 

Bing

 

 


From: Jason Rudolph [[hidden email]]
Sent: Monday, January 29, 2007 10:57 AM
To: [hidden email]
Subject: Re: [grails-user] Restarting server rendered old race objects not updatable. was Re: [grails-user] Re:
答复: [grails-user] free Grails Book on infoq

 

Hi Bing,

I think I found the issue you encountered.  The trick (at least for the problem I'm seeing) is that your changes to the existing record need to violate the constraints.  Then, when you click Update, you get the error saying "failed to lazily initialize a collection of role: Race.registrations, no session or session was closed."  You can see the details in GRAILS-674. 

 

 

Does this look like the same issue to you?

 

Thanks,

Jason

 

 

On Jan 28, 2007, at 9:21 PM, Jason Rudolph wrote:




Hi Bing,

I'm glad to hear you found a workaround for this issue.  

 

I walked through the steps you described using the latest Grails 0.4 snapshot on Windows XP with JDK 1.4.2_13; however, I was unable to reproduce the problem.  After generating the scaffolding, I was able to successfully edit both pre-existing races and new races.  The Grails team has been pretty busy on Grails 0.4 lately, so perhaps one  of the recent changes resolved the issue you were seeing.  Would you like to try to latest Grails 0.4 snapshot to see if it fixes the problem for you?

 

Thanks,

Jason 

 

 

On Jan 25, 2007, at 1:24 AM, Bing Ran wrote:




Hi Jason,

 

I finally manage to find a little time to verify that with other Oracle this time. Basically I have used "generate-controller" and "generate-view" on both the Race and Registration. The problem was associated with the registrations property of the Race class. I clicked on "Edit" button on the "Show Race" page to edit a race and clicked the "Update" button to get the error. The error only showed up for the "old" race object that had been created before the web server restart. New races created since the restart are ok.

 

I can work around this issue by touching the registrations property before save the race object, as shown in the RaceController.groovy:

    def update = {

        def race = Race.get( params.id )

        if(race) {

            race.properties = params

 

////// touch the registrations property to work around the save() failure on old race objects

//            System.out.println("race registrations: ${race.registrations.size()}----")

//////

            if(race.save()) {

              redirect(action:show,id:race.id)

            }

            else {

                render(view:'edit',model:[race:race])

            }

        }

        else {

            flash.message = "Race not found with id ${params.id}"

            redirect(action:edit,id:params.id)

        }

    }

 

I attach the exception here:

 

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Race.registrations, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163) at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:681) at gjdk.org.hibernate.collection.PersistentSet_GroovyReflector.invoke(Unknown Source) at

groovy.lang.MetaMethod.invoke(MetaMethod.java:115) at org.codehaus.groovy.runtime.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:109) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePojoMethod(Invoker.java:129) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:117) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:187) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodNSafe(ScriptBytecodeAdapter.java:195) at race_edit_gsp$_run_closure4.doCall(edit.gsp:85) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:97) at race_edit_gsp$_run_closure4.doCall(edit.gsp) 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.groovy.runtime.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:69) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:713) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:559) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:449) at org.codehaus.groovy.runtime.Invoker.invokePogoMethod(Invoker.java:140) at org.codehaus.groovy.runtime.Invoker.invokeMethod(Invoker.java:121) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:111) at org.codehaus

12
Loading...