Tested with glassfish-v3-prelude-b28a-10_10_2008.zip

Summary:
1. verified 6442 in full war and shared war.
see remaining error in Appendix A, e.g.
"error in class reloading, using NOPLoggerRepository".

2. verified 6459 in full war.   For shared war,
I can't create a book due to another error in Appendix B, e.g.
java.lang.IllegalStateException: BeanFactory not initialized or already closed

3. When testing, full war, shared war, then full war,
see memory error in Appendix C.
Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps;
nested exception is org.codehaus.groovy.runtime.InvokerInvocationException:
java.lang.OutOfMemoryError: PermGen space

Test steps:
I. In full war (created by "grails war").
% cd /home/sherrys/public_html/tests/web/v3/scripting/b28/full
% asadmin deploy BookLibrary-0.1.war
  -- create book 1
% asadmin undeploy BookLibrary-0.1
   -- not exception as before from the server.log enclosed in Appendix A.
   -- verified the fix for https://glassfish.dev.java.net/issues/show_bug.cgi?id=6442
   --Any idea about
    log4j:ERROR LogMananger.repositorySelector was null likely due to error
        in class reloading, using NOPLoggerRepository.
% asadmin deploy BookLibrary-0.1.war
   -- create book 2
   -- Why I can still view book 1.
   -- verified the fix for https://glassfish.dev.java.net/issues/show_bug.cgi?id=6459
% asadmin undeploy BookLibrary-0.1

II  Test shared war (created by "grails shared-war").
% cd ../shared
%  asadmin deploy --libraries glassfish-grails.jar BookLibrary-0.1.war
see error in [#|2008-10-10T11:38:50.315-0700|SEVERE|glassfish|
javax.enterprise.system.container.web|
_ThreadID=15;_ThreadName=Thread-3;|WebModule[/BookLibrary-0.1]
PWC1257: Error configuring application listener of class org.springframework.web.util.Log4jConfigListener
java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener
        at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1509)
  -- expected since grails is not installed for the references in glassfish-grails.jar
  -- install grails with grails.zip in
     http://javaweb.sfbay.sun.com/~sherrys/tests/web/v3/scripting/b28/shared/
% asadmin undeploy BookLibrary-0.1
% asadmin deploy --libraries ~/grails/lib/glassfish-grails.jar BookLibrary-0.1.war
  -- create book 3, OK
  -- did not see book 1 and book 2 now.
% asadmin undeploy BookLibrary-0.1
% asadmin deploy --libraries ~/grails/lib/glassfish-grails.jar BookLibrary-0.1.war
  -- can't create book 4,
  -- see browser error when http://win60.sfbay.sun.com:8080/BookLibrary-0.1/
  java.lang.IllegalStateException: BeanFactory not initialized or already closed
  - call 'refresh' before accessing beans via the ApplicationContext
     More error in Appendix B.
% asadmin undeploy BookLibrary-0.1

III. Back to full war
% cd ../full
% asadmin deploy BookLibrary-0.1.war
see memor error in Appendix C.
Caused by: org.codehaus.groovy.runtime.InvokerInvocationException:
java.lang.OutOfMemoryError: PermGen space
access app, e.g.
http://win60.sfbay.sun.com:8080/BookLibrary-0.1/
see 503 error.

