Dobrý den,
děkuji za vyčerpávající odpověď. JSF používají pro zobrazení JSP viz
http://en.wikipedia.org/wiki/JavaServer_Faces, takže by nám mohla být
vaše rada být hodně užitečná.
Zdravím
Jakub Příkazský
Peter Stibrany napsal(a):
Dobry den,
priznam sa, ze neviem ktore z nastaveni v konfiguracii tomcatu toto
ovplyvnuju. Ja ked som dany problem pozoroval, tak som menil velkost
bufferu priamo v JSP stranke pouzitim direktivy <[EMAIL PROTECTED] buffer="..."
%>.
Nasledujuca JSP stranka demonstruje problem:
<[EMAIL PROTECTED] buffer="9kb" %>
<%
for (int i = 0; i < 1000; i++) {
out.println("" + i + " Bez domu Ivane, ceka te Natasa<br />");
if (i == 350) {
out.println("" + i + " Ooops<br />");
throw new IllegalStateException("fail: " + i);
}
}
%>
Uvedena velkost buffera 9kb sposobi, ze klient dostane riadky 0 az
221, hoci JSP stranka padne az pri iteracii 350. Detailnejsi pohlad na
odpoved zo servera ukaze, ze odpoved (okrem hlaviciek a po odstraneni
chunkovania) ma skutocne presne 9216 bajtov, teda 9kb.
Tento priklad ukazuje:
* klient dostane odpoved, ale nie kompletnu (riadky 222 az 350 sa mu
uz nikdy neposlu)
* klient nedostane ziadnu informaciu o chybe
* chyba (vynimka) je zalogovana v logoch aplikacie
Ked sme raz na tento problem narazili, a zvacsili sme velkost buffera
dostatocne na to, aby sa nestihlo klientovi nic poslat, tak pri
zlyhani JSP stranky a vyhodeni vynimky poslal Tomcat namiesto kusku
odpovede radsej chybovu stranku s vynimkou. To nam pomohlo zistit, co
sa vlastne stalo.
Zial neviem Vam poradit, ako tieto znalosti aplikovat na prostredie JSF :-(
-ps
2008/8/21 Jakub Příkazský <[EMAIL PROTECTED]>:
Peter Stibrany napsal(a):
Děkuji za odpověď,
zkusil jsem změnit nastavení komponenty tree2, na otevírání uzlů na
serveru na clientSideToggle=false a už se mi alespoň stromek zobrazí.
Pokud ale zkusím rozbalit několik dalších uzlů (při prvním otevření jsou
zbalené), tak se problém opět objeví. Pouze jsem se chtěl zeptat, které
hodnoty konfigurace Tomcatu měníte viz
(http://tomcat.apache.org/tomcat-5.5-doc/config/http.html) nebo si
myslíte, že mohou mít vliv? Zkusil jsem změnit bufferSize v konfiguraci
http konektoru, ale nezpozoroval jsem žádný vliv. Zjistil jsem, že se
maximální velikost vykreslené stránky pohybuje okolo 52KB. Používám
Tomcat 5.5.25.
S pozdravem
Jakub Příkazský
Prajem pekny den,
Neviem o JSF dost nato, aby som vedel, ci nas problem suvisi s Vasim,
ale ved posudte... my pouzivame Tomcat, Servlety a JSP stranky.
Pri naozaj velkych vystupoch z JSP stranky sa nam obcas stane, ze
pocas vykonavania stranky sa cast vystupu stihne poslat na klienta
(ked sa zaplni buffer), a az potom vykonavanie JSP stranky spadne.
Problem je, ze klient uz vidi tu cast, co dostal -- ale viac nikdy
nedostane, lebo JSP stranka zlyhala. Vynimku vidiet v logoch aplikacie
(ak nie je niekde odchytena a zabudnuta), pohlad klienta je vsak taky,
ze dostane len prvu cast stranky a nic viac, ziadnu chybu.
Pozrite sa na vystup, ktory klient dostane ... ci nahodou nema velkost
nasobku velkosti buffera. To by mohlo indikovat podobny problem. Ak
vsak nevidite ziadne problemy v logoch, tak bude tazke to najst (a
mozno to ani nesuvisi).
S pozdravom,
-Peter Stibrany
2008/8/20 Jakub Příkazský <[EMAIL PROTECTED]>:
Zdravím konferenci,
v aplikaci se mi objevuje naprosto záhadná chyba. Některé záznamy nelze
úplně zobrazit, vykreslí se pouze část stránky (několik uzlů a pak už jen
kousek nějakého html). Pro zobrazení záznamu používáme stromek, komponenta
tree2 MyFaces viz. (http://wiki.apache.org/myfaces/Tree2). Díval jsem se do
logu a nevidím nikde žádné chybu - renderovací cyklus JSF projde celý, data
jsou také načtená. V dokumentaci stromku jsem našel zmínku pouze o vysoké
paměťové náročnosti pokud je uzlů hodně a je zapnuté rozbalování na
klientovi - clientSideToggle=true, ale to není náš případ (cca 40 uzlů).
Zkoušel jsem na serveru přístup přes lokální alias (jestli se neděje něco po
cestě), ale chyba se projevuje stejně. Napadá někoho, jak problém řešit?
díky Jakub