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