Friday Mar 14, 2008

Steps to recreate GlassFish v3 gem v0.1.2

Steps to build GlassFish v3 gem v0.1.2

This blog details the steps to be followed if you plan to build the GlassFish V3 gem 0.1.2 gem.

Build Steps :

    cd "SomeDirForGem"
    svn checkout --revision=18807 
        https://svn.dev.java.net/svn/glassfish-svn/trunk/v3 --username guest
    cd v3
    mvn -U install

    cd distributions/gem
    mvn install 
Technically one should be able to just get the v3 gem and build it and jruby stuff should work. But just to be on the safe side I am providing the revision number so that svn would checkout and build the same bits that I have used when publishing the gem.
At the end of the steps, mentioned above you would have the gem created and available at :
    SomeDirForGem/v3/distributions/gem/target/dependency/glassfish/pkg/glassfish-0.1.2-universal-java-1.5.gem
To use this gem with your JRuby installation :
jruby -S gem install
SomeDirForGem/v3/distributions/gem/target/dependency/glassfish/pkg/glassfish-0.1.2-universal-java-1.5.gem 
(to install the gem for the first time)

OR
jruby -S gem update
SomeDirForGem/v3/distributions/gem/target/dependency/glassfish/pkg/glassfish-0.1.2-universal-java-1.5.gem 
(to update an existing glassfish gem)

Code layout Information :

In V3 land the code related to the JRuby interaction can be found under v3/extras/rails directory. This code layer is a wrapper and eventually delegates to the JRuby module, obtained from the Grizzly project. There have been questions asked on why the code is not in one place. The best way that I can answer this question is is by stating that the initial support for JRuby was provided as part of the Grizzly - JRuby module. This code predates the V3 activity. With the modular design of V3 it is easy to drop in a module and have V3 server support the new module. Hence to support JRuby in V3 the decision was made to use the JRuby module from Grizzly.

One task that was carried out before releasing the gem v0.1.2, was to move the jruby code from the module's area to the contribs area of Grizzly. The main reason to do this was to ensure that releases of the grizzly-jruby module could be done independent of grizzly releases. Also each release of the gem version would have a corresponding grizzly-jruby module released to the maven repository. This would make it easier to regenerate the code that was used to create and publish the gem at RubyForge.
For the gem v0.1.2 the V3 code gets the corresponding grizzly-jruby module as part of the build cycle and packages it into the gem.

For those of you who would like to checkout and build the grizzly-jruby module :
   svn checkout 
       https://grizzly.dev.java.net/svn/grizzly/trunk/contribs/jruby 
       --username guest
   cd jruby
   mvn install
At this point of time after the successful execution of this steps you would have grizzly-jruby-0.1.2.jar, published to your local maven repository (~/.m2/repository). If you now build the v3 gem, it would use your newly created module.

Thursday Mar 13, 2008

GlassFish V3 gem v0.1.2 for JRuby at Rubyforge

GlassFish v3 gem v0.1.2 for JRuby at RubyForge

In my previous blog I had informed you all of the release of GlassFish v3 gem v0.1.1. Today I am announcing the release of GlassFish V3 gem 0.1.2.

Issues addressed in v0.1.2 :

The last released gem (v0.1.1) contained that bugs that were reported by users on the GlassFish Issue tracker and RubyForge Tracker. This release deals with those bugs.

These 3 bugs followed the same pattern and was a tricky one to isolate and solve for me. Would like to thank Thomas Enebo of the JRuby core team for his help in isolating the root cause of these issues.

Another bug that has been fixed as part of this gem release is - Blank page returned if there are no Rails instances available. From this release on the requests would not be rejected if there are no rails instances available to satisfy them.
Based on comments from Thomas Enebo, have changed the way we were processing requests as part of the gem. In the previous releases of the gem, for each request we were causing the request to be parsed before actually executing it. This obviously was increasing the time taken for each request. Have fixed this as part of this release.

From this release of the gem, you would be able to checkout and build the gem. This was a request that many users had made and this is the reason why the release of the gem was delayed by a couple of weeks. I will publish a blog shortly detailing information on how to build the gem from the GlassFish V3 source.

Continue to use Glassfish Issue Tracker, JRuby JIRA and RubyForge to post issues/comments about the gem.

Installation:

If you have installed the previous version of the gem please uninstall the gem using the command
    jruby -S gem uninstall GlassFish
