Hi,
Sorry this took awhile, jruby is still a pet project here and my
previous example wasn't complete.  So I tried jruby from scratch.  And
got an error.  I decided to try again on my ubuntu vmware instance
which has never installed jruby.  Below is a complete dump of the
process including a cat of the ruote script I'm trying to run.  You'll
see it works with ruby but not jruby.


franci...@ubuntu:~/realtravel/ext/data_local/jruby$ tar -zxf jruby-
bin-1.4.0.tar.gz
franci...@ubuntu:~/realtravel/ext/data_local/jruby$ echo $PATH
/home/francisco/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/
sbin:/bin:/usr/games:/home/francisco/bin
franci...@ubuntu:~/realtravel/ext/data_local/jruby$ export PATH=$PATH:/
home/francisco/realtravel/ext/data_local/jruby/jruby-1.4.0/bin
franci...@ubuntu:~/realtravel/ext/data_local/jruby$ jruby -v
jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2009-11-02 69fbfa3) (Java
HotSpot(TM) 64-Bit Server VM 1.6.0_16) [amd64-java]
franci...@ubuntu:~/realtravel/ext/data_local/jruby$ jruby -S gem
install ruote json-jruby
JRuby limited openssl loaded. gem install jruby-openssl for full
support.
http://jruby.kenai.com/pages/JRuby_Builtin_OpenSSL
Successfully installed rufus-json-0.2.0
Successfully installed rufus-cloche-0.1.15
Successfully installed rufus-dollar-1.0.2
Successfully installed rufus-lru-1.0.3
Successfully installed rufus-mnemo-1.1.1
Successfully installed rufus-scheduler-2.0.5
Successfully installed sexp_processor-3.0.3
Successfully installed ruby_parser-2.0.4
Successfully installed rufus-treechecker-1.0.3
Successfully installed ruote-2.1.7
Successfully installed json-jruby-1.2.2-universal-java-1.6
11 gems installed
Installing ri documentation for rufus-json-0.2.0...
Installing ri documentation for rufus-cloche-0.1.15...
Installing ri documentation for rufus-dollar-1.0.2...
Installing ri documentation for rufus-lru-1.0.3...
Installing ri documentation for rufus-mnemo-1.1.1...
Installing ri documentation for rufus-scheduler-2.0.5...
Installing ri documentation for sexp_processor-3.0.3...
Installing ri documentation for ruby_parser-2.0.4...
Installing ri documentation for rufus-treechecker-1.0.3...
Installing ri documentation for ruote-2.1.7...
Installing ri documentation for json-jruby-1.2.2-universal-java-1.6...
Installing RDoc documentation for rufus-json-0.2.0...
Installing RDoc documentation for rufus-cloche-0.1.15...
Installing RDoc documentation for rufus-dollar-1.0.2...
Installing RDoc documentation for rufus-lru-1.0.3...
Installing RDoc documentation for rufus-mnemo-1.1.1...
Installing RDoc documentation for rufus-scheduler-2.0.5...
Installing RDoc documentation for sexp_processor-3.0.3...
Installing RDoc documentation for ruby_parser-2.0.4...
Installing RDoc documentation for rufus-treechecker-1.0.3...
Installing RDoc documentation for ruote-2.1.7...
Installing RDoc documentation for json-jruby-1.2.2-universal-
java-1.6...
franci...@ubuntu:~/realtravel/ext/data_local/jruby$ cd /home/francisco/
realtravel/rtsite/realtravel.com/
app/          bin/          db/           doc/          lib/
performance/  script/       stories/      tmp/          work/
assets/       config/       dependencies/ gems/         log/
public/       spec/         test/         vendor/
franci...@ubuntu:~/realtravel/ext/data_local/jruby$ cd /home/francisco/
realtravel/rtsite/realtravel.com/lib/ruote/
franci...@ubuntu:~/realtravel/rtsite/realtravel.com/lib/ruote$ more
test_ruote.rb
require 'rubygems'
require 'ruote'
require 'ruote/storage/fs_storage'

$engine =
Ruote::Engine.new(Ruote::Worker.new(Ruote::FsStorage.new('work')))


$engine.register_participant :alpha do |workitem|
  workitem.fields['message'] = { 'text' => 'hello !', 'author' =>
'Alice' }
end

$engine.register_participant :bravo do |workitem|
  puts "I received a message from #{workitem.fields['message']
['author']}"
end

$engine.variables['sync_process'] = Ruote.process_definition :name =>
'sync_process' do

  alpha
  bravo
end

