Hi,

I could provide you with a special debug version of the C++ remote UNO bridge which can be used to

- write a logfile containing all requests/replies served by the bridge
- dumps bridge errors to stderr

You could post the logfile/stderr output here which might help to analyze your problem.

Just drop me a note if you're interested. Please don't forget to mention the platform your office is running on. The bridge used by OOo is implemented in C++.

Kai

Bob Crothers wrote:
Thanks Stephan for your reply.

Overview - our system is for newspapers. We have a Java application
which rives OpenOffice. The ad taker uses our Java application, which
has multiple tabs. On one tab is OpenOffice, we size and move OpenOffice
so it stays within our window. The user enters the ad text in
OpenOffice. On the other tabs (Java panes) the user enters customer
info, billing, credit info etc. When the user first opens/creates an ad
we:


We add ourselves to XEventListener.
We setup our own service to talk to OO and for OO to talk to the Java
side.
We get the following interfaces
XTextDocument
XMultiServiceFactory
XTextFieldsSupplier
XDrawPageSupplier
XStyleFamiliesSupplier
XPrintable
XModifiable
XStorable
XRefreshable
XNameAccess
XWordCursor
XParagraphCursor
XViewCursor
XLineCursor

We use these same interfaces during the session of the ad. We do a lot
of getPropertySet and setPropertyValue. We make calls from Java into OO
macros, we respond to events, and we save the document via an OO macro.
This all works fine most of the time.

There seems to be cases (especially when the computer is busy) when we
get the exceptions. Once we start getting the exceptions, we do not
recover.

---

Regarding, "What requests are you sending exactly?"

For
com.sun.star.lib.uno.protocols.urp.Unmarshal.readboolean -
unexpected:java.io.EOFException
We called XModifiable.isModified ()

For com.sun.star.io.IOException: java.net.SocketException: Socket closed
XPropertySet pagePropertySet =
getPropertySet(pageStyles.getByName("Standard"));
pagePropertySet.setPropertyValue("Width", pageWidth);


For java_remote_bridge
[EMAIL PROTECTED] is
disposed
We called XModifiable.isModified ()



Regarding, "Do you have an idea how many synchronous UNO requests from your local Java side are outstanding," no but there could be several.


Regarding, "...remote side of the bridge is closing the connection," this is very interesting. Why is it closing the connection? Is there a way to keep the connection open until we are finished?

Bob


-----Original Message-----
From: Stephan Bergmann [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 16, 2005 11:39 PM
To: dev@api.openoffice.org
Subject: Re: [api-dev] How to protect from disposed exception?


Bob Crothers wrote:

Hi,



We have a multi-threaded Java environment. We are using OpenOffice.org


1.1.3. There are times when we make a series of UNO calls (mostly setting properties, save, and call macros) and also get a series of exceptions. The exceptions follow:



com.sun.star.lib.uno.protocols.urp.Unmarshal.readboolean - unexpected:java.io.EOFException

com.sun.star.io.IOException: java.net.SocketException: Socket closed

java_remote_bridge [EMAIL PROTECTED] is disposed


Hm, this means the remote side of the bridge is closing the connection while the local side of the bridge thinks it still has to read data. Do

you have an idea how many synchronous UNO requests from your local Java side are outstanding (have not yet received a reply from the remote OOo side) when the exception occurs---none, one (i.e., on a single Java thread), or multiple (i.e., on multiple Java threads simultaneously)? What requests are you sending exactly?

-Stephan


How can we defend against these exceptions?



Thanks

Bob Crothers


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to