[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: deadlocks





Falko Braeutigam wrote:

> On Fri, 19 Nov 1999, Zvi Avraham wrote:
> > Hi,
> >
> > I retested my Cocoon OzoneProducer with Ozone 0.3.2.
> > The problem now that when I accessing already stored documnet not by
> > DOMConverter,
> > Ozone client entres to deadlock ...
> >
> > So all this examples of printing XML document using OpenXML, XSL:P printers just
> > stuck and nothing going on ...
>
> You can produce deadlocks with just one client connection????

maybe this is not "deadlock" as I studied it in OS course :)
when I connecting to Ozone server, from other clients (Load.java with DOMConverter -
it's ok), but when I connecting from Cocoon or just Load.java modified to print
document using OpenXML or XSL:P printer - it's just stuck , but other clients still
work.

> The problem of ozone and cocoon is that coccon assumes that the DOM is an
> in-memory DOM - its entire architecture is based on this idea. So it is not
> possible for the OzoneProducer to just retrieve the DOM from ozone and give it
> to cocoon because cocoon will probable change the DOM tree before it will
> finally change ot to HTML and give it to the client. When using the DOM
> retrieved from the ozone DB this will change the db content too! And this is
> probably not what you want. Zvi, how did you address this problem?

I know this - Cocoon removing PIs from the document sometimes,
but I was successfully working with IPSI PDOM from Cocoon.
Cocoon 2 will address this issues, so source document will not be modified
(it will use SiteMap, instead of PIs).

BTW: this reproducing without Cocoon too, just try to print document using OpenXML or
XSL:P printer ...

> Can you send us the code of your OzoneProducer? We may better find the problem this
> way. You know cocoon, we know ozone - maybe it's a good idea to work together on the
>
> OzoneProducer.

Sure, Ann, sent me source code of her Cocoon OzoneProducer, but b/c it's her first
experience with servlets - I completely rewrote it :-)
There are still many things to implement:
1. Configurable interface - so user will be able to put database username, password,
host and port into Cocoon config file
2. XPath query support
3. XSLT processor support
it's not big deal, but I still unable to get basic PDOMt to work with Ozone :)

I attaching OzoneProducer source to this email, you can put there whatever license you
want :), after this will work you can put it to ozone XML samples directory ...

you invoke it using next URL:

http://localhost/cocoon/dummy.xml?producer=ozone&document=test.xml

of course you need to register it in cocoon.properties file:

producer.type.ozone = OzoneProducer

Zvi




OzoneProducer.java