MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: JLink to remote kernel not possible?

  • To: mathgroup at
  • Subject: [mg52620] Re: [mg52571] JLink to remote kernel not possible?
  • From: Todd Gayley <tgayley at>
  • Date: Sat, 4 Dec 2004 04:07:59 -0500 (EST)
  • Sender: owner-wri-mathgroup at

At 01:21 AM 12/2/2004, Zeno Crivelli wrote:
>I have a little java app that does some operations connecting to the
>kernel via JLink.
>I use the following lines to get a link to the kernel (locally, on my
>String argsOSX = "-linkmode launch -linkname
>KernelLink ml = MathLinkFactory.createKernelLink(argsOSX);
>Now, here is what I would like to do (probably a newbie question):
>I have access (via ssh) to a remote kernel ('math' command) on my Unix
>machine (let's call it which is running
>Mathematica 5.0 for Sun Solaris.
>I would like my java app to use the remote kernel (on the unix host)
>instead of the one installed on my PowerBook (so that I can use the
>java app from other computers where there's not Mathematica
>installed). Is there a way to do that? I was dreaming it was something
>trivial like make the remote kernel listen to a specific port (let's
>say 60000) and then, on the java client, use something like
>"createKernelLink( at"...but of
>course createKernelLink doesn't seem to accept a remote host as
>Please, can anybody help?


The argument to createKernelLink() is a string or array of the same 
arguments that all MathLink programs use, so you can find discussion of how 
to setup a remote Mathematica kernel in various places, including threads 
in this group. The J/Link User Guide, in fact, has an example of how to do 
exactly what you want. Find the J/Link docs in the AddOns & Links tab of 
the Help Browser and look at the section Part 2: Writing Java Programs That 
Use Mathematica/Creating Links with MathLinkFactory. The example uses rsh 
instead of ssh and it is based on a Windows client, but it will be easy to 
modify for your needs. The example is a bit outdated though, in that it 
uses the TCP protocol. Make sure you use the newer TCPIP protocol, so where 
you see "-linkprotocol tcp" replace it with "-linkprotocol tcpip".

Todd Gayley
Wolfram Research 

  • Prev by Date: Re: JLink to remote kernel not possible?
  • Next by Date: Re: JLink to remote kernel not possible?
  • Previous by thread: Re: JLink to remote kernel not possible?
  • Next by thread: Compiled function with NIntegrate