On Thu, 17 Sep 2009, Paul Landes wrote:
> Date: Thu, 17 Sep 2009 03:48:42 -0500
> From: Paul Landes <landes@...>
> To: Carlos Konstanski <ckonstanski@...>
> Cc: jdee-devel@...
> Subject: [jdee-devel] binary results from beanshell?
> Carlos Konstanski writes:
> > I am giving serious thought to writing a java database layer for use
> > in Common Lisp applications, since there is no really good DBI written
> > in Common Lisp (one that supports callable statements would be a
> > start). The one program I know of that features lisp interaction with
> > java is JDEE. I am beginning to look at the JDEE source code to see
> > how it all works.
> I think this is a good idea and a lot of people could
> benefit--including JDEE folks.
> I'm working out a plugable architecture for subordinate process
> command-event-loop Java programs like beanshell, jython etc. There's
> a common lisp implementation I've thought might work as a better
> supported replacement for the dying (dead, really) beanshell project.
> That implementation is:
> > I have 2 questions that will influence how I look at the JDEE source:
> > - Can lisp retrieve binary results from a java call in the JDEE
> > implementation?
> Not really, at least in the current form of the way beanshell is used.
> There are often issues with quoting and no real way to read data back
> and forth in this way. The data mechanism on a return request from
> beanshell to Emacs is emacs lisp or the raw results returned and used,
> usually to print on the screen.
> > - Is the beansheel stateful? If I fire up a pool of connections, will
> > they persist?
> Yes, if you bind it to the global namespace or "child" of the global
> Paul Landes
To deal with binary data transfer between the two processes, it
appears that BASE64 is used aplenty. I am finding that it is the
preferred way to encode binary data in XML files, which is used in
SOAP. Not that I want to use web services when simple HTTP requests
will do. One does not need the complexity of web services to request
that a query be run. XML is needed in only one direction - the
So having the external java process be a webapp is one approach. It
takes care of the whole connection issue very tidily. But naturally I
am interested in your ArmedBear stuff, especially if JDBC can be used
in an ArmedBear program. Time for me to familiarize myself with it.
Thanks for the reply and the good info! Let's hope we can benefit
from one another's efforts. I don't want to reinvent the wheel;
divergence isn't the best thing for open source.