While creating a presentation about scripting Apache OpenOffice (AOO) for the 
upcoming ApacheCon
Europe (next week), I have been intensively exploring various AOO APIs in order 
to help the
attendants to conduct an easier life when creating scripts/programs to drive 
AOO wordprocessor
("swriter"), spreadsheet ("scalc"), presentation ("simpress").

The AOO support for ooRexx is based on BSF4ooRexx utilizing the Java 
APIs/interfaces of AOO. In
order to ease the ooRexx programmer's life there is an own package UNO.CLS 
(bridge to/from AOO)
created which requires BSF.CLS (bridge to/from Java). In this context there are 
Java callbacks
(implemented as Java Proxy objects) to wrapped ooRexx object defined.

In the case that a runtime error occurs and ooRexx terminates/shuts down it may 
sometimes be the
case that a Java finalize method on the proxied ooRexx objects executes and 
causes a callback into
the ooRexx instance, which may not be stable anymore. This use-case 
unfortunately results in ooRexx
crashes!

The reason is that for this particular use-case there is currently no 
possibility at the native
interface level to learn whether an ooRexx interpreter instance is still safe 
to be used or not.
Short of such a functionality the callback is carried out in any case as it 
usually only leads to an
ooRexx crash if the ooRexx programs abends unexpectedly.

The only remedy for this situation is an ability to learn via the ooRexx native 
interface about the
state of the ooRexx interpreter instance, such that one can react accordingly: 
if the interpreter
instance is alive, carry out the callback into ooRexx, otherwise raise an 
exception in Java to
inform that the interpreter instance is not available anymore.

In the past there were two different RFEs created to address this problem one 
way or another:

  * https://sourceforge.net/p/oorexx/feature-requests/435/
  * https://sourceforge.net/p/oorexx/feature-requests/356/

Any other solution would be fine as well, if it helps to solve this "ooRexx 
crash" (popup) problem,
which gives the impression to the programmer/user that ooRexx is unstable!

---rony

P.S.: With the Allura voting ability I tried to make these RFEs visible by 
voting for these RFEs.


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to