wfid = $engine.launch($engine.variables['sync_process'], {})
puts "done: #{wfid}"
outcome = $engine.wait_for(wfid)
puts "result: #{outcome}"
franci...@ubuntu:~/realtravel/rtsite/realtravel.com/lib/ruote$ ruby
test_ruote.rb
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require': no such file to load -- ruote (LoadError)
        from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
31:in `require'
        from test_ruote.rb:2
franci...@ubuntu:~/realtravel/rtsite/realtravel.com/lib/ruote$ sudo
gem install ruote yajl-ruby
[sudo] password for francisco:
Successfully installed rufus-json-0.2.0
Successfully installed rufus-cloche-0.1.15
Successfully installed ruote-2.1.7
Building native extensions.  This could take a while...
Successfully installed yajl-ruby-0.7.4
4 gems installed
Installing ri documentation for rufus-json-0.2.0...
Installing ri documentation for rufus-cloche-0.1.15...
Installing ri documentation for ruote-2.1.7...
Installing ri documentation for yajl-ruby-0.7.4...
Installing RDoc documentation for rufus-json-0.2.0...
Installing RDoc documentation for rufus-cloche-0.1.15...
Installing RDoc documentation for ruote-2.1.7...
Installing RDoc documentation for yajl-ruby-0.7.4...
franci...@ubuntu:~/realtravel/rtsite/realtravel.com/lib/ruote$ ruby
test_ruote.rb
done: 20100312-biramopipe
I received a message from Alice
result: _rev0put_at2010-03-12 18:20:44.242301 UTCwfid20100312-
biramopipe_id11611!70280487916780!2010-03-12!1268418044.242250!
011actionterminatedworkitemparticipant_namebravofields__result__authorAlicetexthello
 !
messageauthorAlicetexthello !feisub_wfidwfid20100312-
biramopipeengine_idengineexpid0_1typemsgsfeisub_wfidwfid20100312-
biramopipeengine_idengineexpid0
franci...@ubuntu:~/realtravel/rtsite/realtravel.com/lib/ruote$ jruby -
S test_ruote.rb
Exception in thread "Thread-1" java.lang.NullPointerException
        at org.jruby.RubyFile.flock(RubyFile.java:297)
        at org.jruby.RubyFile$i_method_1_0$RUBYINVOKER$flock.call(org/jruby/
RubyFile$i_method_1_0$RUBYINVOKER$flock.gen)
        at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
147)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.IfNode.interpret(IfNode.java:119)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:225)
        at
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:
147)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:98)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:
317)
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:
268)
        at org.jruby.runtime.Block.yield(Block.java:194)
        at org.jruby.libraries.ThreadLibrary
$Mutex.synchronize(ThreadLibrary.java:167)
        at org.jruby.libraries.ThreadLibrary$Mutex$i_method_0_0$RUBYINVOKER
$synchronize.call(org/jruby/libraries/ThreadLibrary$Mutex
$i_method_0_0$RUBYINVOKER$synchronize.gen)
        at
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:
116)
        at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
123)
        at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:
64)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:
266)
        at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:
209)
        at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:
360)
        at
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:
238)
        at
org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:
253)
        at
org.jruby.ast.FCallThreeArgBlockNode.interpret(FCallThreeArgBlockNode.java:
36)
        at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:
173)
        at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:
169)
        at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:
310)
        at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
149)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:
173)
        at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:
169)
        at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:
310)
        at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
149)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:
173)
        at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:
169)
        at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:
310)
        at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
149)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.IfNode.interpret(IfNode.java:111)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:
173)
        at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:
169)
        at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:
310)
        at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
149)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.WhileNode.interpret(WhileNode.java:131)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:
136)
        at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:
153)
        at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
107)
        at org.jruby.ast.VCallNode.interpret(VCallNode.java:85)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at org.jruby.ast.WhileNode.interpret(WhileNode.java:131)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:
136)
        at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:
153)
        at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:
290)
        at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
109)
        at org.jruby.ast.VCallNode.interpret(VCallNode.java:85)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        at
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:
317)
done: 20100312-fumirusa
        at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:
305)
        at org.jruby.runtime.BlockBody.call(BlockBody.java:72)
        at org.jruby.runtime.BlockBody.call(BlockBody.java:78)
        at org.jruby.runtime.Block.call(Block.java:89)
        at org.jruby.RubyProc.call(RubyProc.java:221)
        at org.jruby.RubyProc.call(RubyProc.java:204)
        at org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:94)
        at java.lang.Thread.run(Thread.java:619)

-- 
you received this message because you are subscribed to the "ruote users" group.
to post : send email to [email protected]
to unsubscribe : send email to [email protected]
more options : http://groups.google.com/group/openwferu-users?hl=en

Reply via email to