Install the new version of the gem using the command :
    jruby -S gem install glassfish

Output from executing the "ab" command using the old v0.1.1 and the new v0.1.2 glassfish :
I have used "ab" on my Macbook pro, to compare the performance between then 2 latest versions of the gem - v0.1.1 and v0.1.2. These tests were done using the release JRuby 1.1RC2 bits with Rails 2.0.2. The sample that I have used is a very simple HelloWorld, so it is no reflective of the typical user application. Would be great to hear back from users about the performance that you are seeing with your application.

With gem v0.1.1 :
    pramod-gopinaths-computer:~ pramodgopinath$ ab -c 1 -n 100000 http://localhost:3000/test/hello
    This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3
    Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

    Benchmarking localhost (be patient)
    Completed 10000 requests
    Completed 20000 requests
    Completed 30000 requests
    Completed 40000 requests
    Completed 50000 requests
    Completed 60000 requests
    Completed 70000 requests
    Completed 80000 requests
    Completed 90000 requests
    Finished 100000 requests
    Server Software:        Grizzly/1.6                                       Server Hostname:        localhost
    Server Port:            3000

    Document Path:          /test/hello
    Document Length:        68 bytes

    Concurrency Level:      1
    Time taken for tests:   2088.982 seconds
    Complete requests:      100000
    Failed requests:        0
    Broken pipe errors:     0
    Total transferred:      53100000 bytes
    HTML transferred:       6800000 bytes
    Requests per second:    47.87 [#/sec] (mean)
    Time per request:       20.89 [ms] (mean)
    Time per request:       20.89 [ms] (mean, across all concurrent requests)
    Transfer rate:          25.42 [Kbytes/sec] received

    Connnection Times (ms)
                 min  mean[+/-sd] median   max
    Connect:        0     0   15.4      0  2993
    Processing:    19    20   11.5     20  1482
    Waiting:       19    20   11.5     19  1481
    Total:         19    20   19.2     20  3023

    Percentage of the requests served within a certain time (ms)
     50%     20
     66%     20
     75%     20
     80%     20
     90%     22
     95%     23
     98%     23
     99%     24
    100%   3023 (last request)

With gem v0.1.2 :
    $ ab -c 1 -n 100000 http://localhost:3000/test/hello
    This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3
    Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

    Benchmarking localhost (be patient)
    Completed 10000 requests
    Completed 20000 requests
    Completed 30000 requests
    Completed 40000 requests
    Completed 50000 requests
    Completed 60000 requests
    Completed 70000 requests
    Completed 80000 requests
    Completed 90000 requests
    Finished 100000 requests
    Server Software:        Grizzly/1.7                                       Server Hostname:        localhost
    Server Port:            3000

    Document Path:          /test/hello
    Document Length:        68 bytes

    Concurrency Level:      1
    Time taken for tests:   440.712 seconds
    Complete requests:      100000
    Failed requests:        0
    Broken pipe errors:     0
    Total transferred:      53100000 bytes
    HTML transferred:       6800000 bytes
    Requests per second:    226.91 [#/sec] (mean)
    Time per request:       4.41 [ms] (mean)
    Time per request:       4.41 [ms] (mean, across all concurrent requests)
    Transfer rate:          120.49 [Kbytes/sec] received

    Connnection Times (ms)
                 min  mean[+/-sd] median   max
    Connect:        0     0   17.6      0  2852
    Processing:     3     4   10.4      3  1270
    Waiting:        3     4   10.4      3  1270
    Total:          3     4   20.4      3  2858

    Percentage of the requests served within a certain time (ms)    
     50%      3
     66%      3
     75%      3
     80%      3
     90%      4
     95%      4
     98%      7
     99%      7
    100%   2858 (last request)



Resources :
GlassFish JRuby wiki
JRuby wiki

Thursday Feb 21, 2008

An Endorsement for the GlassFish V3 gem

An Endorsement for the GlassFish V3 gem

Changshin Lee aka ias, has launched a JRuby on Rails (JROR) application, GlassFish User Group -Korea using the GlassFish V3 gem for JRuby. Changshin Lee has been an early adopter of the gem and provided a lot of feedback in terms of the gem. He also presented the gem at a conference in Korea over the past weekend. Thanks for your patience. Further details can be found here.


The ground work for the gem was laid down by Jerome Dochez and Charles Nutter last year. There is still a lot to be done, but sure helps when users come back to us and inform us of how they are using the gem to solve their business needs.

Wednesday Feb 13, 2008

GlassFish v3 gem v0.1.1 for JRuby at RubyForge

GlassFish v3 gem v0.1.1 for JRuby at RubyForge

In my previous blog I had informed you all of the the GlassFish v3 gem v0.1.0. The first release was pushed out last week so that Charles Nutter to demo at the acts_as_conference held last weekend. The gem was very well received at the conference and based on the feedback provided by the attendees, have decided to release a new version to address many of the common issues that were reported.


Issues being addressed in v0.1.1

The following issues are being addressed in this version (v0.1.1) of the gem :

  • The name of the gem is being changed from GlassFish to glassfish. The rails naming convention for the gems is with all lower case or with names that contain underscore.
  • Support for the applications to be deployed at the Root Context ("/") of the server. The Webrick and Mongrel servers deploy the application to the root context by default.
  • Change the default port the server to be 3000 from 8080. Port 8080 has been the default http port of the GlassFish application server, but since we are targetting the Ruby on Rails market with this space, it is better to have the http port set to 3000. At this stage I have also changed the SSL port from the GlassFish default of 8181 to 3131 and the admin default port of 4848 to be 3838.
  • Provide command arguments to the script to specify the number of runtime to be created. In v0.1.0 of the gem one could specify the number of runtimes if it was passed in as a specified as a java system property. With this version use could use the command
    jruby -S glassfish_rails mephisto -n 2
    to create 2 rails instance.
  • Create instances of rails in parallel. This would speed up the startup of the v3 gem

Main issues I plan to address in v0.1.2
Some of the main items that I plan to work on as part of the gem v0.1.2 :
  • I have created the gem from the v3 code that was checked out on 02/08/2008. All the local changes are currently on my laptop. Would be working on getting these chages checked into the v3 code base and would publish steps on how to create a gem from the trunk. Currently there is a manual step involved in setting up the port. I would have to fix this before checking the code in the svn trunk.
  • As part of this release was planning to add support for specifying RAILS_ENV as a command argument. But was running into some issues. Would like to provide this in the next release.
  • Provide a way for users to provide a port portion as one of the command argument. This would involve making changes in the v3 code since currently the logic is in place to read the port from the config/domain.xml.
  • There is growing interest for Merb and plan to interact with Nick Sieger to see how we can add support for Merb in the gem.
Please note that this is not an exhaustive list and would continue to work on issues that are being reported on Glassfish Issue Tracker, JRuby JIRA and RubyForge.

If you have installed the previous version of the gem please uninstall the gem using the command
jruby -S gem uninstall GlassFish
Install the new version of the gem using the command :
jruby -S gem install glassfish

Sample output from executing the glassfish gem v0.1.1 on my Macbook pro :

My JRuby environment :
List of gems installed in my JRuby 1.0.3 environment

Command line argument support :
Command line argument support in GlassFish V0.1.1 gem

Start Mephisto application :
Launching the GlassFish v0.1.1 gem for Mephisto application

Mephisto web request
Mephisto application and Glassfish v0.1.1 gem

Resources :
GlassFish JRuby wiki
JRuby wiki

Monday Feb 11, 2008

GlassFish v3 gem v0.1.0 for JRuby pushed out to RubyForge

In my previous blog I had pushed out a gem for GlassFish v3. This gem was available at download.java.net.
Effective from last Thursday, I have hosted the gem at RubyForge.

Since RubyForge is the primary location from where developers get the various gems, decided to push out the GlassFish V3 gem also out there. This would help many developers test drive the gem and provide feedback to help us improve the gem further.
The gem released on RubyForge is governed by the same licensing scheme as GlassFish.

As part of publishing the gem to RubyForge the version number of the gem has been changed to 0.1.0. For those of you who had downloaded the gem using my previous blog, you would notice the version of the gem being displayed as 10.0.0. The history here is that since the gem was being created for GlassFish V3, the thought was that we would call it 10.0.0 to reflect the version of GlassFish (since 9.x version refers to the GlassFish v2). But since the gem is now being hosted at RubyForge, have decided to start with a version of 0.1.0.

If you have already installed the older version of the gem please uninstall the gem by using the command
      gem uninstall GlassFish
To run this command ensure that you have set the $JRUBY_HOME/bin directory to your PATH environment variable.

Some useful commands :
Install the new gem :
      gem install GlassFish
Get more details of the gem :
      gem specification GlassFish

Once the gem has been installed ensure that you are at the root of the application directory and run the command
       jruby -S glassfish_rails application_directory_name
.
For further details refer to the GlassFish V3 section of the Getting Started Guide.

Friday Jan 04, 2008

A newer GlassFish V3 gem for JRuby and its known limitations

Newer GlassFish V3 gem for JRuby

It has been a while since a new version of the GlassFish V3 gem for JRuby was last released. Since I have picked up the effort of maintaining this gem from Jerome, thought I would start by releasing a version based on the latest GlassFish V3 bits. Additionally I have made one change to the gem, by creating 2 Rails instances where only one was being created before.


Known Limitations of the gem

Since we are targeting this gem to be used in the development environment, the gem should at a minimum provide for the functionalities that Webrick provides. Below I have listed out the limitations of the gem in the curent form. I would be working on improving the gem to fix these issues.

  • The gem starts up by default on port 8080 and the only way to change the port is by manually editing the port entry in domain.xml. There should be support for --port option to provide a port to the gem.
  • If the default port is being used, then the gem should look for the sequential port that could be used to start up.
  • Requests made to the process launched using
        jruby -S glassfish_rails  
    are not being queued up. Hence if there is no rails instance available to satisfy the request, then the next request is returned with a blank page. This has already been reported by the users with the earlier gem.
  • Creating rails instances to be pooled is a time consuming process. Based on tests on my Macbook pro, found the following when using JRuby 1.0.3
    • 1 rails instance takes 8-9secs,
    • 2 rails instance 10-11secs,
    • 3 rails instance 12-13secs,
    • 4 rails instance 14-16secs,
    • 5 rails instance 16-18secs,
    We could use the Goldspike approach, where we start with a minimum number of pool instances and then grow based on demand. In this case we would need to provide means to the user to set/change these values


Please feel free to add your comments to this blog to improve the GlassFish gem.


Thursday Dec 20, 2007

GlassFish Updatecenter module for JRuby 1.0.3

"JRuby on GlassFish" Updatecenter module (2.1) containing JRuby 1.0.3

Over the past weekend JRuby 1.0.3 was released and this time I wanted to ensure that we would have the GlassFish updatecenter module published at the earliest. This is version 2.1 of the module and would be available when you launch the updatetool from your GlassFish installation/updatecenter/bin directory of your GlassFish installation.


Contents of the JRuby on GlassFish 2.1 module

This JRuby update center module primarily consists of JRuby 1.0.3 and Goldspike revision 858. The JRuby 1.0.3 source bits that are part of this module, have been updated with the following gems :



Installing the JRuby on GlassFish module

Let us refer to GlassFish root directory location as $GLASSFISH_ROOT for the course of this blog. After installing GlassFish run the Update Center client

  $GLASSFISH_ROOT/updatecenter/bin/updatetool

Then you should see "JRuby on GlassFish" as one of the available modules.



Accept the license agreement to install this module. After the successful installation of this module, you would see a new directory "jruby" created under your GlassFish root directory. A screenshot of the directory structure after having installed the JRuby on GlassFish 2.1 module



If you had already installed the previous 2.0 module, updatetool would inform that there is an update available. In this case go to the "Available Updates" section and select JRuby on GlassFish 2.1 module and install it. In this case the directory structure would be


Web application modes
JRuby on GlassFish update center module bundles Goldspike and it supports the 2 modes - "Standalone" and "Shared", of deploying a RubyOnRails (ROR) application to a GlassFish application server instance. For this blog we would be using the directory deployment feature of GlassFish.
  • "Standalone" mode implies that the resulting Web application archive (WAR) would be self contained, i.e. it would contain not only the application, but also the JRuby, Rails, Goldspike libraries.
  • "Shared" mode implies that the WAR would just contain the WEB-INF/web.xml file along with the application. The libraries required for the application to run successfully would be picked up from the classpath of the GlassFish application server instance.

Post Installation steps
If you plan to use the "Shared" mode you would have to perform one additional step. After the successful installation of the JRuby update center module copy the required libraries to the GlassFish library directory and restart the GlassFish application server instance (for these libraries to be picked up by the running instance). Run the following command to achieve this :
  ant -f $GLASSFISH_ROOT/jruby/install.xml setup-shared-env

Sample Applications
This module comes with 3 sample applications -
  • HelloWorldRailsApp - a simple hello world application
  • cookbook - sample created using instructions from O'Reilly OnLamp
  • mephisto - version 0.7.3 of Mephisto blogging
In each of these sample application directory there is a file GLASSFISH_README, which provides information on how to deploy and run the application.

Wednesday Dec 12, 2007

GlassFish Updatecenter module for JRuby 1.0.2

"JRuby on GlassFish" Updatecenter module containing JRuby 1.0.2

Since JRuby 1.0.2 has been released for some time it was time that the GlassFish updatecenter module was updated to make use of these JRuby bits. As of last week we now have a new version of the "JRuby in GlassFish" updatecenter module. This is version 2.0 of the module and would be available when you launch the updatetool from your GlassFish installation/updatecenter/bin directory of your GlassFish v2 Update Release installation.


Contents of the JRuby on GlassFish 2.0 module

This JRuby update center module primarily consists of JRuby 1.0.2 and Goldspike revision 808. The JRuby 1.0.2 source bits that are part of this module, have been updated with the following gems :



Installing the JRuby on GlassFish module

Let us refer to GlassFish root directory location as $GLASSFISH_ROOT for the course of this blog. After installing GlassFish V2 Update Release run the Update Center client

  $GLASSFISH_ROOT/updatecenter/bin/updatetool

Then you should see "JRuby on GlassFish" as one of the available modules.



Accept the license agreement to install this module. After the successful installation of this module, you would see a new directory "jruby" created under your GlassFish root directory. A screenshot of the JRuby module directory


The layout of the directory created by the update center module 2.0 is different from the previous module to help support multiple jruby installations.


Web application modes
Since this JRuby update center module bundles Goldspike we also support the 2 modes - "Standalone" and "Shared", of deploying a RubyOnRails (ROR) application to a GlassFish application server instance. For this blog we would be using the directory deployment feature of GlassFish.
  • "Standalone" mode implies that the resulting Web application archive (WAR) would be self contained, i.e. it would contain not only the application, but also the JRuby, Rails, Goldspike libraries.
  • "Shared" mode implies that the WAR would just contain the WEB-INF/web.xml file along with the application. The libraries required for the application to run successfully would be picked up from the classpath of the GlassFish application server instance.

Post Installation steps
If you plan to use the "Shared" mode you would have to perform one additional step. After the successful installation of the JRuby update center module copy the required libraries to the GlassFish library directory and restart the GlassFish application server instance (for these libraries to be picked up by the running instance). The commands to be used are :
  asadmin stop-domain domain1    (Stop the application server if it is running)
  cp $GLASSFISH_ROOT/jruby/jruby-1.0.2/lib/jruby-complete.jar $GLASSFISH_ROOT/lib
  cp $GLASSFISH_ROOT/jruby/goldspike/target/goldspike-1.4-SNAPSHOT.jar $GLASSFISH_ROOT/lib
  cp $GLASSFISH_ROOT/jruby/goldspike/target/commons-pool-1.3.jar $GLASSFISH_ROOT/lib
  asadmin start-domain domain1   (Start the application server instance)

Sample Applications
This module comes with 3 sample applications -
  • HelloWorldRailsApp - a simple hello world application
  • cookbook - sample created using instructions from O'Reilly OnLamp
  • mephisto - version 0.7.3 of Mephisto blogging
In each of these sample application directory there is a file GLASSFISH_README, which provides information on how to deploy and run the application.

Tuesday Sep 18, 2007

JRuby Updatecenter module for Glassfish V2

JRuby Updatecenter module for Glassfish V2

With the official release of GlassFish V2, I wanted to inform you all about the availability of a new GlassFish update center module to support JRuby. This module is called "JRuby on GlassFish". This module will make it is easier to deploy a Ruby on Rails (ROR) application to a GlassFish application server. Thanks to Rajeshwar, who actually pushed the module on the net.


Contents of the JRuby module

This JRuby update center module primarily consists of JRuby 1.0.1 and Goldspike (nee Rails Integration) revision 735. The JRuby 1.0.1 source bits that are part of this module, have been updated with the following gems :



Installing the JRuby on GlassFish module

Let us refer to GlassFish root directory location as $GLASSFISH_ROOT for the course of this blog. After installing GlassFish V2 run the Update Center client

  $GLASSFISH_ROOT/updatecenter/bin/updatetool

Then you should see "JRuby on GlassFish" as one of the available modules.



Accept the license agreement to install this module. After the successful installation of this module, you would see a new directory "jruby-1_0" created under your GlassFish root directory. A screenshot of the JRuby module directory


The top level directory name (jruby-1_0) corresponds to the version of the update center module e.g. for the 1.0 version of the updatecenter, the top level directory is named jruby-1_0. Subsequent release of the updatecenter module would have different version number and corresponding different directory name.


Web application modes
Since this JRuby update center module contains GoldSpike (nee Rails Integration) we also support the 2 modes - "Standalone" and "Shared", of deploying a RubyOnRails (ROR) application to a GlassFish application server instance. Additionally for this blog we would be using the directory deployment feature of GlassFish.
  • "Standalone" mode implies that the resulting Web application archive (WAR) would be self contained, i.e. it would contain not only the application, but also the JRuby, Rails, Goldspike libraries.
  • "Shared" mode implies that the WAR would just contain the WEB-INF/web.xml file along with the application. The libraries required for the application to run successfully would be picked up from the classpath of the GlassFish application server instance.

Post Installation steps
If you plan to use the "Shared" mode you would have to perform one additional step. After the successful installation of the JRuby update center module copy the required libraries to the GlassFish library directory and restart the GlassFish application server instance (for these libraries to be picked up by the running instance). The commands to be used are :
    asadmin stop-domain domain1    (Stop the application server if it is running)
    cp $GLASSFISH_ROOT/jruby-1_0/jruby-1.0.1/lib/jruby-complete.jar $GLASSFISH_ROOT/lib
    cp $GLASSFISH_ROOT/jruby-1_0/goldspike/target/goldspike-1.4-SNAPSHOT.jar $GLASSFISH_ROOT/lib
    cp $GLASSFISH_ROOT/jruby-1_0/goldspike/target/commons-pool-1.3.jar $GLASSFISH_ROOT/lib
    asadmin start-domain domain1   (Start the application server instance)

Deploy and run an application (Shared mode)
Now lets look at the steps that are required to deploy an application to GlassFish in the "Shared" mode. Ensure that you have followed the steps listed under the section "Post Installation steps".
For the purpose of this blog lets use the "helloworld-1.2.3" sample present under $GLASSFISH_ROOT/goldspike/samples directory. Execute these steps to get the helloworld-1.2.3 sample deployed :
    cd $GLASSFISH_ROOT/jruby-1_0/goldspike/samples/helloworld-1.2.3
    ant -f $GLASSFISH_ROOT/jruby-1_0/install.xml create-shared 
    cd ..
    asadmin start-domain
    (If the application server is already running this command would safely exit)
    asadmin deploy helloworld-1.2.3

From a browser access the web page : http://localhost:8080/helloworld-1.2/welcome
which would result in the following html page being displayed



Deploy and run an application (Standalone mode)
If you are planning to use the "Standalone" mode of WAR creation, you do not have to do the Post Installation steps. After the update center module has been successfully installed you could directly start using it w/o any restart of the GlassFish application server instance. The steps to be followed are :
    cd $GLASSFISH_ROOT/jruby-1_0/goldspike/samples/helloworld-1.2.3
    ant -f $GLASSFISH_ROOT/jruby-1_0/install.xml create-standalone 
    cd ..
    asadmin start-domain
    (If the application server is already running this command would safely exit)
    asadmin deploy helloworld-1.2.3

From a browser access the web page : http://localhost:8080/helloworld-1.2/welcome

You would notice the only difference is the ant task that you specify - "create-shared" or "create-standalone".
The "create-shared" task -
  • creates a WEB-INF directory under the application directory
  • copies the $GLASSFISH_ROOT/jruby-1_0/web.xml-shared.template under the WEB-INF as web.xml and ensures that the "jruby.home" points to the correct location of $GLASSFISH_ROOT/jruby-1_0

The "create-standalone" task -
  • creates a WEB-INF directory and copies the $GLASSFISH_ROOT/jruby-1_0/web.xml-standalone.template into WEB-INF as web.xml
  • creates directories - WEB-INF/lib and WEB-INF/gems and copies the required libraries and gems into them
About

pramodg

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today