RE: Balikovanie java aplikacii na linuxe

2009-10-19 Tema obsahu Tomas Hubalek
Bohužel u nás se používají sdílené accounty, takže může někdo z jiného teamu 
provést změnu o níž nejsem informován :-( Můžu o tom diskutovat, můžu s tím 
nesouhlasit, ale to je tak jediné co s tím můžu dělat.

Tom


-Původní zpráva-
Od: konference-boun...@java.cz za uživatele Oto Buchta
Odesláno: po 19.10.2009 2:01
Komu: Java
Předmět: Re: Balikovanie java aplikacii na linuxe
 
Pokud ma uzivatel pravo nekan prsknout jar, tak to je jen jeho
problem, protoze ostatnim uzivatlum to nemuze nic nabourat, protoze
nema pravo zapisu k adresarum jako /etc, /usr/lib nebo /usr/share/

Pak na to samozrejme spolehat lze, nebot si explicitne reknu o
konkretni baliky v konkretni verzi...

2009/10/16 Tomas Hubalek tomas.huba...@onsemi.com:
 Ja si stejne nemuzu pomoct, ale asi bych se bal spolehat na systemem
 nastavenou classpath. Kdyby se vsichni chovali slusne, tak proc ne, ale uz
 se mi mnohokrat stalo, ze nekdo nekam prsknul nejaky jar, ktery tam nemel co
 delat a pak se dely veci.

 Tom


 -Původní zpráva-
 Od: konference-boun...@java.cz za uživatele Dusan Zatkovsky
 Odesláno: pá 16.10.2009 11:54
 Komu: Java
 Předmět: Re: Balikovanie java aplikacii na linuxe

 On Thursday 15 of October 2009 18:12:24 Ján Valkovič wrote:

 Ahoj.

 Ten deb-maven-plugin vyzera zaujimavo a pravdepodobne je to presne to, co
 som
 hladal..

 Diky

 Zdravim,
 myslim, ze nejakym sposobom sa to uz riesi. Napr. jajuk[2] sa uz
 distribuuje ako balik v debiane (a ubuntu[1]).
 A existuje ak nejake prepojenie maven-deb[3].

 [1] http://packages.ubuntu.com/jaunty/jajuk
 [2] http://jajuk.info/index.php/Main_Page
 [3] http://mojo.codehaus.org/deb-maven-plugin/



 --
 Dusan





RE: Hledám JSP parser

2009-10-19 Tema obsahu Polak Michal
Tak si odpovidam sam.

Zkousim Jericho HTML Parser (http://sourceforge.net/projects/jerichohtml/)

A na prvni pohled to splnuje moje pozadavky (tj. vypise i tagy, ktere jsou v 
attributu jineho tagu).

Prikladam kus kodu, ktery z JSP souboru produkuje zhruba tento vystup:

[1,1]-[1,90]: %@ page language=java contentType=text/html; charset=CP1250 
pageEncoding=CP1250 %
[2,1]-[2,80]: %@ taglib uri=http://jakarta.apache.org/struts/tags-html-tc; 
prefix=html %
[3,1]-[3,77]: %@ taglib uri=http://jakarta.apache.org/struts/tags-bean; 
prefix=bean %
[5,1]-[5,10]: cb:body
[6,1]-[6,12]: cb:errors
[8,1]-[8,22]: div class=content
[10,1]-[10,5]: h2
[10,5]-[10,93]: cb:message key=hlaska007 text=Informace o produktu /
[10,93]-[10,121]: cb:hlp key=HLPPROD123/
[10,121]-[10,126]: /h2
...
[28,1]-[28,7]: /div
[30,1]-[30,13]: /cb:errors
[31,1]-[31,11]: /cb:body

Je to doopravdy pouze na ukazku:

import net.htmlparser.jericho.CharacterReference;
import net.htmlparser.jericho.Segment;
import net.htmlparser.jericho.Source;
import net.htmlparser.jericho.StartTag;
import net.htmlparser.jericho.StartTagType;
import net.htmlparser.jericho.Tag;

private static void _trace(Source aParser, Segment aTag) {

int beginOffset = aTag.getBegin();
int beginRow = aParser.getRow(beginOffset);
int beginColumn = aParser.getColumn(beginOffset);
int endOffset = aTag.getEnd();
int endRow = aParser.getRow(endOffset);
int endColumn = aParser.getColumn(endOffset);

String content = 
CharacterReference.decodeCollapseWhiteSpace(aTag.toString());
System.out.println(String.format([%d,%d]-[%d,%d]: %s
, beginRow, beginColumn, endRow, endColumn, content));
  }
  private void _doIt(File aFile) throws IOException {

Reader r = new BufferedReader(new FileReader(aFile));
Source source=new Source(r);

//Tags: % ... %
ListStartTag jspSpecificTags = 
source.getAllStartTags(StartTagType.SERVER_COMMON);
for (StartTag tag : jspSpecificTags) {
 
  _trace(source, tag);
}

//All Start/End tags but % ... %
Tag[] allTags = source.fullSequentialParse();
for (Tag tag : allTags) {

  if (!StartTagType.SERVER_COMMON.equals(tag.getTagType())) {
_trace(source, tag);
  }
}
  }

Tagy ctu dvema zpusoby:

- Bud pouze startovaci (trida StartTag) u tagu % ... %
- Anebo vsechny (trida Tag - startovaci i koncove) s tim, ze si % ... % 
odfiltruju.

V tomto pripade je to neoptimalni, protoze parseruju 2x 
(source.getAllStartTags, source.fullSequentialParse).
Klidne bych vystacil s source.fullSequentialParse(), ale chtel jsem ukazat i tu 
prvni moznost

Doufam sem za par dni nebudu vykrikovat, jaky jsou s parserem potize. :-)
--
Michal Polák

 -Původní zpráva-
 Od: konference-boun...@java.cz [mailto:konference-boun...@java.cz] za
 uživatele Polak Michal
 Odesláno: 19. června 2008 14:00
 Komu: javacz (konference@java.cz)
 Předmět: Hledám JSP parser
 
 Zdravím,
 
 Potřeboval bych umět v JSP vyhledat obsah některých mých (daného .tld)
 tagů a jejich attributů.
 
 Tedy např. pro
 
 %@ taglib uri=http://mojeurl/moje.tld; prefix=trdlo %
 
 tagy trdlo:info, trdlo:error, trdlo:message. I počet bytů/znaků
 od začátku dokumentu, řádek a sloupec výskytu.
 
 JSP podle mne nic nepředepisuje, tagy mohou ležet prakticky libovolně
 (i třeba v attributech jiných tagů, že ano). Resp. v již
 existujících JSP je mám obsažené a JSP zobrazují co chtěno, tj. obsah
 JSP je správný.
 
 JSP jsou psána v xhtml (ale není to zaručeno, tedy hledaný parser by se
 měl umět vyrovnat i s HTML a XML).
 
 Zatím jsem si (už před lety) zbastlil takovou naivní implementaci
 pomocí regulárních výrazů. Ale to se nedokážu vyrovnat např. s
 komentáři, a stejně tak mám problém určit pozici, řádek a sloupec.
 Netvrdím, že by to nešlo, ale hledám jednodušší už hotové řešení.
 
 Abych si psal celý lexer a parser sám, tak to se mi opravdu nechce.
 
 Máte třeba někdo pozitivní zkušenosti s
 javax.swing.text.html.HTMLEditorKit?
 Před lety mi v HTML zatloukal některé attributy a od té doby se jej
 bojím použít.
 
 Anebo neumíte někdo použít JSP parser třeba z Tomcatu? Tuším se jmenuje
 Jasper (bohužel stejně jako tiskový framework).
 
 Webových kontejnerů je přece mraky, někdo snad zveřejní svůj parser.
 
 Budu vděčen za jakékoliv rady.
 
 Děkuji.
 
 --
 Michal Polák


otimalizace nemennych hibernetich entit

2009-10-19 Tema obsahu danisevsky
Zdravím konferenci!
Rovnou k věci, mám v DB několik desítek tisíc záznamů, které různě filtruji
a zobrazuji na webu. Tyto záznamy jsou však neměnné, tak mě napadlo, zda by
se nějak nedalo optimalizovat jejich čtení.

První možnost co mě napadla je, všechny záznamy při startu aplikace načíst
do paměti a číst je z paměti. Ale to naráží na dva problémy, první, že nevím
zda by té paměti nesežraly moc a druhý zásadní problém, že při tom
filtrování používám Hibernate Criteria API.

Další možností by asi bylo použití nějakého Hibernetího cacheování, ale o
tom zatím nic moc nevím.

Taky jsem narazil na anotaci org.hibernate.annotations.Immutable, ale z
javadocu jsem se docetl jenom to, ze entita s touto anotací nejde updatnout.


Poradil by někdo, jak se toto řeší?
Předem díky.


Re: otimalizace nemennych hibernetich entit

2009-10-19 Tema obsahu Karel Tejnora
Imho tohle - pamet a disk - resi databaze. Proc jinak pouzivat databazi?
Zjistete si jak veliky ma vase databaze extent - to je minimalni
mnozstvi nactenych dat, takze je mozne ze mate uz v pameti jeste vice
dat nez pozadujete.

Z pohledu java aplikace jde spis o to, ze se nemusi resit transakcni
izolaci (zapis a cteni) a bylo by dobre rici databazi - ja ty data menit
nechci (READ ONLY).

Ale jak se to v hibernate udela?


danisevsky píše v Mon 19. 10. 2009 v 17:55 +0200:
 Zdravím konferenci!
 Rovnou k věci, mám v DB několik desítek tisíc záznamů, které různě
 filtruji a zobrazuji na webu. Tyto záznamy jsou však neměnné, tak mě
 napadlo, zda by se nějak nedalo optimalizovat jejich čtení. 




Re: otimalizace nemennych hibernetich entit

2009-10-19 Tema obsahu Jiří Chaloupka
Ahoj,
no, záleží na zátěži. Pokud je to server s tisíci konkurentními přístupy,
možná by stálo za to katalogizovat a periodicky generovat statická html a
zobrazovat je jen apachem. Ale pokud se nejedná o OPRAVDU VELKOU zátěž,
nezabýval bys se tím a nechal práci servlet containeru a hibernate.

Jirka

Dne 19. října 2009 20:37 Karel Tejnora ka...@tejnora.cz napsal(a):

 Imho tohle - pamet a disk - resi databaze. Proc jinak pouzivat databazi?
 Zjistete si jak veliky ma vase databaze extent - to je minimalni
 mnozstvi nactenych dat, takze je mozne ze mate uz v pameti jeste vice
 dat nez pozadujete.

 Z pohledu java aplikace jde spis o to, ze se nemusi resit transakcni
 izolaci (zapis a cteni) a bylo by dobre rici databazi - ja ty data menit
 nechci (READ ONLY).

 Ale jak se to v hibernate udela?


 danisevsky píše v Mon 19. 10. 2009 v 17:55 +0200:
  Zdravím konferenci!
  Rovnou k věci, mám v DB několik desítek tisíc záznamů, které různě
  filtruji a zobrazuji na webu. Tyto záznamy jsou však neměnné, tak mě
  napadlo, zda by se nějak nedalo optimalizovat jejich čtení.