Arun is a DZone Zone Leader and has posted 65 posts at DZone. You can read more from them at their website. View Full User Profile

GlassFish v3 Ruby Gem - New Home on RubyForge

02.11.2008
| 10918 views |
  • submit to reddit
Ruby Forge Icon
GlassFish v3 Gem allows JRuby-on-Rails application to be launched in GlassFish v3 server. It provides a robust alternative to WEBrick and Mongrel for development and deployment of your JRuby-on-Rails applications.
The Gem was originally announced here and then updated here. All along, the Gem was living a nomadic life on download.java.net. Now it has found a permanent home on http://rubyforge.org/projects/glassfishgem/. We are excited to release version 0.1.0 of Gem co-located with other standard gems such as RubyGems, Rails and RMagick. This new and permanent home provides a much more seamless installation of v3 gem. Here are the highlights:
  • The Gem replaces WEBrick as the development container and a pack of Mongrels front-ended by light-weight Web server + Capistrano for management by one command and one process (think "eco-friendly").
  • Works with both JRuby 1.0.3 and JRuby 1.1RC1.
  • Multiple applications can be deployed in one instance of gem, each in their own context root and running on separate ports (details below).
  • Each application can serve multiple requests concurrently. This can be configured by the number of JRuby runtimes using -J-Djruby.runtime as a command-line property (details below).
  • The applications deployed on this Gem can easily make use of pooled resources such as database connections as explained in TOTD #9.
  • The released version is 0.1.0. Even though a preview version of Gem was released earlier, the version number is starting from scratch because of the newly found permanent home.
  • Installing the Gem is a seamless and integrated process as explained below.
How to install the Gem ?

After you've downloaded and unzipped JRuby 1.0.3, go to JRUBY_HOME directory and install the gem by giving the following command:

bin/jruby -S gem install GlassFish
Need to update 24 gems from http://gems.rubyforge.org
........................
complete
Select which gem to install for your platform (java)
1. GlassFish 0.1.0 (java)
2. Skip this gem
3. Cancel installation
> 1
Successfully installed GlassFish-0.1.0-java


Once the gem is installed, "glassfish_rails" script is available in JRUBY_HOME/bin directory. The exact same commands work for installing the gem in JRuby 1.1RC1 as well.

How to deploy an application on Gem ?

TOTD #24 shows how to develop a JRuby-on-Rails applications with JRuby 1.0.3 and JRuby 1.1 RC1 and tested using WEBrick. To deploy these applications on the newly installed gem, use the following command:

cd .. (go to parent directory of the application)
jruby -S glassfish_rails hello


Now the app is deployed at "http://localhost:8080/hello/say/hello".

How to configure the number of concurrent requests ?

The default number of concurrent requests that can be handled by an application deployed Gem is 1. If your application hosted on the Gem needs to handle concurrent requests then you need to specify the command-line option "-J-Djruby.runtime=NNN", where NNN is the number of expected concurrent requests. For example, if your application needs to handle 4 concurrent requests then the command to host your application will look like:

jruby -J-Djruby.runtime=4 -S glassfish_rails hello

How to host multiple applications ?

Multiple applications can be hosted on GlassFish gem by modifying the default port number on which the Gem is started. The ports that need to be changed are: "http-listener-1", "http-listener-2" and "admin-listener".

For now, the port numbers need to be modified by manually editing "jruby-1.0.3/lib/ruby/gems/1.8/gems/GlassFish-0.1.0-java/domains/domain1/config/domain.xml" file. Search for the string in first column, replace the port attribute of that XML element with the value in second column and the third column shows the default value:

Search String New Port Default
http-listener-1 8081 8080
http-listener-2 8182 8181
admin-listener 4849 4848

Any subsequent application deployed on GlassFish gem will now be hosted on http://localhost:8081/<context-root>/<controller>/<view> where <context-root> is the name of your Rails application.

A command-line switch, similar "-J-Djruby.rutime" will be provided in the near future.

Please use the gem and send us feedback on GlassFish forums, dev@glassfish or gem mailing list.

File issues in JIRA or GlassFish Issue Tracker.

Technorati: ruby jruby glassfish v3 gem rubyforge
References
Published at DZone with permission of its author, Arun Gupta. (source)

Comments

Raphael Valyi replied on Mon, 2008/02/11 - 4:50pm

Wow, sounds like I reported the first bug: http://rubyforge.org/tracker/index.php?func=detail&aid=17970&group_id=5450&atid=21080

Little problem with Ajax as you might see. Still, sounds like a future killer gem. One click, no file copy, takes into acount changes in the code instantanely, very cool! 

Hope this helps,

 

Raphaël Valyi. 

Jaffa Wify replied on Sat, 2012/05/19 - 4:08am

RubyForge is a collaborative software development management system dedicated to projects related to the Ruby programming language. Thanks. Regards, circuit breakers

Holly May replied on Tue, 2012/05/22 - 7:18am

RubyForge seems to be a very smart and handy tool for sure, but for just an amateur like me it is at all comlicated... while reading this whole post I understood almost nothing.

 

Holly, mp4 to avi,

http://freemp4toaviconverter.com

 

John Brown replied on Wed, 2013/07/24 - 2:48am

Their project always great, it's my home for years now.

Pure oud oil

Lana Rina replied on Fri, 2013/07/26 - 2:47pm

I read about this on my iPad when I was on a vacation with my family in Cleveland, my boss called me after that to announce me that we are going to work on GlassFish v3 server and I should be in the office the next day. I checked the booking calendar every day for a couple of weeks until the holiday home was free and I could not leave that place, when I got the next week at the office everything was installed on the new server.

James Liana replied on Wed, 2013/09/11 - 9:22pm

Some people (like me) may not know the right commands, so I appreciate that you posted them here. There are some other sites that don't show this, so I think your site is the most helpful.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.