[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Status of Ruby<->Java Interfaces

cast_ent

10/7/2004 8:43:00 PM

Hi,

I have a Java program that I'd like to access with Ruby, and I'm
looking for the 'right tool for the job'. The Java program is an API
collection of classes that implement a network/socket protocol, and
I'd like to find a way to have Ruby make the calls, e.g.
Java:
public class MySocket {
private Socket m_socket; // the socket
private DataOutputStream m_dos; // the socket
output stream
/////more stuff here....
private void send( String str) throws IOException {
m_dos.write( str.getBytes() );
m_dos.write( EOL);
}
}

and I'd like to be able to do something like:
Ruby:
mysock=Java.Class.MySockect.new (or something along these lines)
mysock.send("Hello there")

So what is the state of the world with the various options that exist
in Ruby for this sort of thing? I've had a brief look at rjni, rjava
and rjb. Each of which seem to be quite 'alpha'. Any comments,
suggestions on which is best? Any other options in terms of design?
Will these work with network/socket classes in Java?

Thanks in advance!
Jeff
3 Answers

James Gray

10/7/2004 9:25:00 PM

0

On Oct 7, 2004, at 3:44 PM, Jeff wrote:

> So what is the state of the world with the various options that exist
> in Ruby for this sort of thing? I've had a brief look at rjni, rjava
> and rjb. Each of which seem to be quite 'alpha'. Any comments,
> suggestions on which is best? Any other options in terms of design?
> Will these work with network/socket classes in Java?

I have know experience with any Java <-> Ruby bridges, but sine I know
it exists and I didn't see you mention it, have you checked out JRuby?
Just a thought.

James Edward Gray II



Mauricio Fernández

10/7/2004 9:57:00 PM

0

On Fri, Oct 08, 2004 at 06:24:42AM +0900, James Edward Gray II wrote:
> On Oct 7, 2004, at 3:44 PM, Jeff wrote:
>
> >So what is the state of the world with the various options that exist
> >in Ruby for this sort of thing? I've had a brief look at rjni, rjava
> >and rjb.

rjb is the only one actively developed atm., so it's probably the best
option.

I stopped working on rjni when I discovered that the JVM was interacting
with the signals ruby uses to implement threads (so that Ruby threads
wouldn't work) and realized that the non-reentrancy of ruby 1.x made
this all quite hard...

> Each of which seem to be quite 'alpha'. Any comments,
> >suggestions on which is best? Any other options in terms of design?
> >Will these work with network/socket classes in Java?

The main problem would be when you have multiple Java threads; that's
hard to handle in 1.x, at least if you're using JNI directly.

--
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com



Randy W. Sims

10/8/2004 12:26:00 AM

0

On 10/7/2004 4:44 PM, Jeff wrote:
> Hi,
>
> I have a Java program that I'd like to access with Ruby, and I'm
> looking for the 'right tool for the job'. The Java program is an API
> collection of classes that implement a network/socket protocol, and
> I'd like to find a way to have Ruby make the calls, e.g.

Is there any particular reason you can't use the ruby sockets interface
in this case?

Randy.