Vivek Pandey's Blog
Vivek Pandey is a Senior Staff Engineer at Sun Microsystems. He works on XML and Web Services technologies. He has represented Sun at WS-I and W3C WSDL Working Group. He is involved with various java.net projects, such as JAX-WS RI, Metro, WSIT, Hudson and Glassfish. Currently he is technical lead of scripting languages support in Glassfish.
Quick update to GlassFish gem: GlassFish gem 0.3.1 Released
Posted by vivekp on June 24, 2008 at 07:13 PM | Permalink
| Comments (1)
As it happens sometimes, right after GlassFish 0.3.0 release we found a critical
regression that happened due to the fact that
Rails grizzly adapter was re-written and this regression was introduced in that process.
It is fixed and updated GlassFish gem 0.3.1 is released on RubyForge.
As always try it out and send your comments to forum or alias and report issues at the issue tracker.
Glassfish JRuby gem 0.3.0 released
Posted by vivekp on June 23, 2008 at 08:14 PM | Permalink
| Comments (3)
I just released GlassFish gem 0.3.0. This is a bug
fix release with few enhancements.
The issues fixed in this release are these and
these
There is one enhancement that I would like to mention here is that the Rails logger is wired to GlassFish gem logger so when
you run your Rails application using
jruby -S glassfish_rails yourappdir it will not only print GlassFish v3
gem logs but also Rails log.
Here is the log printed when a sample Rails application cookbook is deployed:
$jruby -S glassfish_rails cookbook/
Jun 23, 2008 7:02:47 PM com.sun.enterprise.glassfish.bootstrap.ASMain main
INFO: Launching GlassFish on HK2 platform
Jun 23, 2008 7:02:47 PM com.sun.enterprise.glassfish.bootstrap.ExtensibleClassLoader
INFO: Added file:/tools/jdk5/lib/tools.jar to shared classpath
Jun 23, 2008 7:02:47 PM com.sun.enterprise.v3.services.impl.GrizzlyProxy start
INFO: Listening on port 3000
Jun 23, 2008 7:02:47 PM com.sun.enterprise.v3.services.impl.GrizzlyEmbeddedHttpConfigurator configureSSL
WARNING: pewebcontainer.all_ssl_protocols_disabled
Jun 23, 2008 7:02:47 PM com.sun.enterprise.v3.services.impl.GrizzlyEmbeddedHttpConfigurator configureSSL
WARNING: pewebcontainer.all_ssl_ciphers_disabled
Jun 23, 2008 7:02:47 PM com.sun.enterprise.v3.services.impl.GrizzlyProxy start
INFO: Listening on port 3131
Jun 23, 2008 7:02:47 PM com.sun.enterprise.v3.services.impl.GrizzlyProxy start
INFO: Listening on port 3838
Jun 23, 2008 7:02:47 PM com.sun.enterprise.v3.admin.adapter.AdminConsoleAdapter setContextRoot
INFO: Admin Console Adapter: context root: /admin
Jun 23, 2008 7:02:48 PM com.sun.grizzly.jruby.RailsAdapter startRubyRuntimePool
INFO: Starting Rails instances
Jun 23, 2008 7:02:52 PM
SEVERE: JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Jun 23, 2008 7:02:53 PM com.sun.grizzly.jruby.RubyObjectPool$1 run
INFO: JRuby and Rails instance instantiation took : 4988ms
Jun 23, 2008 7:02:53 PM org.glassfish.scripting.rails.RailsDeployer load
INFO: Loading application cookbook at /
Jun 23, 2008 7:02:53 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: Glassfish v3 started in 5966 ms
Accessing the application http://localhost:3000/recipes shows me the following Rails log that you would be printed at
log/development.log
Processing RecipesController#index (for 127.0.0.1 at 2008-06-23 19:02:57) [GET]
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: Session ID: BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo
SGFzaHsABjoKQHVzZWR7AA==--1fcc8bed80c5349246099b22244d1f5831fe8285
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: Parameters: {"controller"=>"recipes", "action"=>"index"}
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: WARNING: You're using the Ruby-based MySQL library that ships with Rails. This library is not suited for production.
Please install the C-based MySQL library instead (gem install mysql).
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: SQL (0.000000) SET NAMES 'utf8'
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: SQL (0.001000) SET SQL_AUTO_IS_NULL=0
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: Recipe Load (0.010000) SELECT * FROM `recipes`
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: Rendering template within layouts/application
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: Rendering recipes/index
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: Recipe Columns (0.005000) SHOW FIELDS FROM `recipes`
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: Category Columns (0.005000) SHOW FIELDS FROM `categories`
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: Category Load (0.011000) SELECT * FROM `categories` WHERE (`categories`.`id` = 2)
Jun 23, 2008 7:02:57 PM com.sun.grizzly.jruby.RailsAdapter$Logger log
INFO: Completed in 0.18900 (5 reqs/sec) | Rendering: 0.13300 (70%) | DB: 0.03200 (16%) | 200 OK [http://localhost/recipes]
To install simply do jruby -S gem install glassfish, if you have previous installation first uninstall it
using jruby -S gem uninstall glassfish and then install it.
Try it out and send your comments to forum or alias and report issues at the issue tracker.
Scala Lift Web Framework on GlassFish v3
Posted by vivekp on May 16, 2008 at 04:35 PM | Permalink
| Comments (0)
During JavaOne I heard about Lift - a Scala web framework and wanted to try it.
It claims to provide best of Rails(simple and fast development), Seaside(security), Django(access control by default)
and uses Wicket for view templates. In few steps I had my first Lift
web application running on GlassFish v3.
Lift applicatin development process is Maven based and uses Derby as the default database. These are the steps to build a simple Lift application and
deploy it on Embedded GlassFish v3 during development or deploy it on GlassFish v3 server.
Create Application
Lift uses Maven Archetype plugin to build a template project.
mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create \
-DarchetypeGroupId=net.liftweb \
-DarchetypeArtifactId=lift-archetype-basic \
-DarchetypeVersion=0.8 \
-DremoteRepositories=http://scala-tools.org/repo-releases \
-DgroupId=my.liftapp -DartifactId=liftapp
This created liftapp directory.
-
src/main/scala directory contains the Scala source code.
-
src/main/webapp directory contains the HTML, JavaScript, CSS, and WEB-INF code.
-
lift_example directory contains the derby database.
Now let's build it
cd liftapp
mvn install
This would create a WAR directory structure at target/liftapp-1.0-SNAPSHOT/ and also the WAR file
target/liftapp-1.0-SNAPSHOT.war
Deploy on GlassFish v3
I could simply deploy the application on GlassFish v3 server by doing:
asadmin deploy target/liftapp-1.0-SNAPSHOT
Click http://localhost:8080/liftapp-1.0-SNAPSHOT/ and you
should see the Welcome screen. Also note that the access controls login, add user features are automatically generated similar to
Django admin.
Code-Save-Refresh with GlassFish v3
The previous deployment on to GlassFish v3 works fine but I needed something that could help me do Code-Save-Refresh cycle without
restarting the v3 server. Basically I wanted to use Embedded GlassFish v3 where I would simply invoke mvn glassfish:run and
make changes and compile in another window and at the end refresh the browser to see the changes.
Since pom.xml generated by
Lift Archetype does not have entry for maven-glassfish-plugin so I had to add this plugin entry:
<pluginRepositories>
<pluginRepository>
<id>maven2.java.net</id>
<name>Java.net Repository for Maven 2</name>
<url>http://download.java.net/maven/2</url>
</pluginRepository>
</pluginRepositories>
<plugins>
<plugin>
<groupId>org.glassfish</groupId>
<artifactId>maven-glassfish-plugin</artifactId>
<version>1.0-alpha-4</version>
<configuration>
<resourcesDirectory>target/liftapp-${project.version}</resourcesDirectory>
</configuration>
</plugin>
</plugins>
I also had to make one more change in src/main/webapp/WEB-INF/web.xml to workaround due to the fact that
http://java.sun.com/j2ee/dtds/web-app_2_3.dtd has been renamed to http://java.sun.com/dtd/web-app_2_3.dtd and
the aliasing is not happening properly with Embedded GlassFish v3
So the change was to edit src/main/webapp/WEB-INF/web.xml and replace http://java.sun.com/j2ee/dtds/web-app_2_3.dtd
by http://java.sun.com/dtd/web-app_2_3.dtd. This step would not be required once it is fixed in embedded GlassFish v3.
That's it! Next I did was invoke mvn glassfish:run
vivekmz@boson(620)> mvn glassfish:run
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'glassfish'.
[INFO] ------------------------------------------------------------------------
[INFO] Building liftapp
[INFO] task-segment: [glassfish:run]
[INFO] ------------------------------------------------------------------------
[INFO] Preparing glassfish:run
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [yuicompressor:compress {execution: default}]
[INFO] nb warnings: 0, nb errors: 0
Downloading: http://scala-tools.org/repo-releases/org/igniterealtime/smack/smack/3.0.4/smack-3.0.4.pom
Downloading: http://repo1.maven.org/maven2/org/igniterealtime/smack/smack/3.0.4/smack-3.0.4.pom
Downloading: http://scala-tools.org/repo-releases/org/igniterealtime/smack/smackx/3.0.4/smackx-3.0.4.pom
Downloading: http://repo1.maven.org/maven2/org/igniterealtime/smack/smackx/3.0.4/smackx-3.0.4.pom
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [scala:compile {execution: default}]
[INFO] Nothing to compile - all classes are up to date
[INFO] [glassfish:run]
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: HK2 initialized in 236 ms
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.naming.impl.ServicesHookup@1e708b2 Init done in 241 ms
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.v3.server.Globals@1fbc355 Init done in 242 ms
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.v3.server.SystemTasks@1f2edd2 Init done in 246 ms
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.v3.services.impl.HouseKeeper@f221f6 Init done in 247 ms
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.v3.services.impl.CmdLineParamProcessor@189a773 Init done in 249 ms
JMXMP connector server URL = service:jmx:jmxmp://localhost:8888
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.services.impl.GrizzlyProxy start
INFO: Listening on port 8080
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.v3.services.impl.GrizzlyService@154ea79 startup done in 398 ms
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.services.impl.ApplicationLoaderService postConstruct
INFO: loader service postConstruct started at 1210978351811
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: Application Loader startup done in 431 ms
May 16, 2008 2:52:31 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: Glassfish v3 started in 432 ms
May 16, 2008 2:52:37 PM com.sun.enterprise.web.WebModuleContextConfig authenticatorConfig
SEVERE: webModuleContextConfig.missingRealm
Hit ENTER for redeploy
Click http://localhost:8080/liftapp/ would display
Then I tried to make some changes in the Scala code compile it and then refresh the browser to see if the changes appear there.
So in another window, edit src/main/scala/my/liftapp/snippet/HelloWorld.scala
Replace
def howdy = Welcome to liftapp at {new java.util.Date}
by
def howdy = Welcome to liftapp deployed on GlassFish v3 at {new java.util.Date}
Save this file and run mvn install and hit Entner key in the windows where I ran embedded GlassFish v3.
That's
Now, I go back to the browser and refresh the window and it displays the changed text, but first see the GlassFish log
where you hit Enter and see the log printed when refresh button was pressed in the browser
Hit ENTER for redeploy
May 16, 2008 2:57:30 PM com.sun.enterprise.web.WebModuleContextConfig authenticatorConfig
SEVERE: webModuleContextConfig.missingRealm
INFO - Service request (GET) /liftapp/ took 412 Milliseconds
INFO - Service request (GET) /liftapp/classpath/blueprint/screen.css took 13 Milliseconds
INFO - Service request (GET) /liftapp/classpath/blueprint/print.css took 2 Milliseconds
INFO - Service request (GET) /liftapp/classpath/blueprint/plugins/fancy-type/fancy-type.css took 2 Milliseconds
INFO - Service request (GET) /liftapp/classpath/jquery.js took 4 Milliseconds
INFO - Service request (GET) /liftapp/classpath/json.js took 1 Milliseconds
To summarize, a Scala Lift application can be deployed on GlassFish v3 server as well as can be run in development
mode with hot deployment by running embedded GlassFish mvn glassfish:run. Go ahead and try it out and let us know at
the the forum or alias
GlassFish Gem 0.2.0 and JRuby 1.1.1 module for GlassFish v3 update center
Posted by vivekp on May 05, 2008 at 06:52 PM | Permalink
| Comments (0)
New version of GlassFish gem 0.2.0 is out. See Arun's announcements.
The major changes in this version are:
-
Version upgrade to GlassFish v3 TP2.
-
Fix to the size regression introduced in the previous release. It is back to about 3MB.
We also released JRuby 1.1.1 runtime bundle that includes Rails 2.0.2 along with other
required gems, such as jdbc, jdbc-mysql.
To install JRuby 1.1.1 and Rails 2.0.2 runtime on Glassfish v3 TP2, do the following:
Select JRuby On GlassFish and click install. It will create jruby directory
inside glassfish-tp2/glassfish/modules directory. Thats all you need. Now start deploying
your Ruby/Rails applications on GlassFish v3 and you dont need to set JRUBY_HOME in config/asenv.bat or asenv.conf that
you would do otherwise to tell GlassFish where to find JRuby runtime.
Scripting in GlassFish @ JavaOne 2008
Posted by vivekp on May 04, 2008 at 10:29 AM | Permalink
| Comments (0)
JavaOne 2008 starts form tomorrow, actually today: there is Unconference in the afternoon. This is going to be my first 8th JavaOne in a row and a most busy one! Here are some of the scripting related talks and events:
-
BOF-5111 Scripting in GlassFish
-
TS-5416 JRuby: Why, What, How...Do It Now
-
TS-4806 JRuby on Rails: Web Development Evolved
-
TS-6039 Jython - Implementing Dynamic Language Features for the Java™ Platform Ecosystem
-
PAN-5435 The Script Bowl: A Rapid-Fire Comparison of Scripting Languages
-
TS-5764 Grails in Depth
-
TS-5793 Groovy and Grails: Changing the Landscape of Java™ Platform, Enterprise Edition (Java EE Platform) Patterns
There are also all week GlassFish events, do plan to attend these.
I hope to meet many of you. I will be speaking at BOF-5111: Scripting In GlassFish and also at CommunityOne sessions S295418 - Tools for GlassFish V3 (Java EE Platform and Scripting Environment) and Scripting environment.
We also have POD#135 Scripting On GlassFish Booth in the Pavillion. I plan to be around there on Wednesday afternoon so drop by to see what we are up to on supprting dynamic languages and frameworks on GlassFish.
JRuby Module 3.0 for for GlassFish v2 is out
Posted by vivekp on May 03, 2008 at 01:11 AM | Permalink
| Comments (1)
JRuby Update Center module 3.0 for GlassFish v2 is out. It has been tested to work with GlassFish v2 UR2.
The Update Center modules provide out of the box tested-on-GlassFish version of JRuby, Rails and other required gems.
For the GlassFish users it is very convinient just install the JRuby module from the GlassFish update center and start
writing the Rails applications.
Here are some details on this release of Update Centner Modules:
It is a major upgrade from the previous 2.1 version which came with JRuby 1.0.3 and Rails 1.2.6. The major upgrade
comes in forms of JRuby version 1.1.1, Rails version 2.0.2 and Warbler. You can use Warbler to create a WAR of the
Rails application on GlassFish v2. The UC module also provides ant scripts for shared mode, where JRuby and Goldspike
jars are installed on Glassfish v2 and you don't have to package any of these jars and the gems with JRuby. This will
result in to smaller Rails applications compared to the WAR files created by Warbler.
Rails 2.0.2 is not backward compatible with Rails 1.2.6 so samples form the previous JRuby UC module will not work
on this new ver 3.0.
JRuby and installed gem versions
Installing JRuby UC Module 3.0
To install, cd to your GlassFish installation, and run ./updatecenter/bin/updatetool . This will bring the window below:
Select JRuby On GlassFish checkbox and click Install. After it finishes, it will create jruby director inside the
GlassFish installation.
Run HelloWorldRailsApp sample
-
Start GlassFish v2
asadmin start-domain
-
Inside your GlassFish installation,
cd jruby/samples/HelloWorldRailsApp
-
Create a WAR file HelloWorldRailsApp.war by running warbler
JRuby -S warble
-
Now Deploy the war file
asadmin deploy HelloWorldRailsApp.war
-
Access http://localhost:8080/HelloWorldRailsApp/say/hello in your browser.
Above Warbler was used to create a standalone WAR file. Warbler packages all the required JARs and gems in the the WAR
file resulting in to large WAR size. You can as well use setup-shared-env target from jruby/build.xml from inside
the GlassFish installation. This will copy JRuby and Goldspike jars in to glassfish/lib directory. After this
instead of running Warlbe, simply run create-shared target inside the application this will create WEB-INF/web.xml inside your
Rails application. At the end simply run asadmin deploy yourRailsApp. For details see GLASSFISH_README.txt inside the samples.
Continue sending your feedback to the GlassFish WebTier forum
or to the mailing list. Report any bugs to the IssueTracker
Embedding GlassFish v3 with Grails
Posted by vivekp on May 01, 2008 at 04:52 PM | Permalink
| Comments (3)
In my blog on running Grails application on GlassFish v3, I need to create a war of my application and then deploy that war.
This was a serious bottleneck in my development process as I wanted to test it out this application on GlassFish v3.
I really wanted to run my Grails application with GlassFish v3 as embedded server in the same fashion as running grails
run-app, that is without creating a war file and to speed up my development. By default Grails uses
Jetty web server to run the applications. But I wanted to use V3, it is very modular, extensible and embeddable and and is
going to allow me to get the JavaEE features that I may like to use at some point in time.
One possible way was that GlassFish v3 is an OSGi
container and if Grails has an OSGi container I could easily replace jetty with v3. So I mentioned this problem
to Kohsuke and came to know that he is working on
GlassFish v3 embed APIs. So I gave it a try and guess what? It was darn simple to write few lines of groovy script to
get it embedded with Grails and run my application.
Here is the groovy script that starts GlassFish v3 server and deploys the grails application. Please note that the
API is using scattered war in literal sense - there is no WAR file structure here.
appName = new File("${grailsAppName}");
webxml = new File(webXmlFile.absolutePath)
resource = new File("${basedir}/web-app")
ScatteredWar war = new ScatteredWar(
"${grailsAppName}",
resource,
webxml,
Collections.singleton(new File(appName, classesDir.getAbsolutePath()).toURI().toURL()))
grailsServer = new GlassFish(serverPort)/a>
grailsApp = grailsServer.deploy(war)
I called this script RunaAppGf.groovy and after adding V3 Embed API and other v3 dependent jars (web-all.jar) to the
Grails classpath, copied it to $GRAILS_HOME/script directory. With this I was ready to run my grails app and so I did
by invoking grails run-app-gf inside my grails application directory.
vivekmz@boson(653)> grails run-app-gf
Welcome to Grails 1.0.1 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: /tools/grails
Base Directory: /myhome/vivekmz/dev/grails/hello
Environment set to development
Note: No plugin scripts found
Running script /tools/grails/scripts/RunAppGf.groovy
Starting GlassFish embedded server...Running Grails application..
Application name : hello
Web App Root :/myhome/vivekmz/dev/grails/hello/web-app
web.xml:/myhome/vivekmz/.grails/1.0.1/projects/hello/resources/web.xml
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: HK2 initialized in 380 ms
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.naming.impl.ServicesHookup@304648 Init done in 391 ms
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.v3.server.Globals@6c9f0f Init done in 393 ms
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.v3.server.SystemTasks@1cdc190 Init done in 400 ms
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.v3.services.impl.HouseKeeper@d9b071 Init done in 403 ms
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.v3.services.impl.CmdLineParamProcessor@19f9c7a Init done in 407 ms
JMXMP connector server URL = service:jmx:jmxmp://localhost:8888
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.services.impl.GrizzlyProxy start
INFO: Listening on port 8080
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: com.sun.enterprise.v3.services.impl.GrizzlyService@3a4822 startup done in 718 ms
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.services.impl.ApplicationLoaderService postConstruct
INFO: loader service postConstruct started at 1209678405813
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: Application Loader startup done in 764 ms
May 1, 2008 1:46:45 PM com.sun.enterprise.v3.server.AppServerStartup run
INFO: Glassfish v3 started in 765 ms
May 1, 2008 1:46:51 PM com.sun.enterprise.web.WebModuleContextConfig authenticatorConfig
SEVERE: webModuleContextConfig.missingRealm
[0] commons.DefaultGrailsApplication The class [UrlMappings] was not found when attempting to load Grails application. Skipping.
[3] commons.DefaultGrailsApplication The class [Config] was not found when attempting to load Grails application. Skipping.
[5] commons.DefaultGrailsApplication The class [BootStrap] was not found when attempting to load Grails application. Skipping.
[8] commons.DefaultGrailsApplication The class [DataSource] was not found when attempting to load Grails application. Skipping.
[10] commons.DefaultGrailsApplication The class [resources] was not found when attempting to load Grails application. Skipping.
[1426] spring.GrailsWebApplicationContext Refreshing org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@1e5052b: display name [org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@1e5052b]; startup date [Thu May 01 13:46:53 GMT-08:00 2008]; parent: org.springframework.web.context.support.XmlWebApplicationContext@13cb2c6
[1426] spring.GrailsWebApplicationContext Bean factory for application context [org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@1e5052b]: org.springframework.beans.factory.support.DefaultListableBeanFactory@192974
Server running. Browse to http://localhost:8080/hello
The next steps are really to provide the required V3 jars, V3 Embed Jars and this script as a bundle so that you can
easily install over the Grails installation and enjoy modularity, extensibility and embeddability of GlassFish v3. I plan to talk about it more during JavaOne and Kohsuke and me are trying to see if we could have something ready in another day or so.
 |