Appendix A. server.log for undeployment.
[#|2008-10-10T11:23:54.734-0700|INFO|glassfish|javax.enterprise.system.container.web|_ThreadID=16;_ThreadName=Thread-3;|PWC1412: WebModule[/BookLibrary-0.1] ServletContext.log():GSP servlet initialized|#]

[#|2008-10-10T11:24:23.512-0700|INFO|glassfish|javax.enterprise.system.container.web|_ThreadID=15;_ThreadName=Thread-3;|PWC1412: WebModule[/BookLibrary-0.1] ServletContext.log():Destroying Spring FrameworkServlet 'grails'|#]

[#|2008-10-10T11:24:23.514-0700|INFO|glassfish|null|_ThreadID=15;_ThreadName=Thread-3;|[83422] spring.GrailsWebApplicationContext Closing org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@c7014c: display name [org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@c7014c]; startup date [Fri Oct 10 11:23:00 PDT 2008]; parent: org.springframework.web.context.support.XmlWebApplicationContext@1c8f59c
|#]

[#|2008-10-10T11:24:24.081-0700|INFO|glassfish|javax.enterprise.system.container.web|_ThreadID=15;_ThreadName=Thread-3;|PWC1412: WebModule[/BookLibrary-0.1] ServletContext.log():Closing Spring root WebApplicationContext|#]

[#|2008-10-10T11:24:24.083-0700|INFO|glassfish|javax.enterprise.system.container.web|_ThreadID=15;_ThreadName=Thread-3;|PWC1412: WebModule[/BookLibrary-0.1] ServletContext.log():Shutting down log4j|#]

[#|2008-10-10T11:24:24.284-0700|SEVERE|glassfish|null|_ThreadID=15;_ThreadName=Thread-3;|log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.|#]
=============
Appendix B. browser error
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
at java.security.AccessController.doPrivileged(Native Method)
at server_BookLibrary_0_1_index_gsp$_run_closure1.doCall(server_BookLibrary_0_1_index_gsp:15)
at server_BookLibrary_0_1_index_gsp.run(server_BookLibrary_0_1_index_gsp:9)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:431)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:337)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
at org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:460)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:316)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:235)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
at com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
at com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)

Appendix C. server.log
[#|2008-10-10T12:06:15.160-0700|SEVERE|glassfish|javax.enterprise.system.container.web|_ThreadID=15;_ThreadName=Thread-3;|WebModule[/BookLibrary-0.1]PWC1275: Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; nested exception is org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.OutOfMemoryError: PermGen space
        at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:66)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4623)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5323)
        at com.sun.enterprise.web.WebModule.start(WebModule.java:456)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:922)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:906)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2205)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1890)
        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:85)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.start(ApplicationLifecycle.java:567)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.start(ApplicationLifecycle.java:554)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:196)
        at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:314)
        at com.sun.enterprise.v3.admin.CommandRunner$2.execute(CommandRunner.java:302)
        at com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:312)
        at com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:119)
        at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:258)
        at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:175)
        at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:147)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
        at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
        at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
        at com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
        at com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
        at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
        at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.OutOfMemoryError: PermGen space
        ... 32 more
Caused by: java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:971)
        at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1434)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:971)
        at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1434)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
|#]

[#|2008-10-10T12:06:15.166-0700|SEVERE|glassfish|org.apache.catalina.core.StandardContext|_ThreadID=15;_ThreadName=Thread-3;|PWC1306: Startup of context /BookLibrary-0.1 failed due to previous errors|#]

[#|2008-10-10T12:06:15.199-0700|SEVERE|glassfish|javax.enterprise.system.container.web|_ThreadID=15;_ThreadName=Thread-3;|WebModule[/BookLibrary-0.1]PWC1277: Exception sending context destroyed event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; nested exception is org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.OutOfMemoryError: PermGen space
        at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:66)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4623)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5323)
        at com.sun.enterprise.web.WebModule.start(WebModule.java:456)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:922)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:906)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2205)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1890)
        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:85)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.start(ApplicationLifecycle.java:567)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.start(ApplicationLifecycle.java:554)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:196)
        at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:314)
        at com.sun.enterprise.v3.admin.CommandRunner$2.execute(CommandRunner.java:302)
        at com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:312)
        at com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:119)
        at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:258)
        at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:175)
        at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:147)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
        at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
        at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
        at com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
        at com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
        at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
        at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.OutOfMemoryError: PermGen space
        ... 32 more
Caused by: java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:971)
        at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1434)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:971)
        at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1434)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
|#]

[#|2008-10-10T12:06:15.200-0700|INFO|glassfish|javax.enterprise.system.container.web|_ThreadID=15;_ThreadName=Thread-3;|PWC1412: WebModule[/BookLibrary-0.1] ServletContext.log():Shutting down log4j|#]

[#|2008-10-10T12:06:15.224-0700|INFO|glassfish|javax.enterprise.system.container.web|_ThreadID=15;_ThreadName=Thread-3;|Loading application BookLibrary-0.1 at /BookLibrary-0.1|#]

[#|2008-10-10T12:06:15.229-0700|INFO|glassfish|javax.enterprise.system.core|_ThreadID=15;_ThreadName=Thread-3;|Deployment of BookLibrary-0.1 done is 19739 ms|#]