Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

75 lines (51 sloc) 2.027 kb
JavaSide
========
为jruby on rails项目添加传统java开发相关的支持
- maven支持: 对rails项目中使用的第三方jar包,使用maven进行管理
- spring支持: 对spring进行支持,在rails中使用已有的java服务
- 兼容warbler: 无须额外操作,只要执行 warble 命令,就可以得到正确的war文件
Installation
=============
rails plugin install git://github.com/fsword/java_side.git
Maven Support
=============
使用第三方java类库时,只需要修改如下位置的pom文件即可:
$ vim $RAILS_ROOT/java/pom.xml
然后执行rake任务
$rake java_side:jars
此时,相关的依赖jar包将被放在 $RAILS_ROOT/java/jars 目录下,并在rails启动时被自动装载起来。同时,如果你使用warbler 任务打包,那么这些jar文件也将会被拷贝进你最终的war包
Springframework Support
=======================
- 添加spring支持
1.修改 config/application.rb 文件, 加入配置内容如下:
class Application < Rails::Application
...
config.spring = true
...
end
2.检查 java/pom.xml 文件,确保springframework的相关依赖已经被添加(缺省的pom.xml文件本身就有).
3.运行打包任务:rake java_side:jars
- 使用
你可以直接在你的模型代码中使用 get_bean ,如下:
class User < ActiveRecord::Base
def doSth
get_bean('your_bean_id').invokeTheService
...
end
end
如果需要在代码的其它位置使用,可以 include JavaSide::Spring,例如:
Loading development environment (Rails 3.0.6)
jruby-1.5.6 :001 > include JavaSide::Spring
=> Object
jruby-1.5.6 :002 > x = get_bean 'your_bean_id'
=> #<Java::......:0x496d864e>
jruby-1.5.6 :003 > x.invokeTheService
=> ......
Ignoration
==========
用户还可以设置环境变量来忽略本插件的启动
$ IGNORE_JAVA_SIDE=true rails c
java_side is ignored
Loading development environment (Rails 3.0.6)
jruby-1.5.6 :001 >
Copyright (c) 2010 fsword, released under the MIT license
Jump to Line
Something went wrong with that request. Please try again.