Re: Hibenrate optimisticke zamykani

2008-05-13 Tema obsahu Roman Pichlik
>  V kazdem pripade, aby ten dirty-checking vubec mohl fungovat, je nutne 
> implementovat equals ve vsech tridach s persistentnimi typy (tj. vcetne 
> vasich UserType a kompozitnich typu).
> Mozna by toto mohlo byt pricinou popisovaneho problemu... (?)

To urcite neplati pro entity, u UserTypu si nejsem jisty. Nikde totiz
neni dane, ze equals musi byt implementovan nad vsemi propertami
entity, ba naopak. Rekl bych, ze je to v Hibernatu naimpllementovano
nejakym "brute force" porovnanim vsech namapovanych propert dane
entity. To bude jeden z duvodu, proc se v persistetnim kontextu drzi
kopie vsech nactenych entit. Dalsi moznosti je dynamicka proxy, kterou
Hibernate dela, pak je mozne hlidat accessory, kazdopadne to by zrejme
fungovalo jenom pro urcite pripady.

>   Původní zpráva ----
>  Od: Roman Pichlik <[EMAIL PROTECTED]>
>  Předmět: Re: Hibenrate optimisticke zamykani
>  Datum: 12.5.2008 15:27:21
>  
>
>
> >  Hibernate defaultne vsechny objekty uklada pri flushnuti session, protoze
>  >  vyvojari nejspise usoudili (?), ze je rychlejsi objekt zapsat, nez slozite
>  >  kontrolovat, zda se v nem neco zmenilo.
>
>  to rozhodne neplati, Hibernate tam samozrejme dirty checking ma.
>  Problem bude zrejme s temi kompozitnimi typy... Zkuste si oddebugovat,
>  co presne zpusobi, to ze je objekt oznaceny jako dirty.
>
>  --
>  S pozdravem Roman "Dagi" Pichlik
>
>  /* http://www.sweb.cz/pichlik/ Blog pro kodery */
>
>
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibenrate optimisticke zamykani

2008-05-12 Tema obsahu Roman Pichlik
>  Nevim jestli vyjimani ze session v mem pripade nebude slozitejsi nez manualni
>  flushing.  Otazkou pak zustava jestli je mozne uzavrti session bez flushnuti.

to nebude zrovna moc validni. Session kazdopadne umoznuje nastavit pro
danou instnaci entity
http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Session.html#setReadOnly(java.lang.Object,%20boolean)

>  Btw. ma teda vubec nejaky smysl metoda save()? Kdyz se stejne vzdycky 
> proveden
>  nad vsema obektama v session?

save ma smysl, protoze slouzi k tomu, aby Hibernate pochopil, ze nejak
instance prechazi z transient do persistence stavu. Update nema vyznam
pokud je instance asociaovana s persistetnim kontextem (Session) prave
diky dirty checkingu, ktery zajisti update. Je to hodne matouci pro
vyvojare zacinajici s Hibernatem,  potom je kod zbytecne prospikovan
volanim updatu.

>  Jak to pak provedu, kdyz tisice obektu pres jednu session nactu a jeden chci
>  zmenit a ulozt? Kdyz dam save(), pak musim stejne zavolat flush(). Takze mam
>  moznost zaslat tisice updatu, nebo tisice objektu vybrat ze session. To mi
>  prijde jako pomerne hodne nemotorne.

flush se musi volat kazdopadne jinak se ty DML prikazy vubec
neprovedou. Jakym zpusobem s temi objekty pracujete? Pokud je dana
instance jiz persistentni a jenom odpojena od persistentniho kontextu
tak staci zavolat merge
http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Session.html#merge(java.lang.Object).

>  >
>  > Hibernate defaultne vsechny objekty uklada pri flushnuti session, protoze
>  > vyvojari nejspise usoudili (?), ze je rychlejsi objekt zapsat, nez slozite
>  > kontrolovat, zda se v nem neco zmenilo.
>  >
>  > Mate v podstate 2 moznosti:
>  >
>  > a) pouzivat dynamicke updaty (atribut dynamic-update="true" u tridy v
>  > mapovacim XML, pripadne nejaka anotace - dle toho co pouzivate)
>  >
>  > b) rucne vyjimat (evict) dane objekty ze session
>  >
>  > H.
>  >
>  > > -Puvodni zprava-
>  > > Od: [EMAIL PROTECTED]
>  > > [mailto:[EMAIL PROTECTED] za uzivatele Lukas Benda
>  > > Odeslano: Monday, May 12, 2008 13:09
>  > > Komu: Java
>  > > Predmet: Hibenrate optimisticke zamykani
>  > >
>  > >
>  > > Dobry den,
>  > >
>  > > chci zacit pouzivat optimisticke zamykani s Hibernate.
>  > > Konkretne se mi jevi
>  > > jako zajimavejsi timestamp metoda, nicmene jestil dobre chapu
>  > > optimisticke
>  > > zamykani, tak ke zmene casove znamky ma dojit v pripade ze v
>  > > zaznamu doslo ke
>  > > zmene. Bohuzel hibernate nastavuje casovou znamku pokazde,
>  > > kdyz je zaznam
>  > > nacten.
>  > >
>  > > Kyz treba nactu padesat zaznamu okamzite se padesatkrat
>  > > provede update ... navic pouzivam slozeny datovy typ Adresa,
>  > > ktery se zapisuje do stejne tabulky
>  > > do nekolika sloupcu, ale nacteny je jako jediny objekt a i na
>  > > tento typ se
>  > > pokazde zavola update.
>  > >
>  > > Takze mam tabulku ve ktere jsou dve adresy. Pri nacteni 1
>  > > zanzamu se provede
>  > > trikrate update toho stejneho radku a nastavi se mu cas nacteni.
>  > >
>  > > Tohle chovani mi prijde uplne nesmyslne, nevite co jej muze
>  > > zpusobovat?
>  > > --
>  > > Lukas Benda
>
>
>
>  --
>  Lukas Benda
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibenrate optimisticke zamykani

2008-05-12 Tema obsahu Roman Pichlik
>  Hibernate defaultne vsechny objekty uklada pri flushnuti session, protoze
>  vyvojari nejspise usoudili (?), ze je rychlejsi objekt zapsat, nez slozite
>  kontrolovat, zda se v nem neco zmenilo.

to rozhodne neplati, Hibernate tam samozrejme dirty checking ma.
Problem bude zrejme s temi kompozitnimi typy... Zkuste si oddebugovat,
co presne zpusobi, to ze je objekt oznaceny jako dirty.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: TheServerSide konfera v Praze

2008-04-30 Tema obsahu Roman Pichlik
no vidis to Tapiku a jako clen CZJUG mailling listu by jsi mohl
usetrit jeste dalsich $200. To neni spatne ne ;-).

2008/4/30 Oto Buchta <[EMAIL PROTECTED]>:
> Zdravicko,
>  neco pro odlehceni pred prodlouzenym vikendem.
>
>  Kdo z Vas se chysta na The ServerSide Java Symposium, ktere se bude
>  konat v cervnu v Praze? Kdo se zaregistruje do 9.kvetna, usetri
>  celych STO DOLARU!
>
>  Takze misto $1895 zaplati jenom $1785 :-D D
>
>  At Zije Prvni Maj Hur
>
>  tapik
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Testovací vs produkční databáze

2008-04-25 Tema obsahu Roman Pichlik
Spring a definice datasource, ktera se lisi pro serverovy a testovaci
runtime. Na serveru se pouziva JNDI lookup a v testech se datasource
konfiguruje pres properties soubor (connection, url, name, password,
driver class). Ten si muze kazdy vyvojar vygenerovat a dat na
classpathu a nebo muze systemovou promenou nastavit jeho lokaci. Od
konkretni definice DS nas odstinuje Spring. My jenom v zavislsoti na
prostredi nakopneme jiny aplikacni kontext.

2008/4/25 Tomas Hubalek <[EMAIL PROTECTED]>:
> Elegantni reseni (podle meho) je JNDI na data sourcy. V produkcnim mate 
> datasource se stejnym jmenem jako na developmentu, ale jinymi konfiguracnimi 
> udaji.
>
>  Tom
>
>
>
>  > -Original Message-
>  > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
>  > Behalf Of Ing. Jan Novotný
>  > Sent: Friday, April 25, 2008 2:46 PM
>  > To: Java
>  > Subject: Re: Testovací vs produkční databáze
>  >
>  > Buď je možné buildovat odlišné artefakty pro různé stroje (např. přes
>  > profily v Mavenu) a nebo pokud byste chtěl mít stejný artefakt pro
>  > různé stroje je možné to dělat např. tak, že při inicializaci se budou
>  > nahrávat data z properties (nebo z XML, to už je jedno) souborů,
>  > obsahující konfiguraci pro různé stroje. Property soubory mohou být
>  > buď na disku nabo na classpath. Odlišení toho, že na testovacím
>  > prostředí se nahraje jeden property soubor s konfiguračními daty a na
>  > ostré jiný je možné zajistit buď odlišením přes parametr javy (při
>  > spouštění javy dodat na commandline např. -Dinstance=test a potom
>  > System.getProperty("test")) a nebo můžete jako odlišovací String
>  > použít název stroje, na kterém je aplikace spuštěná tímto kódem:
>  >
>  > InetAddress addr = InetAddress.getLocalHost();
>  > String thisMachineName = addr.getHostName();
>  >
>  > Doufám, že odpovídám na to, na co jste se ptal. Už párkrát se mi
>  > stalo, že jsem byl trochu "mimo" :-)
>  >
>  > S pozdravem,
>  > Honza Novotný
>  >
>  > 2008/4/25 Pavel Zelenka <[EMAIL PROTECTED]>:
>  > >
>  > > Zdravím,
>  > >
>  > > vyvvíjím webovou aplikaci (JSF, JPA, Tomcat). Pro vývoj a testy
>  > potřebuji
>  > > používat testovací databázi. Po deploymentu na produkční server
>  > potřebuji,
>  > > aby aplikace používala již ostrou databázi.
>  > > Jak toto řešíte v praxi?
>  > >
>  > > Díky
>  > >
>  > > Pavel Zelenka
>  > >
>  >
>  >
>  >
>  > --
>  > --
>  > Ing. Jan Novotný
>  > @@
>  > http://blog.novoj.net
>  > Myšlenky dne otce Fura
>  > --
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibernate - volitelny nazev tabulky

2008-04-24 Tema obsahu Roman Pichlik
ja bych preferoval to XML. Prijde mi to jako nejcistsi reseni.
Neexistuje nejaky nastroj, ktery vam dokaze usetrit praci v tom, ze z
anotaci ty XML mapovaci soubory vygeneruje.

2008/4/24 Tomas Metz <[EMAIL PROTECTED]>:
> Dobry den,
> resime s kolegou zvlastni problem. V zadani mame novy pozadavek, ze jmena
> tabulek, ktere ma nase aplikace pouzivat, musi byt konfigurovatelne.
> Atributy budou vzdy stejne, ale jmena tabulek si muze uzivatel nadefinovat v
> konfiguraci aplikace. V aplikaci pouzivame jako persistenci Hibernate,
> tabulky jsou namapovany na anotovane POJO. Uz jsme procitali dokumentaci,
> googlili a zda se, ze moc moznosti, jak toto vyresit neni. Jedna moznost je
> pouzit konfiguraci mapovani v XML a jmena tabulek nastavit programove v
> tomto XML, coz znamena predelat celou vrstvu aplikace. Druha moznost je
> poradit si s tim pres reflexi a menit anotaci takto, ale to si myslime, ze
> nebude fungovat vubec. Treti moznost, ktera pripada v uvahu, je pouzit primo
> SQL dotazy pres Hibernate, ale to jsme nikdy nedelali, takze ani nevime, jak
> se vysledek dotazu mapuje do POJO nebo jestli tsi to musime resit rucne
> sami.
>
> Vic jsme toho nenasli a zatim ani nemame jistotu, ze to bude vubec fungovat.
> Kdyby jste jiz nekdo mel s timto zkusenost nebo vedel, jak toto nejlepe
> vyresit, tak bych byl moc rad za radu. Predem diky moc.
>
>  S pozdravem TM
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Eclipse - Content assist

2008-04-22 Tema obsahu Roman Pichlik
>  To je snad potreba jenom proto, aby se parametry nazyvaly spravnymi jmeny a
> ne proto, aby se zobrazovala napoveda ...

Ne, je to pro obe dve vlastnosti. Pokud nejsou napojene zdrojaky, tak
Eclipse neukazuje iniline javadoc pripadne neni videt ve view Javadoc.


-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


CZJUG: K9 za K1

2008-04-21 Tema obsahu Roman Pichlik
Ahoj,
 stredecni setkani CZJUG neprobehne v K9, protoze bychom se tam
nevesli, ale v K1.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: verze javac, ktera vyprodukovala .class soubory

2008-04-21 Tema obsahu Roman Pichlik
No to ani nenajdes, muzes mit 1.4 source, ale zkompilovany 6.0 javac a
v byte kodu budes mit proste zakompilovano 6.0 a nic s tim neudelas.
Pokud mas ale zaruceno, ze 1.4 byla vzdy kompilovana javac 1.4 atd.
pak si to slizni primo z te binarky jak psal nekdo prede mnou.

2008/4/21 Pavel Kolesnikov <[EMAIL PROTECTED]>:
> On 21/04/2008, Oto Buchta <[EMAIL PROTECTED]> wrote:
>  > Hmmm. A proc potrebujes vytvaret binarne identicky .class, kdyz ho mas? cp
>  >  nestaci? :-)
>
>  Protoze mam veliký převeliký nepořádek ve verzích (což ja samozřejmě moje 
> chyba,
>  které šlo předcházet, ale už se to tak zkrátka stalo).
>
>  Jinými slovy, to, co hledám, není .class, ale správná revize
>  odpovídajícího zdrojáku.
>  Blbá situace, co? :-)
>
>  Pavel
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Eclipse - Content assist

2008-04-20 Tema obsahu Roman Pichlik
mate s projektem asociovane nejake JRE? To vypada, jakoby chybelo
rt.jar. Zkontrolujte Project >> Proeprties >> Java Build Path >>
zalozka Libraries >> musi zde existovat JRE System library. Pokud tam
neni, pak kliknete na tlacitko Add Library >> JRE System Library

2008/4/19  <[EMAIL PROTECTED]>:
> Ahoj konference
>
>  Nově jsem si nainstaloval Eclipse 3.3.
>  Potřebuji zobrazovat vlastnosti tříd a metod tak je to zde:
>  
> http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.jdt.doc.user/tips/jdt_tips.html
>  Pokud v editoru stisknu ctrl+space třeba zde > "System." - okno se zobrazí, 
> ale bez nabídky (No Default proposals).  Balíček JDT mám nainstalovaný. 
> Nabídku Preference > Java > Editor jsem proklikal.
>  Nevím, kde dělám chybu.
>
>  Děkuji za pomoc
>  Tomáš Jurman
>  Znojmo
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: TestCase a test exception

2008-04-17 Tema obsahu Roman Pichlik
A poustite to se spravnou verzi jUnitu, nemate nahodou pro kompilaci
novejsi verzi a pro spusteni se pouzije nejake 3.x  verze?


kdyztak

try {
   report.setReport(null);
   fail("Expected execption not thrown.");
} catch (final IndexOutOfBoundException e) {/*expected*/ }

2008/4/17 Jozef Babjak <[EMAIL PROTECTED]>:
> Nestacia stare dobre sposoby:
>
>  public void testNull() {
>try {
> report.setReport(null);
>} catch (final IndexOutOfBoundException e) {
> // yes, this is expected
>return;
>}
>fail("Expected execption not thrown.");
>  }
>
>  alebo nieco podobne?
>
>  Btw, ocakaval by som ze volanie something(null); vyhod
>  IllegalArgumentException, v krajnom pripade NullPointerException. :-)
>
>  J.
>
>
>
>
>
>  On Thu, Apr 17, 2008 at 2:41 PM, Vladimír Náprstek
>  <[EMAIL PROTECTED]> wrote:
>  > Zdravím,
>  >  potřebuji v testu ověřit, že se mi skutečně vyhazují výjimky, tak jsem
>  >  hledal a našel:
>  >
>  >  @org.junit.Test (expected=IndexOutOfBoundsException.class)
>  >  public void testNull() {
>  >report.setReport(null);
>  >  }
>  >
>  >  metoda report.setReport(null) má vyhodit IndexOutOfBoundsException.
>  >  Skutečně to i udělá. Očekával jsem ale, že test projde jako OK. Ale ne,
>  >  hlásí mi to, že vznikla IndexOutOfBoundsException. Takže asi dělám něco
>  >  špatně
>  >
>  >
>  >  --
>  >  s pozdravem
>  >
>  >  Vladimír Náprstek
>  >  E-mail : [EMAIL PROTECTED]
>  >
>  >
>  >
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


CZJUG Duben - Groovy a Jython

2008-04-11 Tema obsahu Roman Pichlik
Zdravim,
 dne 23.4.2008 od 18:00 proběhne Dubnové setkání CZJUG (ČVUT,
posluchárna K9, Karlovo náměstí 13) , které bude tentokrát věnováno
alternativním jazykům pro JVM a to konkrétně Groovy a Jython. Součástí
setkání bude i občerstvení sponzorované firmou CA. Pokud se chystáte
toto setkání navštívit, dejte nám to prosím vědět formou hlasování v
anketě na hlavní stránce.

Abstrakty prezentaci naleznete na
http://java.cz/detail.do?articleId=8604. Tesime se na Vasi ucast.

-- 
S pozdravem

Roman "Dagi" Pichlik


Re: maven - build profiles

2008-04-11 Tema obsahu Roman Pichlik
pripadne to lze udelat tak, ze se bude ten soubor generovat pri
buildu. Nasledujici plugin pouzivame pro vytvoreni jdbc.properties a
log4j.properties, ktere slouzi k testum. Promenne jsou nadefinovane v
profilu.

   
   
org.apache.maven.plugins
maven-antrun-plugin
1.1.1
  

  org.apache.ant
  ant-nodeps
  1.7.0

  

  
compile
 
  


  
  
  
  
   

  
  
  
  
   
  


  run

  

  
  

2008/4/11 Ing. Jan Novotný <[EMAIL PROTECTED]>:
> Řekl bych že by mělo stačit prosté filtrování resourců - viz.
>  
> http://maven.apache.org/guides/getting-started/index.html#How_do_I_filter_resource_files
>
>  Tzn. v log4j.properties / xml dát pouze ${LOG_LEVEL} a v property
>  mavenu v daném profilu si tuto property nastavovat.
>
>  H.
>
>  11.4.08, Vladimír Náprstek <[EMAIL PROTECTED]>:
>
>
> > Zdravím,
>  >  dostal jsem se do další fáze poznávání funkcí mavenu a narazil jsem na
>  >  jednu věc, kterou bych rád vyřešil. Při buildování aplikace bych rád
>  >  automatizoval kus konfigurace (např. logování: DEBUG pro devel server,
>  >  INFO pro production server). Našel jsem, že k tomu by měly být vhodné
>  >  profily. Jen jsem nenašel způsob, jak proměnnou z profilu v pom.xml
>  >  dostat do log4j.properties (například).
>  >
>  >  Poradíte mi, prosím?
>  >
>  >
>  >
>  >  --
>  >  s pozdravem
>  >
>  >  Vladimír Náprstek
>  >  E-mail : [EMAIL PROTECTED]
>  >
>  >
>  >
>
>
>  --
>  --
>  Ing. Jan Novotný
>  @@
>  http://blog.novoj.net
>  Myšlenky dne otce Fura
>  --
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: test zateze aplikace

2008-04-08 Tema obsahu Roman Pichlik
Pokud nepomuze nastaveni poolu, tak je to zvlastni. Jednou jsme meli
takovy obskurni pripad, kdy zatezove testy pri urcitem loadu padaly a
asi po tydnu hledani se prislo na to, ze na vine byl Cisco router,
ktery ten zvyseny provoz vyhodnotil jako DOS utok a tak pakety proste
zahazoval.

On Tue, Apr 8, 2008 at 8:28 AM, vobord1 <[EMAIL PROTECTED]> wrote:
> kouknul jsem se do nastaveni db a nasel jsem tohle. Jen si nejsem jistej 
> jestli se pro kazdeho uzivatele zaklada nove spojeni.
>
>  max_connections = 100
>
>  dik za tip
>
>  > 
>
>
> > Jen napad
>  >
>  > Databaze mivaji nastavene maximalni pocet spojeni ktere povoli.
>  > Typicky treba Oracle pokud je to jen development verze tak to ma nejak
>  > licencne omezene.
>  >
>  > Tedy chyba muze byt na strane nastaveni databazen a nikoli kodu.
>  >
>  > Palko
>  >
>  > On 08/04/2008, vobord1 <[EMAIL PROTECTED]> wrote:
>  > > Zdravim,
>  > >  pri testu zateze aplikace  (jmeter i realni uzivatele) se mi priblizne 
> po
>  > prihlaseni 30 uzivatelu zacnou objevovat vyjimky ze nelze otevrit spojeni 
> s db.
>  > >
>  > >  Pouzivam JBoss4.2.1 + Spring2.0 + JSP + Hibernate + Postgres8/Oracle9
>  > >  na transakce mam JtaTransactionManager(java:comp/UserTransaction) a
>  > TransactionProxyFactoryBean
>  > >
>  > >  zkousel jsem nastavovat ruzne timeouty, poolsize atd... ale bez uspechu
>  > >
>  > >  muzete mi nekdo poradit na co bych se mel zamerit? prece neni mozny aby 
> s DB
>  > mohlo soucasne pracovat pouze 30 lidi (je to stejne u postgres i oracle).
>  > >
>  > >  DIKY ZA RADY
>  > >  dave
>  > >
>  > >  Exception:
>  > >  org.hibernate.exception.GenericJDBCException: Cannot open connection
>  > >
>  > >  StackTrace:
>  > >   Caused by:org.jboss.util.NestedSQLException: Could not enlist in 
> transaction
>  > on entering meta-aware object!; - nested throwable:
>  > (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist
>  > resource, see the previous warnings. tx=TransactionImple < ac, BasicAction:
>  > 7f000101:8133:47fa9ee4:2422 status: ActionStatus.ABORT_ONLY >); - nested
>  > throwable: (org.jboss.resource.JBossResourceException: Could not enlist in
>  > transaction on entering meta-aware object!; - nested throwable:
>  > (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist
>  > resource, see the previous warnings. tx=TransactionImple < ac, BasicAction:
>  > 7f000101:8133:47fa9ee4:2422 status: ActionStatus.ABORT_ONLY >))
>  > >  Message:Cannot open connection
>  > >
>  > 
> org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
>  > >  
> org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
>  > >
>  > 
> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
>  > >
>  > 
> org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
>  > >
>  > 
> org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426)
>  > >
>  > 
> org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
>  > >
>  > 
> org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
>  > >  org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
>  > >  org.hibernate.loader.Loader.doQuery(Loader.java:673)
>  > >
>  > 
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
>  > >  org.hibernate.loader.Loader.doList(Loader.java:2220)
>  > >  org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
>  > >  org.hibernate.loader.Loader.list(Loader.java:2099)
>  > >  
> org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
>  > >  org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
>  > >  org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
>  > >
>  >
>  >
>  >
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Jak nastavit systemovou property v J2EE aplikaci

2008-03-31 Tema obsahu Roman Pichlik
> >  2) zrusenie nastavenia pre server a nastavenie kazdej aplikacii potrebnu
>  >  implemntaciu
>
>  Jeste bych se zeptal na tuto moznost 
>
>  Mozna totiz bude pro nas pruchodna. Kde se v EARu daji nastavit
>  systemove promenne?

nikde, systemova promenna je proste per JVM nikoliv aplikaci. Zalezi
na zpusobu inicializace dane knihovny. Co jsem vyccetl z vyse
uvedeneho, tak bych vytvoril META-INF/services/javax.xml.soap v
nejakem JARu uvnitr EARu a nastavil bych classloader do modu parent
last. To je IMHo nejcistsi reseni, pokud nemuzu vzdy ziskavat
konkretni isntanci, pres nejakou svoji factory, ktera bude instancovat
konkretni (mnou pozadovanou) implementaci.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


CZJUG - Březen, AOP ve webových aplika cích a Zajišťování výkonnosti aplikací

2008-03-12 Tema obsahu Roman Pichlik
Zdravim,
 na březnovém setkání CZJUG (26.3.2008, 18h, ČVUT Karlák - K9) budeme
hostit dva speciální řečníky. Tím prvním bude Andrea Provaglio s
prezentací na téma Seeing Aspects in Web Application Architectures.
Druhým hostem bude Oldřich Kepka z HP Software s tématem Zajišťování
výkonnosti aplikací.

Abstrakty prezentací naleznete na
http://java.cz/detail.do?articleId=8440. Zároveň budeme rádi, pokud
nám dáte vědět, jestli se toto setkání chystáte navštívit či nikoliv a
to formou hlasovaní v anketě na serveru java.cz.

Díky a těšíme se na vaší účast.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Spring HttpInvoker a dynamicke serviceUrl

2008-02-27 Tema obsahu Roman Pichlik
serverServiceHttpInvokerProxy je totiz factory beana, ktera vyrabi
proxy pro volani cz.vutbr.xkarel03.remote.ServerService. Pokud chcete
z Springu vytahnout factory beanu a ne to co vyrabi (v tomto pripade
tu proxinu) tak je potreba pouzit &.

HttpInvokerProxyFactoryBean factory = (HttpInvokerProxyFactoryBean)
wac.getBean("&serverServiceHttpInvokerProxy");
factory.setServiceUrl("//localhost:8080/server/remoting/serverService");

pak by

ServerService service = wac.getBean("serverServiceHttpInvokerProxy");

mela byt nastavena na tu danou URL

2008/2/26 radovan deka <[EMAIL PROTECTED]>:
> myslite tu propertu serviceUrl? To mi prislo jako genialni napad (jednoduche, 
> ale me by to nenapadlo), bohuzel se mi ji ale  v aplikacnim kodu nepodarilo 
> nastavit. Zkousel jsem to napr. tak, ze jsem se pokusil vytahnout celou beanu 
> serverServiceHttpInvokerProxy a nasledne ji nastavit serviceUrl.
>
>  ServletContext servletContext = 
> getContext().getRequest().getSession().getServletContext();
> WebApplicationContext wac = 
> WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
> UrlBasedRemoteAccessor httpInvokerProxyFactoryBean = 
> (UrlBasedRemoteAccessor) wac.getBean("serverServiceHttpInvokerProxy");
> 
> httpInvokerProxyFactoryBean.setServiceUrl("//localhost:8080/server/remoting/serverService");
>
>  ztroskotalo to vsak na tom, ze serverServiceHttpInvokerProxy je proxy:
>
>  java.lang.ClassCastException: $Proxy35 cannot be cast to 
> org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean
>
>  Taky sem zkousel nasetovat serverServiceHttpInvokerProxy do moji tridy kde 
> mam business logiku, ale skoncilo to podobnou vyjimkou, ze nemuze konvertovat 
> [$Proxy35] na dany typ a jeste to napsalo: no matching editors or conversion 
> strategy found. Muzete prosim jeste poradit jak by se dala ta properta v 
> aplikacnim kodu nastavit? Nebo jsem to cely spatne pochopil?
>
>
>
>
>  >  Původní zpráva 
>  > Od: Roman Pichlik <[EMAIL PROTECTED]>
>  > Předmět: Re: Spring HttpInvoker a dynamicke serviceUrl
>  > Datum: 26.2.2008 20:35:58
>  > 
>
>
> > asi bych tuto danou propertu nenastavoval pres Spring, ale udelal bych
>  > to vzdy v aplikacnim kodu.
>  >
>  > 2008/2/26 radovan deka <[EMAIL PROTECTED]>:
>  > > Jde jenom o to vybrat vzdaleny endpoint v runtime, aplikacni rozhrani 
> vsech
>  > endpointu bude zname a stejne. Predem diky za radu.
>  > >
>  > >
>  > >  >  Původní zpráva 
>  > >  > Od: Roman Pichlik <[EMAIL PROTECTED]>
>  > >  > Předmět: Re: Spring HttpInvoker a dynamicke serviceUrl
>  > >  > Datum: 26.2.2008 18:31:09
>  > >  > 
>  > >
>  > >
>  > > > > A jakou byste obecne doporucili technologii, aby se dal co 
> nejsnadneji
>  > splnit
>  > >  > pozadavek, ze vyber protejsi strany komunikace se deje az za behu 
> aplikace.
>  > >  > > Bylo by to s RMI nebo Hessianem lepsi? A nebo Web service, o kterych
>  > zatim
>  > >  > vubec nic nevim?
>  > >  >
>  > >  > a jde jenom o to vybrat vzdaleny endpoint v runtime a nebo bude
>  > >  > kompletne nezname aplikacni rozhrani endpointu tj. nevite jestli tam
>  > >  > bezi WebService, Hessian a RMI?
>  > >  >
>  > >  >
>  > >  > >
>  > >  > >  >  Původní zpráva 
>  > >  > >  > Od: Roman Pichlik <[EMAIL PROTECTED]>
>  > >  > >  > Předmět: Re: Spring HttpInvoker a dynamicke serviceUrl
>  > >  > >  > Datum: 24.2.2008 10:16:03
>  > >  > >  > 
>  > >  > >
>  > >  > >
>  > >  > > > No to bude trohu problem, protoze chcete, aby se staticka 
> konfigurace
>  > >  > >  > chovala dynamicky.
>  > >  > >  >
>  > >  > >  > Jake jsou moznosti:
>  > >  > >  >
>  > >  > >  > - serviceUrl nastavovat programove, az potom co je ziskana 
> instance
>  > >  > >  > serverServiceHttpInvokerProxy
>  > >  > >  > - serviceUrl dotahovat pres PropertyPlaceholderConfigurer viz
>  > >  > >  > dokumentace. V takovem pripade se musi zmenit lifecycle beany a 
> to na
>  > >  > >  > lazy inicializaci a nebo scope prototype,

Re: Spring HttpInvoker a dynamicke serviceUrl

2008-02-26 Tema obsahu Roman Pichlik
asi bych tuto danou propertu nenastavoval pres Spring, ale udelal bych
to vzdy v aplikacnim kodu.

2008/2/26 radovan deka <[EMAIL PROTECTED]>:
> Jde jenom o to vybrat vzdaleny endpoint v runtime, aplikacni rozhrani vsech 
> endpointu bude zname a stejne. Predem diky za radu.
>
>
>  >  Původní zpráva --------
>  > Od: Roman Pichlik <[EMAIL PROTECTED]>
>  > Předmět: Re: Spring HttpInvoker a dynamicke serviceUrl
>  > Datum: 26.2.2008 18:31:09
>  > 
>
>
> > > A jakou byste obecne doporucili technologii, aby se dal co nejsnadneji 
> > > splnit
>  > pozadavek, ze vyber protejsi strany komunikace se deje az za behu aplikace.
>  > > Bylo by to s RMI nebo Hessianem lepsi? A nebo Web service, o kterych  
> zatim
>  > vubec nic nevim?
>  >
>  > a jde jenom o to vybrat vzdaleny endpoint v runtime a nebo bude
>  > kompletne nezname aplikacni rozhrani endpointu tj. nevite jestli tam
>  > bezi WebService, Hessian a RMI?
>  >
>  >
>  > >
>  > >  >  Původní zpráva 
>  > >  > Od: Roman Pichlik <[EMAIL PROTECTED]>
>  > >  > Předmět: Re: Spring HttpInvoker a dynamicke serviceUrl
>  > >  > Datum: 24.2.2008 10:16:03
>  > >  > 
>  > >
>  > >
>  > > > No to bude trohu problem, protoze chcete, aby se staticka konfigurace
>  > >  > chovala dynamicky.
>  > >  >
>  > >  > Jake jsou moznosti:
>  > >  >
>  > >  > - serviceUrl nastavovat programove, az potom co je ziskana instance
>  > >  > serverServiceHttpInvokerProxy
>  > >  > - serviceUrl dotahovat pres PropertyPlaceholderConfigurer viz
>  > >  > dokumentace. V takovem pripade se musi zmenit lifecycle beany a to na
>  > >  > lazy inicializaci a nebo scope prototype, v dusledku toho ze hodnota
>  > >  > nemusi byt znama pri inicializaci kontextu
>  > >  > - udelat ze serviceUrl beanu s vlastni factory viz dokumentace, ktera
>  > >  > bude v zavislosti na kontextu inicializovat jeji hodnotu. Problem se
>  > >  > zmenou lifecycle serverServiceHttpInvokerProxy pretrva
>  > >  >
>  > >  >
>  > >  > 2008/2/23 radovan deka <[EMAIL PROTECTED]>:
>  > >  > > Ahoj, muj predesly prispevek neni tak dulezitej, zjistil sem, ze 
> neni
>  > zadnej
>  > >  > problem to zinicializovat rucne. Velky starosti mi vsak dela, jak 
> udelat,
>  > abych
>  > >  > URL adresu druhe aplikace mohl zadavat az za behu prvni aplikace. Ted 
> tu
>  > adresu
>  > >  > zadavam primo v kontextu v definici beanu:
>  > >  > >
>  > >  > >   > >  >
>  > 
> class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
>  > >  > >   > >  > value="http://localhost:8080/server/remoting/serverService"/>
>  > >  > >   > >  > value="cz.vutbr.xkarel03.remote.ServerService"/>
>  > >  > > 
>  > >  > >   > >  >
>  > 
> class="org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor"/>
>  > >  > > 
>  > >  > > 
>  > >  > >
>  > >  > >  ja bych ale potreboval, abych mohl adresu
>  > >  > "http://localhost:8080/server/remoting/serverService"; zadat az ve 
> webovem
>  > >  > formulari, pac ta aplikace by mela umet komuikovat s vice jinymi
>  > aplikacemi.
>  > >  > Predem diky za pripadne info.
>  > >  > >
>  > >  >
>  > >  >
>  > >  >
>  > >  > --
>  > >  > S pozdravem Roman "Dagi" Pichlik
>  > >  >
>  > >  > /* http://www.sweb.cz/pichlik/ Blog pro kodery */
>  > >  >
>  > >  >
>  > >  >
>  > >
>  >
>  >
>  >
>  > --
>  > S pozdravem Roman "Dagi" Pichlik
>  >
>  > /* http://www.sweb.cz/pichlik/ Blog pro kodery */
>  >
>  >
>  >
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Spring HttpInvoker a dynamicke serviceUrl

2008-02-26 Tema obsahu Roman Pichlik
> A jakou byste obecne doporucili technologii, aby se dal co nejsnadneji splnit 
> pozadavek, ze vyber protejsi strany komunikace se deje az za behu aplikace.
> Bylo by to s RMI nebo Hessianem lepsi? A nebo Web service, o kterych  zatim 
> vubec nic nevim?

a jde jenom o to vybrat vzdaleny endpoint v runtime a nebo bude
kompletne nezname aplikacni rozhrani endpointu tj. nevite jestli tam
bezi WebService, Hessian a RMI?


>
>  >  Původní zpráva ----
>  > Od: Roman Pichlik <[EMAIL PROTECTED]>
>  > Předmět: Re: Spring HttpInvoker a dynamicke serviceUrl
>  > Datum: 24.2.2008 10:16:03
>  > 
>
>
> > No to bude trohu problem, protoze chcete, aby se staticka konfigurace
>  > chovala dynamicky.
>  >
>  > Jake jsou moznosti:
>  >
>  > - serviceUrl nastavovat programove, az potom co je ziskana instance
>  > serverServiceHttpInvokerProxy
>  > - serviceUrl dotahovat pres PropertyPlaceholderConfigurer viz
>  > dokumentace. V takovem pripade se musi zmenit lifecycle beany a to na
>  > lazy inicializaci a nebo scope prototype, v dusledku toho ze hodnota
>  > nemusi byt znama pri inicializaci kontextu
>  > - udelat ze serviceUrl beanu s vlastni factory viz dokumentace, ktera
>  > bude v zavislosti na kontextu inicializovat jeji hodnotu. Problem se
>  > zmenou lifecycle serverServiceHttpInvokerProxy pretrva
>  >
>  >
>  > 2008/2/23 radovan deka <[EMAIL PROTECTED]>:
>  > > Ahoj, muj predesly prispevek neni tak dulezitej, zjistil sem, ze neni 
> zadnej
>  > problem to zinicializovat rucne. Velky starosti mi vsak dela, jak udelat, 
> abych
>  > URL adresu druhe aplikace mohl zadavat az za behu prvni aplikace. Ted tu 
> adresu
>  > zadavam primo v kontextu v definici beanu:
>  > >
>  > >   > 
> class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
>  > >   > value="http://localhost:8080/server/remoting/serverService"/>
>  > >   > value="cz.vutbr.xkarel03.remote.ServerService"/>
>  > > 
>  > >   > 
> class="org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor"/>
>  > > 
>  > > 
>  > >
>  > >  ja bych ale potreboval, abych mohl adresu
>  > "http://localhost:8080/server/remoting/serverService"; zadat az ve webovem
>  > formulari, pac ta aplikace by mela umet komuikovat s vice jinymi 
> aplikacemi.
>  > Predem diky za pripadne info.
>  > >
>  >
>  >
>  >
>  > --
>  > S pozdravem Roman "Dagi" Pichlik
>  >
>  > /* http://www.sweb.cz/pichlik/ Blog pro kodery */
>  >
>  >
>  >
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Spring HttpInvoker a dynamicke serviceUrl

2008-02-24 Tema obsahu Roman Pichlik
No to bude trohu problem, protoze chcete, aby se staticka konfigurace
chovala dynamicky.

Jake jsou moznosti:

- serviceUrl nastavovat programove, az potom co je ziskana instance
serverServiceHttpInvokerProxy
- serviceUrl dotahovat pres PropertyPlaceholderConfigurer viz
dokumentace. V takovem pripade se musi zmenit lifecycle beany a to na
lazy inicializaci a nebo scope prototype, v dusledku toho ze hodnota
nemusi byt znama pri inicializaci kontextu
- udelat ze serviceUrl beanu s vlastni factory viz dokumentace, ktera
bude v zavislosti na kontextu inicializovat jeji hodnotu. Problem se
zmenou lifecycle serverServiceHttpInvokerProxy pretrva


2008/2/23 radovan deka <[EMAIL PROTECTED]>:
> Ahoj, muj predesly prispevek neni tak dulezitej, zjistil sem, ze neni zadnej 
> problem to zinicializovat rucne. Velky starosti mi vsak dela, jak udelat, 
> abych URL adresu druhe aplikace mohl zadavat az za behu prvni aplikace. Ted 
> tu adresu zadavam primo v kontextu v definici beanu:
>
>  class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
>  value="http://localhost:8080/server/remoting/serverService"/>
>  value="cz.vutbr.xkarel03.remote.ServerService"/>
> 
>  class="org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor"/>
> 
> 
>
>  ja bych ale potreboval, abych mohl adresu 
> "http://localhost:8080/server/remoting/serverService"; zadat az ve webovem 
> formulari, pac ta aplikace by mela umet komuikovat s vice jinymi aplikacemi. 
> Predem diky za pripadne info.
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Testy spring aplikace

2008-02-22 Tema obsahu Roman Pichlik
K testovaniu rozhodne pouzit
http://static.springframework.org/spring/docs/2.5.x/reference/testing.html#testcontext-framework,
to zajisti inicializaci kontejneru a injectovani testovanych instanci
do vlastniho testu. Potom doporucuji zamerit oko na
http://static.springframework.org/spring/docs/2.5.x/reference/testing.html#mock-objects
kde jsou nejake mock objekty, ktere by se mohli hodit jako nahrady za
Servlet API.

2008/2/22 Náprstek Vladimír <[EMAIL PROTECTED]>:
>
>
>
> Zdravím,
>  mám zase jeden ze svých začátečnických dotazů - tentokrát testování. Mám
> web aplikaci (spring), která používá ntlm autentifikaci, session a request
> scope beany a ty jsou injektovány do kontrolerů. No a teď se trápím s tím,
> jak takové beany a kontrolery testovat. Zkouším hledat na webu, ale zatím
> jsem nic nenašel. Poradíte mi, prosím, kde mám hledat?
>
>  s pozdravem
>
>  Vladimír Náprstek
>  E-mail : [EMAIL PROTECTED]
>
>
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: hibernate dynamicke UserType

2008-02-19 Tema obsahu Roman Pichlik
kdyby to jinak neslo, tak minimalne pres ThreadLocal promennou je to
mozne udelat, pokud je Map znam v okamziku
volani ORM. Pokud vytvari Hibernate novou instanci UserType (myslim ze
ano) a ta mapa je definovana Springem, pak to lze udelat jeste
elegantneji pres AOP a depenedency injection pro domenove objekty.

@Configurable
public class MyType implements UserType {
 @Autowired
 private Map managedBean;

 .
 .
 .
}





2008/2/18 Lukas Benda <[EMAIL PROTECTED]>:
> Dobry den,
>
> mam takovyhle problem: Mam sadu hodnot (objektu dane tridy), ktere nejsou v
> databazi. ale v nejakem setovacim souboru (aktualne jako Spring XML). Vlastni
> implementaci hashCode() ma kazdy z techto objektu vlastni hashCode(). Kdyz
> mam tedy objekt typu Map mohu jednoduse podle hash
> code najit hodnotovy objekt.
>
> Tento hodnotovy objekt je jako parametr pouzit ve tride jejiz instance chci
> ukladat do databaze.
>
> Jenze udelat UserType, ktery prevadi objekt na Integer, podle hashCode a
> zpatky vyzaduje mit pristupnou (zminovanou) mapu v instanci UserType (v
> opacnem pripade jde udelat jenom jednosmerny prevod). Bohuzel UserType se
> pradava jako trida a nikoli jako instance.
>
> Jak udelat takovy UserType?
>
> Existuje implementace UserType pro enum, ale tam je jiz pri kompilaci zname,
> ktere hodnoty vyctu mame, ale pokud se ty vycty tvori az za behu musim i
> UserType byt schopny prejimat parametry az za behu.
>
> Jak se da neceho takoveho dosahnout?
>
> P.S.: Je zde lepsi ORM, ktery tohle dovoluje? Protoze docela prestavam mit
> viru ve schopnosti Hibernate. Dynamicke UserTypy mi prijdou docela zakladni
> vlastnosti proto, aby nastroj byl skutecne ORM. Ve skutecnosti by dynamicky
> UserType ve spojeni s AOP absolutne nahradil vsechny mapovani kolekci a to
> velmi efektivne.
>
> To co chci je anglicky vlastne popsane v tomhle vlakne:
> http://forum.springframework.org/showthread.php?t=37815&highlight=user+type
> --
> Lukas Benda
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


CZJUG - Unorove setkani

2008-02-18 Tema obsahu Roman Pichlik
Zdravim,
 ve středu 27.2.2008 v 18h přivítáme na CZJUG setkání Petra
Ferschmanna ze společnosti SoftEU s přednáškou o webovém frameworku
JBoss Seam.

http://java.cz/detail.do?articleId=8337

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Jak maximalne srazit spotrebu pameti JRE

2008-02-01 Tema obsahu Roman Pichlik
>   ^-- No, vidis. Pouzivas sice -client, ale tahas do neho ficury zo -server.

no on je rozdil pouzivat cele nastaveni JVM a nebo si jenom vyzobnout
kousky, ktere vyhovuji pro danou aplikace.



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Jak maximalne srazit spotrebu pameti JRE

2008-01-31 Tema obsahu Roman Pichlik
>   ^-- No ved prave. Ked si to vezmeme z uhla pohladu
> "client je dobry, ale server este viac optimalizuje", je
> to v poriadku. Ked si to vezmeme z uhla pohladu "je
> mozne dosiahnut taku a taku optimalizaciu (pozri
> -server), ale -client ju nedosiahne", zacne byt -client
> zly a zbytocny, nie?

neni zbytecny. On te optimalizace dosahne take, jenom ta hranice, kdy
zacne HotSpot optimalizovat, je posunuta mnohem vysse, aby pro
jednoduche aplikace (grep atd.) zbytecne nezdrzovala. Nez laborovani s
client a server modem prod IDE se mi osvedcilo nastaveni GC strategie,
s  -XX:+UseParallelGC jede Eclipse mnohem svizneji.


-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Jak maximalne srazit spotrebu pameti JRE

2008-01-30 Tema obsahu Roman Pichlik
>   ^-- Ked uz sme pri tom: ma v dnesnej dobe nejaky valny vyznam mat
> -client a -server? Nestacilo by mat jeden "poriadny" VM? Inak
> povedane, v akych typoch aplikacii je dnesny -server neakceptovatelny?

urcite ma, protoze kazdy typ aplikace ma jine narokya a podle toho by
se mel HotSpot chovat. Pro klientske aplikace je dulezity rychly start
a maly vykonostni footprint. Naopak na serveru se HotSpot optimalizace
vykonostne ztrat a prodlouzeni startu take nehraje roli.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Budoucnost aplikacnich serveru

2008-01-30 Tema obsahu Roman Pichlik
> Hláška "JBoss jde do kytek" je pro mně ten nejlepší argument proč
> používat standardní technologie a standardní řešení, nejlépe zrovna od
> Sunu. Co když po JBossu půjde do kytek Hibernate? Nebo dokonce
> Spring? ;-)

to uz je opravdu OT, ale videl jste akcie Sunu ;-). Ne ted vazne,
nastesti to uz nestoji jenom na tom Sunu.



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Budoucnost aplikacnich serveru

2008-01-30 Tema obsahu Roman Pichlik
> Aplikacni server JBOSS je zdarma, rovnez tak Glassfish. Za obema stoji
> velke firmy, za Glassfishem Sun.

to je Tomcat take a komercni podpora se k nemu da doukoupit take.
Jenom za nim nestoji velka firma, ale ASF ;-). Takze to neni zadny
duvod proto pouzivat aplikacni server. Jinak delsi dobu jdou takove
zvesti, ze JBoss jde do kytek. Uz jenom treba to, ze RedHat uriznul
investice do R&D.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Budoucnost aplikacnich serveru

2008-01-30 Tema obsahu Roman Pichlik
> Muze tady pomoci Spring? Dival jsem se na Spring Rich Client a posledni
> verze je ze zari 2006. Bud uz je to dokonale (to musi posoudit nekdo kdo
> to pouziva) nebo to usnulo. Mne tady EJB3/AS prijde idealni s ohledem na
> cenu/vykon.

Spring RCP je podle me mrtva platforma, kterou prevalcovali Eclipse
RCP a NetBeans RCP. Samozrejme existuji i jine moznosti jak
distribuovat chovani viz
WS ci jine lightweight odnoze, ke kterym EJB nepotrebujete.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Budoucnost aplikacnich serveru

2008-01-30 Tema obsahu Roman Pichlik
>  Priamo sa to osgi nevola, ale ak si zoberieme akym spobom pracuje class
> loader vzhladom na
>  moznost  re-deploymentu jednotlivych modulov - tak je to minimalne
> alternativa.
>  V  j2ee  spec su uz od zaciatku stanovene pravidla ako jednotlive
> komponenty aplikacie
>  medzi sebou suvisia,  a je jasne definovane samotne oddelenie prostriedkov
> prostredia (contexty,
>  class loadre a.p).  Takiez je specifkovane to akym sposobom sa ma spravat
> AS v pripade
>  redeploymentu  tychto prostriedkov alebo aplikacie.

J2EE specka je v tomhle hrozne vagni, takze krome opravdu tech
nejzakladnejsich pravidel si to kazdy aplikacni server resi jinak. Uz
jenom problemy s tim, aby se v EARu sdileli nejake knihovny, to neni
nikde definove. Nevim s kolika AS mate zkusenost, ale my nase aplikace
bezime na ruznych verzich WebLogicu, WebSphere, JBossu i OC4J, takze
mam docela realnou predstavu jak vypada implementace J2EE specifikace
v praxi.


>  Granulovat jednu aplikaciu na 10 modulov je jedna vec mat moznost tychto 10
> modulov dostat
>   mimo aplikaciu  aby poskytovali pri rovnakych vlastnostiach prostredia
> (napr. rychlost) svoje sluzby je vec druha.
>  Za zart pokladam to ked sa niekto dokaze spytat ako suvisi architektura s
> packagingom,
>  samozrejme ze suvisi a zlym rozvrhnutim sa da pokazit aj inak dobre
> nakodovana vec.
>  Alebo ste nikdy nepoculi o component a deployment diagramoch ?

Modularita souvisi s vnitrni architekturou aplikace. Aplikace pak muze
navenek poskytovat sluzby, ktere nesouvisi s tim jak je vnitrne
zapackugujete. To jsou uplne ortogonalni problemy. Slysel jste nekdy o
Service Oriented Architecture?


-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Budoucnost aplikacnich serveru

2008-01-29 Tema obsahu Roman Pichlik
>  Pretoze pokial nedokaze buduca "referencna plaforma tomcat" podporovat
> dynamic service model  tak bude v porovnani s aplikacnymi servermi stale
> tahat za kratsi koniec.

:-D a AS je proboha podporuje jak vzhledem k J2EE specce? Ekvivalent
modularity jakou definuje OSGi nenabizi a problem pouzivat OSGi v
ramci AS je toho dukazem a to i pres to, ze plno AS se rozhodlo jejich
vlastni infrastrukturu prepsat od OSGi bundlu.

>  Predstava ze by enterprise aplikaciu mal tvorit jeden war mi pride ako
> pokus o zart - uz len preto ze ked to cele  zakreslim na "white board" a
> bude to len jedna "krabica" , ukazem na to a poviem ze je to praca teamu
> ludi za 6 mesiacov tak tomu nebude nikto verit :)

Zert je zrejme tohle konstatovani, jak pozdeji priznavate . Jak
souvisi architektura aplikace s jejim packagengem?! Takze kdyz neco
navrhnu do deseti EJB modulu, pridam tri WARy a ktomu nejaky SAR tam
mam enterprise aplikaci.

>  ale teraz vaznejsie  ak dokazem u velkej aplikacie oddelit logiku do
> viacerych (aj v ramci jedneho jvm kooperujucich) aplikacii tak neskorsia
> rezia v uprave iba jednej z nich je podstatne jednoduchsia (aj z pohladu
> testovania a predikcie spravania)  ako konstruovat a dodavat nejaky "obludny
> 100MB war file" - ak nas teda "sikovne" nenapadne presunut gro veci do
> zdielanych kniznic a pri uprave pojde pre istotu dole cely server. ...

Dobre oddeleni odpovednosti se dela na jine urovni nez je packaging
aplikace. Takze cely ten odstavec je v podstate irelevantni.


Re: Budoucnost aplikacnich serveru

2008-01-29 Tema obsahu Roman Pichlik
Takze mozna pro nekoho novinka, ale dneska SpringSource (firma stojici
za Springem) oznamila akvizi firmy Covalent, ktera masivne prispiva do
ASF (Apache Software Foundation) predevsim Tomcat, Apache atd. Pokud
si date dve a dve dohromady tak z tho plyne (alespon me):

- diky J2EE 6 a jeji orientaci na profily a vice plugovatelnych SPI
bude mit SpringSource v rukave vlastni runtime (Tomcat), ktery bude
moci napriklad pro takzvany webovy profil certifikovat jako J2EE
compliant. K tomu musime pripocist i to, ze se samotny SpringSource
bude podilet na tvorbe J2EE 6 specky.

Vic je tahle teorie rozebrana v clanku
http://www.sweb.cz/pichlik/archive/2008_01_27_archive.html#6158615196798079718

Pokud bude mit SpringSource, a ja si myslim ze bude, velky vliv na
vyvoj Tomcatu, tak se urcite muzeme dockat velice dobre podpory OSGi v
ramci Tomcatu a to jeste pred tim, nez (a pokud vubec) se OSGi dostane
do J2EE.

Ted k vasi tezi:

> Neznam Spring ale podle meho skromneho mineni mi Tomcat pro maly ale
> komplexni system nepomuze.
>
> GUI, paralelne webove aplikace, sestavy generovane timer beanami, webove
> sluzby pro pristup z mobilu. To vse jako s pomoci EJB3 pres session
> beany na JPA. Jednoduche rozvrstveni aplikace, prehledny vyvoj.

skoro vsechny vyjmenovane technologie strci jejich proprietarni (v
tomhle kontextu to neni mysleno negativne) konkurenti do kapsy. Navic
vetsina vyse vyjmenovaneho vubec nijak nesouvisi s aplikacnim
serverem.

- timer service je jenom paradie, podivejte se na Quartz scheduler
- EJB 3.0 a session beany nabizeji  IMHO dve vyhody a to pouze pro
relativne male mnozstvi aplikaci a to: nelikujici JMS listenery aka
MDB a  fail over na urovni volani metod. Pokud tyto dve veci pomineme,
pak Spring IoC kontejner nabizi mnohem vice.
- JPA nevyzaduje pro svuj beh aplikacni server, to je omyl. Navic je
to jenom takvoa hracka oproti tomu, co nabizi Hibernate, ktery je ze
sve podstaty o uroven dale.

Jednoduche rozvrzeni a prehledny vyvoj byl duvod proc Spring vzniknul
v dobe J2EE 1.4. Srovnejte uz jenom deployment aplikace s nejakymi EJB
komponentami oproti WARu, ktery jednoduse hodite do Tomcatu a jedine
prace bude s definici servletu ve  web.xml. Nenapada me jedina vec,
kterou by GlassFish nebo JBoss poskytoval navic oproti Tomcatu pro 80%
aplikaci, ktere se v J2EE vytvareji. Samozrejme pro tech 20% kde jsou
potreba distribuovane transakce, ruzne resource adaptery, JMS a dalsi
veci je aplikacni server jasnou volbou.


2008/1/29 Leoš Urban <[EMAIL PROTECTED]>:
> Ahoj,
>
> na Dagiho blogu se minuly tyden rozjela diskuze nad prispevkem k nakupu
> BEA Oraclem. V podstate se jednalo o komentar, ktery oklikou naznacil,
> ze J2EE platforma a hlavne aplikacni servery ztraci dnes vyznam - a
> loboval za Spring ;-)).
>
> A ze se da pouzit Tomcat a Hibernate nebo JPA.
>
> Neznam Spring ale podle meho skromneho mineni mi Tomcat pro maly ale
> komplexni system nepomuze.
>
> GUI, paralelne webove aplikace, sestavy generovane timer beanami, webove
> sluzby pro pristup z mobilu. To vse jako s pomoci EJB3 pres session
> beany na JPA. Jednoduche rozvrstveni aplikace, prehledny vyvoj.
>
> Muj nazor je, ze pouziti aplikacniho serveru je i pro maly informacni
> system vyhodne. S pouzitim JBOSS ci Glassfish je dostupne i pro malou
> firmu.
>
> Rad bych znal Vas nazor pripadne tip na dalsi vyvoj v teto oblasti.
>
> Dekuji,
> Leos Urban
>
>
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibernate a horizontalni rozdeleni dat

2008-01-17 Tema obsahu Roman Pichlik
pomoci anotaci asi ne, ale v XML lze jedna trida mapovat na ruzne
tabulky. Pri praci s Hibernate API resp. session se pak nedava entitni
trida (ta je vzdy stejna), ale entity name viz dokumentace 5.3 Mapping
a  class more than once.




Zakaznik zakos = session.get(1, "Zakaznik");
Zakaznik zakos2 = session.get(1000, "ZakaznikAll");


On Jan 17, 2008 11:39 AM, Lukas Kubasek <[EMAIL PROTECTED]> wrote:
> Ahoj, mam takovy zajimavy pozadavek na Hibernate. Mam jednu logickou entitu
> Zakaznik a k ni dve tabulky s totoznym schematem ZAKAZNICI a ZAKAZNICI_ALL.
> Pricemz prvni tabulka obsahuje jen vybrane zaznamy a druha tabulka obsahuje
> zaznamy zbyle. Prvni mensi tabulku pouzivame kdyz potrebujeme rychle
> pristoupit k vybranym zakaznikum (cca 1000 zaznamu), druhou tabulku (ve
> ktere je vsech cca 500.000 zaznamu) pouzivame kdyz potrebujeme pristupovat
> ke vsem. Tato struktura je dana. Moje otazka zni, nema nekdo zkusenost s
> jakymsi "podminenym" mapovanim entit? Potreboval bych zkratka, aby mi ta
> sama entita Zakaznik ukazovala nekdy na tabulku ZAKAZNICI a nekdy na tabulku
> ZAKAZNICI_ALL, podle toho jak potrebuju. Je to vubec mozne v Hibernate
> udelat? Pro vertikalni rozdeleni datoveho modelu mame anotaci
> @SecondaryTable, ale pro rozdeleni dat horizontalne (tj. totez schema ve
> vice tabulkach) jsem nic nenasel. Diky moc za pripadne odpovedi. Lukas
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: SAR archiv a classpath

2008-01-03 Tema obsahu Roman Pichlik
> Jine app servery nez Jboss to mohou mit trochu jinak, tusim, ze treba WAS
> vyzadoval explicitni uvedeni vsech JARu v manifestu (tj. narozdil od Jboss
> defaultne nevidel JARy v rootu EARu) apod.

jedine co funguje vsude spolehlive je mit to explicitne na classpath
daneho manifestu.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Jakou mikrokomponentovou architekturu?

2008-01-03 Tema obsahu Roman Pichlik
> jakou pouzivate ve firmach komponentovou architekturu? Velmi popularni
> je Spring, zkoumal jsem take micro/pico container. Nektere projekty
> utilizuji technologii z JBoss AS (zalozenou na JMX), pouziva nekdo
> jeste neco jineho?

OSGi ;-)

> Vkladate nadeje do veci, ktere by mela prinest Java 7?

ne pokud to nebude OSGi. Zda se mi, ze se znovu umele vytvari neco co
nebude fungovat prvni tri verze jako v pripade EJB. Navic mi Java
Module System prisel takovy osekany.

> Take by me zajimalo, jake mate prakticke zkusenosti s deploymentem a
> zavislostma. Pouziva nekdo nejake repozitare s vlastnimi komponentami
> (Maven)? S jakou provazanosti?

Presne nerozumim otazce nicmene mohu rici, ze s OSGi resp. BIRTem,
ktery jej pouziva jsme meli problemy s prenositelnosti na aplikacnich
serverech.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibernate session.close()

2007-12-21 Tema obsahu Roman Pichlik
> Zdá se mi , že snad podle dokumentace není nutné session uzavíratl, ale jsem 
> nejistý.

je to potreba delat pokud se session neodpojuje. Session.close() a
Session.disconnect() totiz uvolni databazove pripojeni, ktere je se
session asociovane. Kdyby jste to nedelal, tak vam za chvili dojdou
databazova pripojeni.


-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: spring, odeslani formulare

2007-12-12 Tema obsahu Roman Pichlik
To se bude ze serveru ridit spatne, protoze browser bude cekat na
odpoved. Ja bych to resil na klientu a to pomoci AJAXu, formular bych
proste odeslal asynchronne.

On Dec 12, 2007 2:33 PM, Ing. Jan Novotný <[EMAIL PROTECTED]> wrote:
> Co takhle v servletu zavolat getOutputStream().close(), otázka je, zda
> tam už web server nestihne něco zapsat ... ale myslím, že by neměl. No
> každopádně bych to zkusil ;)
>
> Honza
>
> 12.12.07, Vladimír Náprstek <[EMAIL PROTECTED]>:
>
> > Zdravim,
> > mam jeden takovy problemecek. Potrebuji z formulare poslat data, ale uz
> > nechci, aby mi server (spring) odpovedel. Pripadne, aby odpoved "se
> > nekde ztratila". Nejak nevim, z ktereho konce na to jit...
> >
> > --
> >
> >
> > s pozdravem
> >
> > Vladimír Náprstek
> >
>
>
> --
> --
> Ing. Jan Novotný
> @@
> http://blog.novoj.net
> Myšlenky dne otce Fura
> --
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


CZJUG prosincove setkani - update

2007-12-12 Tema obsahu Roman Pichlik
Ahoj,
  mam dve prijemne novinky ohledne prosincoveho setkani
(http://java.cz/detail.do?articleId=8043) CZJUG:

- bude pizza a piti
- misto K9 bude pro vetsi zajem vyuzita K1

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Verzovani konfigurace projektu [bylo: Eclipse a NetBeans]

2007-12-12 Tema obsahu Roman Pichlik
Ja jsem si puvodne myslel, ze nebudeme take ukladat projektove soubory
do SVN, ale bohuzel se tomu pravdepodobne nevyhneme v pripade UI
developmentu. Mame celkem slozity deployment model, takze krome
zakladni konfigurace projektu (classpath atd.), kterou poskytne Maven,
potrebujeme jemnejsi nastaveni co se kam ma kopirovat a to na ulozeni
daneho souboru (manualne volat cokoliv na synchronizaci). Jako
nejlepesi napad mi prijde drzet ty projektove soubory uplne nekde
bokem.

On Dec 12, 2007 10:36 AM, Josef Petrák - KYBERIE
<[EMAIL PROTECTED]> wrote:
> Dobrý den,
>
> Ukládat *class či libovolné projektové soubory do SVN se ukázalo jako
> nešťastné. Stala se i taková kuriozita, že jsem měnil strukturu podprojektu
> v SVN a smazal build.xml a nbprivate složku, což ve výsledku kolegovi
> uprostřed práce po zadání "svn update" vypnulo rozdělaný projekt z IDE ;)
>
> Nevím, jak máte u vás IDE specificky nastavené, ale mně stačí nainstalovat
> NetBeans, nastavit číslování řádků, indentaci a případně přidat Maven
> plugin. Nic víc. Tohle řeší jednoduchý popis ve firemní wiki. - další
> výhodou Mavenu skutečně je, že nemáte na disku padesátkrát každou knihovnu,
> ale hlavně, otevřením pom.xml přes Open Project se vám vše nastaví, aniž by
> jste musel cokoliv ručně konfigurovat v dialogu pro vytvoření projektu. Při
> změně tohoto pom.xml se pak projekt automaticky rekonfiguruje.
>
>
> Josef Petrák, Java vývojář
> ---
> FOAF:http://jspetrak.zapisky.info/profile.rdf
> E-mail:  [EMAIL PROTECTED]
> Jabber:  [EMAIL PROTECTED]
> Mobil:   +420603254189
> ICQ: 179271149
> ---
> KYBERIE
> Web: http://www.kyberie.cz
> Tel: +420226002016
>
>
>
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of Jan Dvořák
> Sent: Tuesday, December 11, 2007 10:44 PM
> To: Java
> Subject: Verzovani konfigurace projektu [bylo: Eclipse a NetBeans]
>
> Josef Petrák - KYBERIE napsal:
> > [...] V závěru, když soubory odesíláte do
> > CVS/SVN/jiné repository, tak přece odesíláte pouze zdrojáky, ne nastavení
> > IDE. Tím pádem nikdo z týmu nepozná, jestli jste to psal v Eclipse,
> > NetBeans, nebo poznámkovém bloku ...
> >
>
> My si v SVN schováváme i eclipsí .project, .classpath, adresář .settings
> s informacemi o kódování textových souborů i všechny jen trochu užitečné
> launchery (ty dáváme do adresáře .eclipse). I knihovny máme ve
> verzovacím systému, namísto různě rozesetých někde na disku. Výrazně se
> tím omezí čas strávený konfigurací prostředí do stejného tvaru, jako "u
> kolegy". Pracovali jsme i na projektech, které tyto informace nesdílely,
> a z tohoto hlediska to bylo utrpení.
>
> Ve verzovacím systému mohou být uloženy konfigurace i více vývojových
> prostředí - za předpokladu, že soubory s konfiguracemi se v každém
> prostředí jmenují jinak a že IDE nestrká nos do těch souborů, kterým
> nerozumí. Je pak sice třeba například doplňovat nově přidanou knihovnu
> do cesty projektu pro každé vývojové prostředí, ale to je pořád méně
> práce, než kdyby to musel dělat každý vývojář.
>
> Takže si myslím, že verzování konfigurace projektu je velmi vhodné.
> Vývojářům tím odpadne část překážek, přes které se musí prodrat, aby se
> dostali k vlastnímu programování. Může to být zásadní rozdíl při práci z
> domova, která se zhusta odehrává v časech, kdy nelze spoléhat na
> pohotovou pomoc ostatních členů týmu.
>
> Jak to děláte u vás?
>
> Honza Dvořák
> MathAn Praha
>
>
> __ Informace od NOD32 2716 (20071211) __
>
> Tato zprava byla proverena antivirovym systemem NOD32.
> http://www.nod32.cz
>
>
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Začátečnická otázka - výb ěr frameworku a podobné srandy

2007-12-10 Tema obsahu Roman Pichlik
> Zatím jsem pochopil, že základ všeho je Web Application Framework.

Rozhodne bych netvrdil, ze si dnes vyvojar front endu vystaci pouze se
znalosti weboveho frameworku. Je potreba mit alsepon minimalni potuchy
o tom jak je spravovana aplikacni logika, kterou bude urcite
potrebovat. V teto souvislosti je dobre si neco malo precist o EJB a
Spring frameworku. Ale zpet k webovym frameworkum, v Jave existuji dva
zakladni typy (rodiny) postavene kolem navrhoveho vzoru Model View
Controller,  ktere se principielne lisi v pristupu k zpracovani
pozadavku.

- command (request) orientovane (Struts 1&2, Spring MVC atd.)
- komponentove orientovane (JSF, Tapestry atd.)

K tomu jeste existuji webove frameworky,  ktere stavi nad vyse
zminenymi a poskytuji uzitecne nadstavby  - JBoss Seam, Apache Shale,
Spring Web Flow

Pokud se chcete dobre pripravit, doporucuji si prostudovat z kazde
rodiny jeden framework napr. Struts a JSF a potom se podivat napriklad
na JBoss Seam, ktery je v soucasnosti hodne popularni a bude do
enterprise Javy v budoucnu adoptovan (jeho koncept) pod stnadardem
WebBeans.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: FW: integracia Spring - Spring MVC a Echo2 (ThinWire) resp. inyAJAXframework

2007-12-05 Tema obsahu Roman Pichlik
> Pěkné srovnání. I když v podobných studiích mi vždy přijde žertovné,
> když se vysoký počet knih a velký provoz v emailových konferencích
> určitého frameworku vydává za znak jeho úspěchu.

souhlasim, ze delat z toho zavery je pritazene za vlasy.

>Já bych to považoval
> spíš za příznak toho, že je zbytečně komplikovaný a nepochopitelný,
> proto si k němu musí lidé kupovat knihy a klást spoustu otázek :-)

to je presne ten typ zaveru pritazenych hoodne za vlasy...

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: maven - upravz depencenci

2007-12-05 Tema obsahu Roman Pichlik
Pouzijte exlusion element, kterym lze vynechat tranzitivni zavislosti.

Priklad:


commons-logging
commons-logging
1.1



avalon-framework
avalon-framework


servlet-api
javax.servlet


junit
junit


logkit
logkit


log4j
log4j







On Dec 5, 2007 11:23 AM, Vladimír Náprstek <[EMAIL PROTECTED]> wrote:
> Zdravim,
> rozhodl jsem se vyzkouset maven a jednom malem projektiku a narazil jsem
> na maly problem. Nektera zavislost (nejspise spring) mi zatahl knihovny
> commons-logging (coz je OK), ale dotahl mi tam jeste
> slf4j-log4j12-1.4.2.jar a jcl104-over-slf4j-1.4.2.jar a to uz mi vadi
> (stejny projekt s antem a rucne dodanymi knihovnami to nepotrebuje).
>
> A ted - jak se tech knihoven zbavim? A lze zjistit, ktera zavislost mi
> to dotahla?
>
> --
>
>
> s pozdravem
>
> Vladimír Náprstek
> E-mail : [EMAIL PROTECTED]
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


CZJUG - Prosincove setkani

2007-12-01 Tema obsahu Roman Pichlik
Zdravim,
 čeká nás Prosincová nadílka v podání CZJUG a to dne 17.12. od 18h v
posluchárně K9 na Karláku v prostorách ČVUT. Připraveny jsou
prezentace na téma Jak nastartovat startup (Roman Staněk - zakladatel
NetBeans, Systinet, nyní Good Data) a Statická analýza kódu pomocí
open source nástojů (Václav Pech - JetBrains) .

Abstrakty prezentací:
http://java.cz/detail.do?articleId=8043

Pokud se předběžně chystáte přijít, dejte nám to vědět hlasováním v
anketě na hlavní stránce Java.cz.

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Distribuovane transakce v JMS

2007-11-29 Tema obsahu Roman Pichlik
> Zakaznik ma aplikaci, ktera neni psana v Jave (nemuze/nechce JTS/JTA).
> Jednotlive komponenty te aplikace budou mezi sebou posilat zpravy pres
> JMS vrstvu a potrebuji transakce.

Udelejte command, ktery bude ve vasem pripade zapouzdrovat transakci z
vaseho pohledu. Command se posle jako JMS zpravu nejakemu CML
(centralni mozek lidstva ;-). Soucasti commandu budou informace, podle
kterych se CML rozhodne jake dalsi kroky se maji vykonat. Idealni
bude, aby jakakoliv dalsi operace byla opet JMS zprava. CML rozesle
dcerine zpravy odpovidajici commandu, aby byla zajistena konzistence,
musi mit command svoje jednoznacne id, toto id se dale musi propagovat
do vsech dcerinnych zprav, ktere vzniknou z puvodniho commandu. Po
zpracovani dcerinych zprav jejich zpracovatel zpetne notifikuji CML
(opet pomoci zpravy) ze zprava s danym id byla zpracovana a jeji
status (ok, failure). CML si podstive zapisuje vysledky dcerinych
operaci a zaroven ma jednou za cas naplanovanou udrzbu. Behem udrzby
bude kolektovat vysledky daneho commandu (provaze pres id), pokud
zjisti, ze to nedopadlo dobre, odesle vsem participantum zpravu, podle
ktere bude moci dojit k zotaveni tj. provede se kompenzace.

Takhle nejak by to teoreticky mohlo fungovat...

-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Konstruktor genericke tridy

2007-11-22 Tema obsahu Roman Pichlik
Funguje to, v DAO pouzivam neco podobneho pro zjisteni enity, kterou
je parametrizovane

 protected  Class getPersistentClass() {
   ParameterizedType pt = ((ParameterizedType)
getClass().getGenericSuperclass());
   String entityClassName =
((Class)pt.getActualTypeArguments()[0]).getName();
   try {
   return (Class) getClass().forName(entityClassName);
   } catch (ClassNotFoundException e) {
   throw new RuntimeException("Entity class not found!", e);
   }
}



On Nov 22, 2007 1:36 PM, Martin Kuba <[EMAIL PROTECTED]> wrote:
> Martin Beránek napsal(a):
>
> > Dne Thursday 22 of November 2007 11:33:08 Martin Kuba napsal(a):
> >> Petr Gola napsal(a):
> >>> Řekl bych, že new T() nefunguje, protože T je dostupný jen pro
> >>> kompilaci. Je to sice ukecanější - je třeba předávat ještě "T.class",
> >>> ale je to navíc informace, která přežije kompilaci :)
> >> Tak tak, třída MyClass existuje jen jednou, takže
> >> v souboru MyClass.class nemůže být informace, o jaké T se jedná.
> >> Nezbývá, než si předat informaci o třídě T jako parametr.
> >>
> >> Makub
> >
> > dalším spůsobem jak získat Class je tenhle (musí být voláno uvnitř třídy 
> > MyClass):
> >
> > (Class) ((ParameterizedType) 
> > getClass().getGenericSuperclass()).getActualTypeArguments()[0];
> >
> > mým zdrojem bylo tohle: http://www.hibernate.org/328.html#A6
>
> To nemůže fungovat. Když to zkusím, tak dostanu
>
> Exception in thread "main" java.lang.ClassCastException: 
> sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot
> be cast to java.lang.Class
>
> což je podle mne správně. Ta informace o typu použitém k parametrizaci
> prostě není k dispozici.
>
> Kromě toho to vrací parametrický typ nadtřídy, ne té samotné třídy,
> všimněte si, že v tom příkladu je
>
> public abstract class GenericHibernateDAO
> implements GenericDAO {
>
> tj. vrací to typovou proměnnou T z GenericDAO, ne z GenericHibernateDAO.
> Ale to je jedno.
>
>
> Makub
> --
> ~~
> Supercomputing Center Brno Martin Kuba
> Institute of Computer Scienceemail: [EMAIL PROTECTED]
> Masaryk University http://www.ics.muni.cz/~makub/
> Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
> --
>
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: OT: Zakaznik / legalna java

2007-11-20 Tema obsahu Roman Pichlik
Nevim jak u komercnich, ale u OSS nastroju bych mu predlozil jejich licence.

On Nov 20, 2007 12:34 PM, Richard Mihalovic <[EMAIL PROTECTED]> wrote:
> Zdravim
>
> Pracujem na jednom zakazkovom softvery a na vyvoj pouzivam Netbeans +
> JDK a u zakaznika JRE. Problem je ze zakaznik mi dal do zmluvy ze mam
> preukazat legalnost prostriedkov ktore pouzivam pri vyvoji a ktore
> nasadzujem u nich vo firme. Tak moja otazka znie, ako mu to mam
> preukazat, prilozit licenciu v anglictine, dat url na stiahnutie danych
> produktov ... ? Riesili ste uz nieco podobne, popripade odkaz na nejake
> stranky, alebo nejaky napad ako to riesit ... ?
>
> Dik, R.
>
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Objekt validace

2007-11-16 Tema obsahu Roman Pichlik
Co treba Hibernate validator http://www.hibernate.org/412.html. Pozor
nenechat se zmast, nezavisi na tom jestli pouzivate Hibernate.
Pripadne bych zkusil zapatrat, ktere jine frameworky se snazi o
implementaci JSR 303: Bean Validation
(http://jcp.org/en/jsr/detail?id=303)

On Nov 16, 2007 4:00 PM, Tomas Beranek <[EMAIL PROTECTED]> wrote:
> Zdravim,
> hledam nejaky vhodny framework pro validaci bean nejlepe pomoci anotaci.
> nezavisly na jinem frameworku
> Muzete mi neco doporucit nasel jsem Oval, ale zda se ze neni moc pouzivany,
> jinak mi prijde celkem dobry.
>
> diky Tomas
>
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: EJB3 a transakce v transakci

2007-11-15 Tema obsahu Roman Pichlik
Pokud to ten Tx manazer da, pak to lze udelat i programove pres
UserTransaction, jenom je potreba ji nastavit REQUIRES_NEW propagaci.

On Nov 15, 2007 6:24 PM,  <[EMAIL PROTECTED]> wrote:
> Dobry den,
>
> v principu je tento navrh dobre, jen je potreba volat metodu
> ulozReporty() pres EJB objekt, protoze v EJB objektu container
> zahajuje transakce. Tj. misto ulozReporty() napr.:
>
> sessionContext.getBusinessObject(MyLocalIntf.class).ulozReporty(reportsList);
>
> Transakcni atributy se pri primem volani (tj. v ramci beany) neuplatni.
>
> Jo a nepujde o vnorene transakce, ale aktivni transakce bude
> pozastavena a vytvori se nova (flat model, jak tu uz nekdo zminil).
>
> Z.T.
> --
> Zdenek Tronicek
> Department of Computer Science and Engineering
> Prague   tel: +420 2 2435 7410
> http://cs.felk.cvut.cz/~tronicek
>
>
>
> Quoting Richard Holly <[EMAIL PROTECTED]>:
>
> >  @TransactionAttribute(TransactionAttributeType./REQUIRES_NEW/)
> >
> >  @TransactionTimeout(18000)
> >
> >  *public* *void* *doSync*() {
> >
> >   try {
> >
> >  // ... Provadej samotny prenos
> >
> > if(chybanekonzistence) {
> >
> >   throw new RuntimeException()
> >
> > }
> >
> > } finally
> >
> >   // uloz reporty  doUlozReporty( reportslist);   }
> >
> >  }
> >
> >
> >
> >  @TransactionAttribute(TransactionAttributeType./REQUIRES_NEW/)
> >
> >  *public* *void* *doUlozReporty*( ... reportslist) {
> >
> >   *ulozReporty*(reportslist);
> >
> >  }
> >
> >
> >
> >
> >
> >
> > Adámek Lukáš  wrote / napísal(a):
> >>
> >> Hmm, asi jsem to nepopsal dostatecne.
> >>
> >> Metoda doSync() ma uz nastaveno *REQUIRES_NEW* z duvodu zvetseni
> >> delky transakce (stand.
> >>
> >> Mame nastavenu delku transakce na 2 minuty, coz staci pro celou
> >> aplikaci, a jen pro tuto metodu
> >>
> >> mame nastaveno na 5 hodin).
> >>
> >> Ale v ramci metody doSync() potrebujeme cast jejiho kodu obalit
> >> novou transakci.
> >>
> >> Zjednodusene:
> >>
> >>   @TransactionAttribute(TransactionAttributeType./REQUIRES_NEW/)
> >>
> >>  @TransactionTimeout(18000)
> >>
> >>  *public* *void* *doSync*() {
> >>
> >>   try {
> >>
> >>  // ... Provadej samotny prenos
> >>
> >> if(chybanekonzistence) {
> >>
> >>   throw new RuntimeException()
> >>
> >> }
> >>
> >> } finally
> >>
> >>   // uloz reporty   InitialContext ctx = *new*
> >> *InitialContext*();
> >>
> >>   UserTransaction ut =
> >> (UserTransaction)ctx.*lookup*("java:comp/UserTransaction");
> >>
> >>   ut.*begin*();
> >>
> >>   *ulozReporty*(reportslist);
> >>
> >>   ut.*commit*();
> >>
> >>// v pripade ze nastala nekonzistence
> >>
> >>}
> >>
> >>  }
> >>
> >> Jelikoz mi runtimeExceptin vyleti ze servisni vrstvy, automaticky
> >> dochazi k rollbacku, ale pritom se zapsali JEN reporty
> >>
> >> l.
> >>
> >> 
> >>
> >> *From:* [EMAIL PROTECTED]
> >> [mailto:[EMAIL PROTECTED] *On Behalf Of *Richard Holly
> >> *Sent:* Thursday, November 15, 2007 2:19 PM
> >> *To:* Java
> >> *Subject:* Re: EJB3 a transakce v transakci
> >>
> >> Nastavte metode *REQUIRES_NEW.  *
> >>
> >> Adámek Lukáš  wrote / napísal(a):
> >>
> >> Ahoj
> >>
> >> Mame JEE aplikaci, ktera bezi na JBoss 4.0.4.
> >>
> >> Pouzivame EJB3. Kazda metoda EJBeany bezi jako transakce.
> >>
> >> Pro synchronizaci dat s produktem 3. strany mame napsanu metodu
> >> Beany pojmenovanou doSync().
> >>
> >> Metoda doSync() je volana Timerem v nastavenem intervalu.
> >>
> >> Metoda doSync() zajistuje
> >>
> >> prenos samotnyh dat
> >>
> >> ulozeni vyslednych reportu prenosu do db
> >>
> >> Narazili jsme na problem.
> >>
> >> Pokud totiz v metode nastane vyjimka, ktera zapricini nemoznost
> >> dalsiho ukladani z duvodu nekonzistence
> >>
> >> dat v aplikaci 3 strany volame rollback transakce. Tim padem se nam
> >>  ale nezapisou ani reporty.
> >>
> >> Chteli jsme to vyresit tak, ze v metode doSync(), ktera je obalena
> >> transakci, vytvorime novou sourozeneckou
> >>
> >> transakci, ktera bude mit za ukol zapsat a comitnout reporty z prenosu.
> >>
> >> Ulozeni v nove transakci jsme si predstavovali nejak takto:
> >>
> >> InitialContext ctx = *new* *InitialContext*();
> >>
> >> UserTransaction ut =
> >> (UserTransaction)ctx.*lookup*("java:comp/UserTransaction");
> >>
> >> ut.*begin*();
> >>
> >> *ulozReporty*(reportslist);
> >>
> >> ut.*commit*();
> >>
> >> Problem je ze vysledkem je:
> >>
> >> Transaction already active, cannot nest transactions.
> >>
> >> Jak se podobne problemy resi v EJB3, kdyz neni mozne jakkoliv z transakce
> >>
> >> vytvorit novou transakci (at uz potomka, nebo sourozence)
> >>
> >>  Diky
> >>
> >> Lukas Adamek
> >>
> >>
>
>
>
>
>



-- 
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: EJB3 a transakce v transakci

2007-11-15 Tema obsahu Roman Pichlik

Vam vnorene transakce na J2EE _opravdu_ nekdy fungovaly???


zalezi na Tx manazeru, ten JBossi to evidentne nedava...


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Říjnový CZJUG

2007-11-14 Tema obsahu Roman Pichlik

Roman Strobl napsal(a):

Uvidime co se s tim da delat. Jelikoz to delaji zadarmo je tezke na ne
zatlacit. Pokud vite o nejake jine skupine, ktera by takto nahravala


jak zadarmo? Prece si jim sehnal ten hardware a to nebylo za almuznu... 
Pokud je tu alternativni cesta tak sem s ni, me uz pomalu dochazi s AVC 
trpelivost...


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: synchr. z CVS jako planovana uloha

2007-11-07 Tema obsahu Roman Pichlik

potreboval bych pod OS windows najit CVS klienta ktery by sel nastavit tak ze 
kdyz by byl spusten jako planovana uloha windowsu
tak by provedl synchronizaci naseho projektu na jednotlive vyvojarska PC. Tato 
cinnost by probihala pres noc a rano by
kazdy clen tymu mel k dispozici svuj workspace a vedle toho workspace 
synchronizovany pres noc. Takze pak neresime zadne konflikty a je na vyvojari 
jaky workspace se rozhodne pouzit.  Kazde rano nam tak pul hodiny az hodinu 
trva synchronizace, navic mame v tymu vice novacku a casu je tak (jako vzdy) 
malo.

z CVSko pouzivam jen ve forme pluginu v eclipse a rad si necham poradit a 
nasmerovat co by me pozadavky splnilo.


Omlouvam se, ale zda se mi ze s CVS pracujete nejak divne. Kdyz vynecham 
CI a praktiky kolem, ktere je velice uzitecne a psal o nem Honza, tak mi 
prijde ponekud zvlastni kazde rano hodinu mergovat lokalni konflikty.


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: spring & hibernate & transakce

2007-11-07 Tema obsahu Roman Pichlik

jeste jedna otazka k transakcim: spring reference manual jsem samozrejme
prochazel (stejne tak pasaze o transakcich v knize Spring in Action), ale
tato pasaz se mi zda asi nejvic tajemna. Jake jsou tedy moznosti rizeni
transakci ve standalone aplikaci?


Predem, jednou z nejvetsich vyhod Springu je odstineni ok, konkretni 
technologie pro rizeni transacki. JDBC, Hibernate, JPA, EJB a tak bych 
mohl pokracovat - kazda z techto technologii ma nejake vlastni 
transakcni API. Spring nabizi fasadu nad temito transakcnimi API, 
delagace na konkretni API je rizena na urovni konfigurace.


At se budeme bavit o stand alone ci jine aplikaci, bude zalezet jakou 
technologii zvolite. Napriklad pro Hibernate umi Spring ridit jak pres 
Hibernat tranasaction API tak pres JTA, ale opet to je jenom vec 
konfigurace - kodu aplikace se to nedotkne.


Pokud pouzivate Hibernate ve stand alone aplikaci, pak je nejlepsi 
pouzit org.springframework.orm.hibernate3.HibernateTransactionManager.


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: spring & hibernate & transakce

2007-11-06 Tema obsahu Roman Pichlik
Ta zavislost tam neni zavlecena transakcnim modulem, nybrz tridou 
org.springframework.orm.hibernate3.LocalSessionFactoryBean. Jinak bych 
vam doporucoval ridit transakce Springem, prece jenom je to pohodlnejsi 
a vice odolne chybam a casto se opakujicimu kodu...


Martin Beránek napsal(a):

Zdravím,

začínám se springem. Vždy, když jsem používal Hibernate, řídil sem transakce 
aplikačně přes session.beginTransaction(), session.getTransaction.comit() 
respektive rollback(). V tom bych chtěl pokračovat a řekl bych že se mi to i 
daří. Ale nechápu, proč spring vyžaduje za běhu "jta.jar" - rád mám věci pod 
kontrolou. Lze se této - podle mě nadbytečné závislosti - zbavit (jedná se o 
standalone aplikaci).


konfigurace:











${db.dialect}
thread

org.hibernate.cache.NoCacheProvider








--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Chyba při vytváření transakce.

2007-11-01 Tema obsahu Roman Pichlik
neni nahodou ta transakce nedefinovana s propagaci REQUIRES_NEW? Podle 
stack tracu a letmeho nahlednuti do zdrojaku tam dochazi k suspendnuti 
puvodni transakce a k otevreni nove, ve ktere selze bindind Hibernati 
session, ktera jiz lezi v holderu (threa local promenna).


Martin Chalupa napsal(a):

Dělá toto. UserBusiness je definován ve springu, připojuje se k databázi
přes hibernate a je označen @Transactional.

Martin

@Name("authenticator")
public class Authenticator {
	@In

Identity identity;
@In("#{userBusiness}")
UserBusiness userBusiness;
@Out(required = false, scope = ScopeType.SESSION)
User logged;

public boolean authenticate() {
Long id = userBusiness.checkUsername (identity.getUsername
(),identity.getPassword ());
if (id!=null && id>0){
this.logged = userBusiness.getById (id);
return true;
}
return false;
}
}

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Roman Pichlik
Sent: Thursday, November 01, 2007 1:56 PM
To: Java
Subject: Re: Chyba při vytváření transakce.

nedela cz.bellman.umm.security.Authenticator neco s Hibernatem?

Martin Chalupa napsal(a):

Zdravím,

 

přidal jsem do aplikačního kontextu springu beanu, která implementuje 
ApplicationListener pro zachytávání událostí v kontextu. A od té doby mi 
aplikace vyhazuje chybu při pokusu o vytvoření transakce. Pokud beanu 
odeberu nebo zruším implementaci rozhraní vše funguje.


 

Používám Spring 2.0.6, Seam 2.0 RC3, Hibernate 3.2.4, Session factory je 
definovaná ve springu a seam managuje session.


 


Nenapadá vás nějaká příčina vzniku chyby?

 


Martin

 


Tady je stack trace:

 

Caused by: 
org.springframework.transaction.CannotCreateTransactionException: Could 
not open Hibernate Session for transaction; nested exception is 
java.lang.IllegalStateException: Already value 
[EMAIL PROTECTED] for key 
[EMAIL PROTECTED] bound to thread 
[http-8080-1]


at 


org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(Hiber
nateTransactionManager.java:541)
at 


org.springframework.transaction.support.AbstractPlatformTransactionManager.g
etTransaction(AbstractPlatformTransactionManager.java:350)
at 


org.springframework.transaction.interceptor.TransactionAspectSupport.createT
ransactionIfNecessary(TransactionAspectSupport.java:262)
at 


org.springframework.transaction.interceptor.TransactionInterceptor.invoke(Tr
ansactionInterceptor.java:101)
at 


org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Reflect
iveMethodInvocation.java:171)
at 


org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopPro
xy.java:204)

at $Proxy73.checkUsername(Unknown Source)

at 
cz.bellman.umm.security.Authenticator.authenticate(Authenticator.java:37)


at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)


at 


sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at 


sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
..java:25

at java.lang.reflect.Method.invoke(Method.java:597)

at 
org.jboss.seam.util.Reflections.invoke(Reflections.java:21)


at 


org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext
..java:31
at 


org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext
..java:56
at 


org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackIntercep
tor.java:31)
at 


org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext
..java:68
at 


org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.j
ava:46)
at 


org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext
..java:68
at 


org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInter
ceptor.java:42)
at 


org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext
..java:68
at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)


at 


org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInt
erceptor.java:155)
at 


org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java
:91)
at 


cz.bellman.umm.security.Authenticator_$$_javassist_1.authenticate(Authentica
tor_$$_javassist_1.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)


at 


sun.reflect.NativeMethodAccessorImpl.invoke(N

Re: Chyba při vytváření transakce.

2007-11-01 Tema obsahu Roman Pichlik

nedela cz.bellman.umm.security.Authenticator neco s Hibernatem?

Martin Chalupa napsal(a):

Zdravím,

 

přidal jsem do aplikačního kontextu springu beanu, která implementuje 
ApplicationListener pro zachytávání událostí v kontextu. A od té doby mi 
aplikace vyhazuje chybu při pokusu o vytvoření transakce. Pokud beanu 
odeberu nebo zruším implementaci rozhraní vše funguje.


 

Používám Spring 2.0.6, Seam 2.0 RC3, Hibernate 3.2.4, Session factory je 
definovaná ve springu a seam managuje session.


 


Nenapadá vás nějaká příčina vzniku chyby?

 


Martin

 


Tady je stack trace:

 

Caused by: 
org.springframework.transaction.CannotCreateTransactionException: Could 
not open Hibernate Session for transaction; nested exception is 
java.lang.IllegalStateException: Already value 
[EMAIL PROTECTED] for key 
[EMAIL PROTECTED] bound to thread 
[http-8080-1]


at 
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:541)


at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:350)


at 
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:262)


at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101)


at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)


at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)


at $Proxy73.checkUsername(Unknown Source)

at 
cz.bellman.umm.security.Authenticator.authenticate(Authenticator.java:37)


at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)


at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)


at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)


at java.lang.reflect.Method.invoke(Method.java:597)

at 
org.jboss.seam.util.Reflections.invoke(Reflections.java:21)


at 
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)


at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)


at 
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)


at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)


at 
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)


at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)


at 
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)


at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)


at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)


at 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)


at 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)


at 
cz.bellman.umm.security.Authenticator_$$_javassist_1.authenticate(Authenticator_$$_javassist_1.java)


at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)


at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)


at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)


at java.lang.reflect.Method.invoke(Method.java:597)

at 
org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)


... 95 more

Caused by: java.lang.IllegalStateException: Already value 
[EMAIL PROTECTED] for key 
[EMAIL PROTECTED] bound to thread 
[http-8080-1]


at 
org.springframework.transaction.support.TransactionSynchronizationManager..bindResource(TransactionSynchronizationManager.java:163)


at 
org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:532)


... 124 more

 


--

Martin "chali" Chalupa

 




--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: CZJUG - Listopad tančí v rytmu Swin g in Action a Google Guice

2007-10-30 Tema obsahu Roman Pichlik

FYI:
- na java.cz je anketa. Pokud se chystate prijit, dejte nam touto formou 
vedet, at vime kolik tech pizz a piva mame objednat.
- AVC asi bude, nicmene vzhledem k prodleve mezi porizenim zaznamu a 
jeho vydanim (jako posledni je k dispozici dubnove setkani) bych 
doporucoval osobni odber informaci ;-)


Roman Pichlik napsal(a):

Zdravim,
 listopadové setkání CZJUG (http://java.cz/jug)  proběhne 26.11. od 18h 
v posluchárně K9 na Karláku v prostorách ČVUT. Připraveny jsou 
prezentace na téma Swing in Action  (Rastislav Komara) a Google Guice - 
Dependency Injection (Lukáš Kolísko). Patronát nad prezentacemi a 
občerstvením převzala firma ET NETERA.


Abstrakty prezentaci:
http://java.cz/detail.do?articleId=7888




--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


CZJUG - Listopad tančí v rytmu Swing in Action a Google Guice

2007-10-30 Tema obsahu Roman Pichlik

Zdravim,
 listopadové setkání CZJUG (http://java.cz/jug)  proběhne 26.11. od 18h 
v posluchárně K9 na Karláku v prostorách ČVUT. Připraveny jsou 
prezentace na téma Swing in Action  (Rastislav Komara) a Google Guice - 
Dependency Injection (Lukáš Kolísko). Patronát nad prezentacemi a 
občerstvením převzala firma ET NETERA.


Abstrakty prezentaci:
http://java.cz/detail.do?articleId=7888

--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Code-Behind

2007-10-25 Tema obsahu Roman Pichlik

Martin Kuba napsal(a):

Roman Pichlik wrote:

Kazdopadne to uz jsme trochu mimo puvodni tema...
Take jsem hledal jestli v Jave existuje framework co funguje na
principu ASP.NET nebo Adobe Flex (tj. deklarace v XML + oddeleny code
"behind" na obsluhu udalosti a manipulaci s komponentami), ale nic
podobneho zatim v Jave neobjevil.

po treti, existuji

- JSF+facelects|clay
- Tapestry
- Wicket

a - Stripes :-)


a urcite nektere dalsi ;-)

--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Code-Behind

2007-10-25 Tema obsahu Roman Pichlik

Kazdopadne to uz jsme trochu mimo puvodni tema...
Take jsem hledal jestli v Jave existuje framework co funguje na principu 
ASP.NET nebo Adobe Flex (tj. deklarace v XML + oddeleny code "behind" na 
obsluhu udalosti a manipulaci s komponentami), ale nic podobneho zatim v 
Jave neobjevil.


po treti, existuji

- JSF+facelects|clay
- Tapestry
- Wicket

--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Code-Behind

2007-10-25 Tema obsahu Roman Pichlik

Osobne bych veskera klikatka zakazal, aplikace by byly hned hezci :-))
  ^-- Silna podpora v IDE? Ano, to je presne to, co NESMIE mat zaciatocnik, ktory 
potrebuje najskor pochopit, co presne musi implementovat, konfigurovat, ako to prelozit a 
ako to deploynut. Ked vsetko toto vie urobit rucne, moze pouzit vykonnu podporut v IDE 
aby robil veci rychlejsie a nezatazoval sa "reziou" frameworku. Ak mu polovicu 
veci skryjete za IDE, tak ten framework nikdy nepochopi.


ma absolutne opacny nazor. Zacatecnik by mel jit tou nejsnazsi cestou k 
cili (to muze byt treba hello world aplikace nebo jednoduchy formular). 
Az tam dojde, mel by se zacit zajimat o sirsi kontext. Kdyz tohle 
vsechno pobere, muze klidne zahodit vsechna klikaci udelatka a psat to 
rucne. Je nerozvazne odsuzovat "klikatka" jenom z toho duvodu, ze je 
nekdo muze spatne pouzit. K stejnemu zneuziti muze dojit i v pripade, ze 
clovek danou vec nepochopi.


Muj nazor je, ze do rukou zacatecniku patri silne nastroje. Zrno od plev 
se oddeli pozdeji...


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Code-Behind

2007-10-25 Tema obsahu Roman Pichlik

Jozef Babjak napsal(a):

Pokud ano můžete mi prosím poslat nějaký link na tutorial ?

Stahnete si NetBeans s Visual Web Packem a nechtesi vytvorit sample JSF
aplikaci. To je asi nejrychlejsi zpusob jak se do toho ponorit.  V Jave


  ^-- No, neviem, ci JSF je najvhodnejsi starting point pre niekoho, kto
sa potrebuje zoznamit vobec s fungovanim MVC webovych frameworkov
zalozenych na Jave. Hlasoval by som za uz vyssie zmieneny Stripes.


je to vhodne, protoze to ma IMHO silnou podporu v IDE a to je podle me 
velice dulezite ze zacatku. Navic filozofie Web Packu je podobna 
podobnym udelatkum ve VS, alespon tak to na me pusobilo, takze by to 
nemusel byt takovy skok.



--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Code-Behind

2007-10-25 Tema obsahu Roman Pichlik

Mám tuto možnost i v Java ?


jasne viz predchozi prispevky ;-)


Pokud ano můžete mi prosím poslat nějaký link na tutorial ?


Stahnete si NetBeans s Visual Web Packem a nechtesi vytvorit sample JSF 
aplikaci. To je asi nejrychlejsi zpusob jak se do toho ponorit.  V Jave 
existuje velke mnozstvi web frameworku viz zminovany Wicket, Tapestry a 
dalsi, takze potom si staci vybrat podle osobni preference. Oddeleni, 
ktere zminijete podporuji vsechny - nektere mene a nektere vice obratne...


Re: Code-Behind

2007-10-25 Tema obsahu Roman Pichlik
Nevim jestli si predstavujete pod pojmem Code-Behind to same co ja, 
kazdopadne:


- vetsina web frameworku je striktne MVC
- JSF + Facelets|Clay, Tapestry, Wicket umoznuji psat stare dobre HTML a 
pres specialni binding (atribut HTML elementu) napojit jednotlive 
komponenty na jejich serverove protejsky



Ing. Vladislav Korecký napsal(a):

Dobrý den,

Jsem programátor C# a ve svém volném čase si rozšiřuji obzory a učím se 
Java.
Nedávno jsem zkoušel napsat web aplikace a trochu mi chybělo rozdělění 
code od HTML.

A teď k mé otázce:
Existuje možnost psát JSP stránky v režimu Code-Behind ?

Když jsem se koukal na videa NetBeans 6 beta 1, tak se mi zdálo že tam 
něco jako code-behind je, ale nejsem si jist.



Předem děkuji za odpověď,
Korecký





--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Spring Bean - singleton

2007-10-16 Tema obsahu Roman Pichlik

Spring nabizi nekolik moznosti:

- udelejte private konstruktor (Spring pouziva reflexe)
- udelejte private konstruktor a poskytnete factory metod, atribut 
factory-method
- pouzijte factory, ktera bude cilovy objekt instancovat, atribut 
factory-bean a  factory-method


viz docka

Lukas Zapletal napsal(a):

Dobry den,

jak docilit toho, aby si programator nemohl vytvaret instance beanu,
ktere mam oznaceny jako singleton, kdyz vim, ze budu mit jen jeden
kontext? Priklad:






Tento bean se sice v jedine instanci vstrikne do jinych beanu, ale
programator stale muze udelat:

Configurator c = new JavaPropertiesConfigurator();

Konstruktor musi byt prece public, aby sla instance vytvorit z XML souboru.




--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibernate session a jeji existence

2007-10-09 Tema obsahu Roman Pichlik

1)   Je vyhodnejsi po celou dobu behu aplikace nechat otevrenou jednu
session

2)   Nebo je vyhodnejsi pro kazdou logickou posloupnost operaci otevrit
novou session a po ukonceni session zavrit?


2 protoze

- kratka doba alokace databazoveho pripojeni
- moznost mit oddelene (nezavisle) operace s ruznou Flush strategii
- mensi pametove naroky (session nemusi drzet zbytecne mnozstvi referenci)

--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: JBoss 4.0.4, EJB3 a delka transakce

2007-10-03 Tema obsahu Roman Pichlik
Nevim jestli je na to anotace (v XML ), ale kdyz si lookupnete 
UserTransaction, tak to muzete nastavit programove.


http://jira.jboss.com/jira/browse/EJBTHREE-298
http://wiki.jboss.org/wiki/Wiki.jsp?page=TransactionTimeout

Adámek Lukáš napsal(a):

Ahoj

 


Mam trochu zmateny dotaz, tak doufam ze se mi podari ho definovat.

 


Mame JEE aplikaci, ktera bezi na JBoss 4.0.4.

Pouzivame EJB3. Kazda metoda EJBeany bezi jako transakce.

Globalne mame delku transakci nastavenu na 2 minuty.

Ovsem v jedne metode jedne EJBeany potrebujeme prodlouzit beh transakce 
na cca 30 minut.


 

Je tedy mozne v zacatku teto EJB metody rict EntityManageru, aby delku 
transakce, ktera bezi pouze v ramci teto metody prodlouzil na nami 
pozadovany cas?


Nebo obecne, je toto mozne JAKKOLIV provest?

 


Diky l.




--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: spring - multiple property definition

2007-10-01 Tema obsahu Roman Pichlik


 

  
  

 


http://static.springframework.org/spring/docs/2.0.x/reference/beans.html#beans-collection-elements

Od 2.1 resp 2.5 jde vyuzit Autowired anotace

public class bean {

 @Autowired
 private List generators;

}

List bude naplneny vsemi definovanymi T beanami

http://static.springframework.org/spring/docs/2.1.x/reference/beans.html#beans-autowired-annotation



Vladimír Náprstek napsal(a):

Zdravím,
mám takový problém - ve springu mám bean, který má jeden atribut typu
List a potřebuji prvky nadefinovat v servlet.xml. Asi takto:

bean:
public class bean {
 private List generators;
...
 public setGenerator(typ prvek) {
  generators.add(prvek);
 }
}

no a v ...-servlet.xml:

 
 



vymyšlené hezky, problém je v tom, že toto mi spring nedovolí, druhý
pokus o nastavení proměnné generator mi odmítne kvůli multiple property
definitions.

Je nějaký jiný způsob, jak podobnou věc zařídit?



--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: OT: Architektura

2007-09-25 Tema obsahu Roman Pichlik



V reakci na toto sdělení jeden architekt uvedl:

Je to otázka optimismu či skepse při návrhu vnitřních rozhraní. Tato mají
smysl pokud jsou stabilní. Pokud každý nový zákazník přináší změny v těchto
rozhraních, pak je někdy lepší, když takováto rozhraní nejsou.


Co byste takovému architektu odpověděli?


To je asi jako tvrdit, ze davat do auta airbagy je otazka optimismu ci 
skepse designera, protoze kdyz to do tebe navali kamion, tak ti to je k 
nicemu. Je to samozrejme nesmysl, protoze v 80% procentech pripadu ti ty 
airbagy zachrani zivot.


Vnitrni rozhrani nezavadime jenom proto, aby odolaly zakaznickym vlnam, 
ale take proto, abychom oddelily odpovednost jednotlivych komponent 
(vrstev) systemu a zavedli jistou miry abstrakce. Pokud vnitrni rozhrani 
nejsou vede to k spagetovemu kodu 
(http://en.wikipedia.org/wiki/Spaghetti_code). Nadto bych jeste 
podotknul, ze je vnitrni rozhrani a vnitrni rozhrani. Vetsina systemu ma 
nejaky core, ktery je takrka nezavisly na tom, co si zakznik navymysli 
za use-cases. Jedine co tedy muze byt nestabilni u dobre navrzene 
architektury je API, ktere implementuje jednotlive zakaznicke use cases 
a i to je napovazenou (spatna analyza zakaznickych pozadavku, spatna 
komunikace se zakaznikem).


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Maven a parametrizace testu

2007-09-17 Tema obsahu Roman Pichlik

nevím jestli to je řešeni na tvůj problém, ale nedávno jsem narazil na jednu 
přednášku ze SpringOne, kde řešili, jak mít různé konfigurace pro různá 
prostředí a nedoporučují to řešit při buildu ale dynamicky až zaběhu. Pro další 
info posilám odkazy :

http://www.springone.com/download/attachments/3275/21_02_01.pdf ( registrace 
nutná )
http://blog.interface21.com/main/2007/06/25/code-samples-from-springone-beyond-the-obvious-talk/
 ( příklady )


podivam se na to...

--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Maven a parametrizace testu

2007-09-17 Tema obsahu Roman Pichlik



profil se da definovat nejen v settings.xml, ale take primo v POMu.
Do POMu lze tedy zapsat profil, ktery obsahuje implicitni hodnoty spolecne vsem 
clenum tymu.
Jednotlivi vyvojari si pak mohou v pripade potreby promenne "prepsat" 
(override) v lokalnim settings.xml.

To by vam mohlo pomoci nebo ne?


problem neni kam, ale jak. Proste neumim vyjadrit nezavisle na prostredi 
relativni ulozeni souboru vzhledem k master POMu.


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Maven a parametrizace testu

2007-09-17 Tema obsahu Roman Pichlik

Ahoj,
 rad bych v Mavenu dosahnul parametrizaci testu. V pom.xml jednotlivych 
subprojektu mam.


   


${jdbc.properties.folder}

jdbc.properties

META-INF 






V settings.xml mam profil, ktery mi nastavi promennou 
${jdbc.properties.folder}. Problem je v tom, ze neumim tuto promennou 
nastavit na implicitni hodnotu nekde v rodicovskem POMu. Moje predstava 
byla takova, ze vedle rodicovskeho POMu se bude valet implicitni 
jdbc.properties. V rodicovskem POMu jsem nadefinoval 
${basedir}. Bohuzel to 
nefakci, Maven zrejme nevyhodnoti ${basedir}. Cilem tehle tanecku bylo, 
aby databazove zavisle testy bezely aniz by si developer musel vytvaret 
vlastni profil. Mozna to je spatny pristup...


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Zarijove setkani CZJUG

2007-09-14 Tema obsahu Roman Pichlik

Zdravim,
 dalsi setkani Czech Java User Group (http://java.cz/jug) klepe na 
dvere, takze bych Vas rad touto cestou jeste jednou pozval. Setkani 
probehne pristi stredu 19.9.2007 od 18 hodin v poslucharne K9 v 
prostorach CVUT na Karlaku.


Tematem tohoto setkani bude:

* Maven -- praktické nasazení
* Monitorovaní Java aplikací a diagnóza performace problemů s použitím 
JDK nástrojů a NetBeans Profiler


Abstrakty prezentaci najdete na 
http://www.java.cz/detail.do?articleId=7570. K obcerstveni bude pizza + 
piti a mozna prijde i kouzelnik ;-).


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Jak na EJB 3.0 unit testing

2007-09-11 Tema obsahu Roman Pichlik

jak testujete EJB? Je lepsi pouzit nejaky embedded kontejner, nebo
nejaky xxxUnit framework s podporou EJB? A nebo je lepsi napsat si
nejaky vlastni servlet, ktery provede testovani...


Sveho casu se na to pouzival http://jakarta.apache.org/cactus/

--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: lazy-init cache a synchronizacni problem (double-check-locking)

2007-09-06 Tema obsahu Roman Pichlik
a co jako implementaci pouzit ConcurrentHashMap, ta pouziva specialni 
holdery (ConcurrentHashMap$HashEnty), kde je value definovana jako volatile.


Jiri Dolezel napsal(a):

Ahoj,
pracuji s JEE aplikaci provozovanou na viceprocesorovem stroji (Java 5), kde se 
casto pouzivaji konstrukce tohoto typu:

 zacatek prikladu 

class ProductsCache {
// staticka cache: "nazev produktu" -> "DTO produktu"
private static final Map cacheOfProducts 
= Collections.synchronizedMap(new HashMap());


public Product get(String name) {
// nejdrive jej zkusime najit v cache
Product product = cacheOfProducts.get(name); 


if (product == null) {
// pokud v cache neni, vytvor jej v synchronizovanem bloku
synchronized (cacheOfProducts) {
// "double-checked-locking"?
product = cacheOfProducts.get(name);

if (product == null) {
// PROBLEM: Muze se nam stat, ze se neuplne inicializovany produkt ulozi do cache 
// a jine vlakno tak ziska nekonzistentni produkt?

product = new Product(name);
cacheOfProducts.put(name, product);
}

}
}

return product;
}
}

 konec prikladu 

Mam k tomuto kodu dve otazky:
1) Muze skutecne dojit k situaci popsane v kodu jako "PROBLEM"? Podle me ano, 
pokud prekladac/CPU prohodi instrukce takto:
- (vlakno A) vytvor novy objekt Produkt "nazev"
- (vlakno A) proved cacheOfProducts.put("nazev", product);
- (vlakno B) zavolej cacheOfProducts.get("nazev") => ziska nekonzistentni 
produkt
- (vlakno A) dokonci inicializaci produktu "nazev"

2) Pokud skutecne muze nastat situace 1), nabizi Java 5 moznost, jak tomu predejit, aniz bychom synchronizovali celou metodu get()? 

Zkoumal jsem pouziti volatile za timto ucelem (tzn. deklarovat cacheOfProducts jako volatile), ale to se vylucuje s final. 
Ikdyby vsak cacheOfProducts nebylo final, resilo by volatile tento problem? Ve specifikaci se uvadi, ze prvky pole, ktere je deklarovane jako volatile, samy volatile nejsou. A jelikoz kolekce je postavena na polich, tak si myslim, ze to problem opet neresi. Ale to jsou jen me dohady.


Prosim, pokud do toho vidite, vysvetlete mi cely problem jednou provzdy :-)

Jirka




--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: project management tools - build, test, code analysis, documentation

2007-08-22 Tema obsahu Roman Pichlik
urcite Maven. K tomu co umi Maven by jste dospel pomoci kombinace Ivy 
(zavislsoti) + Ant (exekuce), ake kdo by to psal, kdyz mate Maven ;-).


[EMAIL PROTECTED] napsal(a):

Az takhle hrube jsem to nemyslel ;) ... nemyslel jsem ruzne programovaci 
jazyky, ale ruzne technologie a frameworky kolem J2SE/J2EE. Omlouvam se / 
polepsim se ;)

  _  


Od: [EMAIL PROTECTED] za uživatele Petr Ferschmann
Odesláno: st 22.8.2007 12:33
Komu: Java
Předmět: Re: project management tools - build,test,code analysis,documentation


Zdravím,

no, pokud myslíte víc technologií např.: Java a C/C++ tak to vám přeju hodně 
štěstí :-)

Pro C/C++ mám dobré zkušenosti s Autoconf/Automake a CMake (umí dělat Makefile 
a Visual Studio projekty, pouštění testů).
Pokud chcete do dražších sfér tak možná IBM Rational ClearCase.
Pokud chcete něco jednotně tak bych doporučil Maven s tím, že např. C/C++ se 
bude z Mavenu buildit něčím jiným (např. CMake).
Také bychom asi neměli vynechat Microsoft Visual Studio Team System (nebo jak 
se to vlastně teď jmenuje).

Opravdu záleží na přesných podmínkách, o jaké technologie se jedná a co od systému očekáváte. 

Pošlete seznam technologií, zda se jedná o různé projekty/jeden projekt apod. 


Pokud se jedná o více různých  technologíí nebránil bych se používat pro každý 
typ projektu něco jiného.

Petr 

[EMAIL PROTECTED] píše v St 22. 08. 2007 v 11:29 +0200: 


Stale hledam framework pro nejakou rozumnou spravu vetsich projektu (vic 
modulu, vic technologii, nejednotna struktura) - sestavovani, testy, analyzy 
kodu, dokumentace, verzovani.



Znam: Ant, Maven, Ivy, Continuum



Unikl mi nejaky zajimavy projekt?



Diky D. :)



PS: Nutna nezavislost na IDE.







This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise private information.  If you have received it in 
error, please notify the sender immediately and delete the original.  Any other 
use of the email by you is prohibited.

Petr Ferschmann 


SoftEU s.r.o.

---

Bolevecká 6

301 00 Plzen

Czech Republic

---

Phone: +420 373 731 284

   +420 373 729 300

Fax:   +420 373 729 301

Cell:  +420 775 638 008

E-mail: [EMAIL PROTECTED] 




--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


CZJUG - hvězdy září v Září

2007-08-22 Tema obsahu Roman Pichlik

Zdravim,
 ve středu 19.9.2007 proběhně od 18 hodin v posluchárně ČVUT K9 na 
Karláku další setkání Czech Java User Group. Připraveny jsou dvě 
prezentace na téma Monitorovaní Java aplikací a diagnóza performace 
problemů s použitím JDK nástrojů a NetBeans Profiler od Tomáše 
Hurky&Jiřího Sedláčka a Maven -- praktické nasazení od Petr Ferschmanna.


Abstrakty prezentaci naleznete na 
http://www.java.cz/detail.do?articleId=7570


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibernate many-to-many problem

2007-07-29 Tema obsahu Roman Pichlik

http://blog.softeu.cz/hibernate-a-optimalizace/
http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#performance-fetching

Ace napsal(a):
Pokud si dobre pamatuju tak, aby si mohl pouzivat Lazy nacitani tak 
nesmis nikdy zavrit session (session.close() ), takze si pri spusteni 
aplikace udelas hibernate session a pak uz ji nikde nezaviras (jenom pri 
ukonceni aplikace by to prislo vhod).




*public* Set getKartyForCitacka() {
Session session = 
hibernateTemplate.getSessionFactory().openSession();

*try* {
Citacka citacka = (Citacka) 
session.load(Citacka.*class*, *new* Long(1));

*return* citacka.getKarty();
} *catch* (Exception e) {
e.printStackTrace();
} *finally* {
session.close();
}
}

Stale mi to vsak pada na tuto vynimku:

org.hibernate.LazyInitializationException: failed to lazily initialize 
a collection of role: Citacka.karty, no session or session was closed


Ak vsak dam lazy="false", tak mi to funguje, ale citat pre kazdu 
citacku 1000ky kariet, ked ju loadnem je pekne o nicom :(((


Michal 





--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Problémy s pripojením k Firebirdu

2007-07-27 Tema obsahu Roman Pichlik

co takhle checknout jestli v ceste nestoji nejaky personal firewall...

Petr Vaněk napsal(a):

Tak jsem zkoušel HSQL demo a ani tomu se nepodařilo připojit se na svoji db.


Dobrý den.
Mám problém s přípojením k databázi Firebird.
Máme aplikaci která běží na všech počítačích, krom mého nově
nainstalovaného. K připojení používám JayBird. Nastavení prakticky všeho je
stejné jako na počítačích kde to běží.
chyby:

.org.firebirdsql.jdbc.FBSQLException: Could not obtain connection during
blocking timeout (5000 ms)

org.firebirdsql.gds.GDSException: Unable to complete network request to
host "localhost"

Ale na Firebirda se pomoci GUI nastroje(Flamerobin) připojím.
Z jakéhokoli nastroje jsme se připojili, krom přes Javu ne.
Prosím o nějaké postřehy kde chybu hledat.

Petr"Zarko"Vaněk





--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: jaky security framework?

2007-07-09 Tema obsahu Roman Pichlik

http://acegisecurity.org/

Martin Beránek napsal(a):

Zdravím konferenci,

potřeboval bych doporučit něco jako security framework. Chtěl bych 
určité metody oběktů zabezpečit na uživatelské role. něco jako:


public void someMethod() {
Security.checkRole("admin","poweruser");
...
...
...
}

kde by Security.checkRole mohlo vyhodit nějakou SecurityException.

koukal sem na jaas, ale tam se mi nelibi že jakmile to jednou zapnu, 
aplikuje se to všude.


díky za návrhy




--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Prezentace Modelu v MVC

2007-07-06 Tema obsahu Roman Pichlik
Udelalo by se to velice podobne, jenom by se misto controlleru ci view 
helperu, ktery dela zprostredkovatele pouzila nejaka fasada, ktera by 
volala aplikacni logiku. Ta fasada by se potom vystavila k vzdalenemu 
volani, protoze vlastni rozhrani aplikacni logiky neni vetsinou vhodne 
primo vystavovat.


Pa Ko napsal(a):

Rad bych se zeptal na neco, co s MVC souvisi, jestli to nebude vadit... ;-)

Radeji dam priklad... Pizza restaurace, 3 controllery, jeden pro 
zakazniky (objednavky pizzy), jeden pro kuchare (rusi nebo zpracovava 
objednavky) a jeden pro poslicka, ktery pouze prebira zbozi a rozvazi... dale pro kazdou akci v controlleru samozrejme view 
atd...


To co me ale zajima je, jak by se to resilo, kdyby jednim z pozadavku 
bylo, aby bylo mozno misto webove rozhranni stahnout program...
tzn. vubec by se tam nepouzivaly webove stranky - mam takovy pocit, ze 
tady uz se to pomalu blizi k webovym sluzbam a pak
pouze k jejich vyuziti v appletu napriklad... nebo by to slo nejak 
splacat pomoci stejnych controlleru? a jak by se potom resily prechody 
mezi strankami a podobne web-specific problemy?


6.7.07, *Roman Pichlik* <[EMAIL PROTECTED] 
<mailto:[EMAIL PROTECTED]>>:


Tak priznam se, ze uplne nerozumim tomu, kde hledate problem. Struts vas
prece vedou za ruku. Vytvorite Action objekt (controller) ten nejakym
zpusobem nacte ty data (Model) z databaze a zaregistruje je v
prislusnem
scope, ze ktereho si je cte JPS stranka (View).


[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> napsal(a):
 > Dobrý den
 >
 > Řeším problém jak mám SPRÁVNĚ (podle MVC) zobrazit data načtená z
DB v JSP stránce.
 > Aktuálně používám Struts, ale to myslím není důležité.
 >
 > 1. Skriplet v JSP  - X
 > 2. JSTL - X
 > 3. Použití JavaBeanu, který se ptá DB a nějak přadává data JSP
stránce  - ?
 > 4. Nějaký ORM systém + JavaBean - pro malou aplikaci?
 >
 > Myslím, že pro malu aplikaci, by vyhovoval bod 3, ale nevím jak
to implementovat:
 > Načtu data z DB do setrů, ale jak, když DB tabulka má 100
záznamů? ( nějak pomocí Kolekcí?)
 >
 > Konkrétní problém:
 > Načíst z DB 100 záznamů a zobrazit je v tabulce JSP stránky -
neporušit koncepci MVC
 >
 > Děkuji za pomoc
 > Tomáš Znojmo
 >


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */





--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Prezentace Modelu v MVC

2007-07-06 Tema obsahu Roman Pichlik
Tak priznam se, ze uplne nerozumim tomu, kde hledate problem. Struts vas 
prece vedou za ruku. Vytvorite Action objekt (controller) ten nejakym 
zpusobem nacte ty data (Model) z databaze a zaregistruje je v prislusnem 
scope, ze ktereho si je cte JPS stranka (View).



[EMAIL PROTECTED] napsal(a):

Dobrý den

Řeším problém jak mám SPRÁVNĚ (podle MVC) zobrazit data načtená z DB v JSP 
stránce.
Aktuálně používám Struts, ale to myslím není důležité.

1. Skriplet v JSP  - X
2. JSTL - X
3. Použití JavaBeanu, který se ptá DB a nějak přadává data JSP stránce  - ?
4. Nějaký ORM systém + JavaBean - pro malou aplikaci?

Myslím, že pro malu aplikaci, by vyhovoval bod 3, ale nevím jak to 
implementovat:
Načtu data z DB do setrů, ale jak, když DB tabulka má 100 záznamů? ( nějak 
pomocí Kolekcí?)

Konkrétní problém:
Načíst z DB 100 záznamů a zobrazit je v tabulce JSP stránky - neporušit 
koncepci MVC

Děkuji za pomoc
Tomáš Znojmo




--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: CZJUG - souboj platforem

2007-06-28 Tema obsahu Roman Pichlik

P.S.: Budou k dispozici ty slidy?


http://java.cz/dwn/1003/7087_nb-vs-eclipse.pdf


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: CZJUG - souboj platforem

2007-06-27 Tema obsahu Roman Pichlik

 A samotná přednáška taky, samozřejmě u mě vyhrál Netbeans, ale dozvěděl jsem 
se, že Eclipse umí v podstatě totéž. Libilo se mi ale jak Netbeans umí hezky 
exportovat hotovou RCP aplikaci i s exe spouštěčem.


to jsem videl u Eclipse, ale je pravda, ze jsem se po prestavce musel 
chvilku venovat hosteskam ;-), takze tuto featuru nevylucuji ani pro 
NetBeans...


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: CZJUG - souboj platforem

2007-06-22 Tema obsahu Roman Pichlik

no a jeste casting manazer Roumen domluvil hostesky na roznos piti a jidla

http://www.zoomint.com/component/option,com_rsgallery2/Itemid,249/page,inline/id,891/catid,11/limitstart,5/lang,en

Vic lakadel uz CZJUG nabidnout nemuze, leda me napada, ze by holky 
chodily v plavkach ;-).


Roman Pichlik napsal(a):

Zdravim,
 ve stredu 27.6. probehne dalsi setkani CZJUG (http://java.cz/jug) 
tentokrat na tema souboj Rich Client Platforem  - NetBeans RCP 
(http://www.netbeans.org/products/platform/) vs. Eclipse RCP 
(http://www.eclipse.org/rcp/). Tohle setkani bude mit celkem tri 
zvlastnosti.


1.) Probehne na pude CVUT v Dejvicich, Technická 2 - a to v posluchárně 
135 (první patro)!
2.) Kazde reseni bude obhajovat jeden recnik, s tim ze na konkurecnich 
tematech budou diskutovat.

3.) Bude obcerstveni (pizza a piti)

Predbezny seznam temat:

*The need for platform
*The need for modular applications
*The need for rich desktop clients
*Building platforms
*What is Eclipse?
*What is NetBeans?
*Eclipse RCP
*Netbeans Platform
*Equinox
*Modularity in NetBeans
*Eclipse Workbench
*Cooperation of Modules
*Deployment Scenarios and Installation Structure
*Future
*Demo
*Recommended Reading


Tesime se Vasi ucast,

za CZJUG

Roman Pichlik








--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Interceptors in EJB3 alebo IoC vseobecne

2007-06-22 Tema obsahu Roman Pichlik
IoC ako vsetci vieme je Inversion of Control design pattern, ktory tu uz 
istu dobu existuje a dovolim si tvrdit exte pred samotnym springom 
(http://en.wikipedia.org/wiki/Inversion_of_control). Spring sa tohto 
patternu chytil a postavil nad nim svoj IoC kontainer, ktory okrem IoC 
medzi beanmi poskytuje rozne sluzby.
Pod IoC chapem redukciu zavislosti medzi dvomi beanmi, tak ze jedna 
pozna maximalne interface tej druhej a o samotne vytvorenie zavislosti 
sa postara tretia osoba (kontainer).


to co popsal Fowler byl samozrejme jenom zaklad, bezne pozadavky pri 
rogramovani jdou za nej.


Kedze IoC preslavil spring nakolko je nad nim postaveny, tak si viem 
predstavit ze spring evangelisti chapu pod IoC to co maju v dokumentacii 
springu v kapitole IoC uvedene.


ty veci, ktere jsem vyjmenoval pri programovani potrebujes, Fowler o 
nich nepsal protoze to nebylo potreba. Rekneme, ze to jsou aplikacni 
pozadavky.



- nemuzes pouzit factory metody ci Factory jako takove
Faktory metod je tiez design pattern spisany uz v 1995 GoF a v jave ho 
mozem pouzit aj bez springu aj bez J2EE kontaineru


jinymi slovy ti EJB enforcuje navrh objektoveho modelu. Ja chci mit 
Factory z nejakeho duvodu a zarooven chci, aby mi na ni IoC kontejner 
delegoval *vytvareni* (pouze) objektu. V IoC EJB neresitelnmy problem... 
Tenhle pozadavek je celkem bezny pokud zacnes dohromady integrovat tvuj 
kod a kod nejakych knihoven tretich stran.



- vsechny tvoje objekty *musi* mit rozhrani tj. nemas moznost volby
To ze bean anotujem napriklad @Statefull a tym sa stava managovany 
kontainerom povazujem skor za vyhodu pre samotny bean, pretoze moze 
vyuzivat sluzby kontaineru. O hranici kedy ma byt bean manazovany 
kontainerom som pisal v predchadzajucom maily.


to mluvis o necem jinem, o tom jak se stane objekt managovany. Ja rikam 
ze v EJB musi mit kazdy managovany objekt rozhrani - opet EJB 
enforcement do tvoji architektury



- zavislost nelze injectnout konstruktorem
Konstruktor injection naozaj J2EE kontainer nema. Dovodom asi bude ze je 
menej pouzivana ako setter injection.


:-) cili EJB opet enforcuje to, ze nesmis pouzit konstruktor


- chybi extension pointy na strane IoC kontejneru (z pohledu Spring
BeanPostProcessor)
Lifecycle metody mozes v EJB definovat tiez (@PreCreate), ale to sme od 
IoC design patternu daleko


ano to muzes, ale uz nemuzes napriklad rici co se ma stat s takhle 
inicializovanym objektem. Predstav si, ze jej potrebujes nekam 
zaregistrovat.



- nemuzes pouzit autowiring (velice uzitecne pro testy)

Pri developmente nepouzitelne - stracas prehlad


rpo vyjadreni klasickych zavislosti ne, ale pri testech je to vice nez 
uzitecne. Je tak mozne, ze si nadefinujes test a IoC kontejner ti pak do 
nej injectne testovany objekt.


public FooTest extends  AbstractDependencyInjectionSpringContextTests {
 private Foo foo;

 public void testFoo(){
   assert(foo.doSomething());
 }

 public void setFoo(Foo foo){
this.foo = foo;
 }

}



- nemuzes definovat neprime zavislosti

Tomuto poslednemu bodu nerozumiem


mas dve beany A a B, ktere na sobe nejsou explicitne zavisle (nemaji 
primou dependency) a potrebujes, aby bylo napriklad zarucene, ze IoC 
kontejner nejdrive zinicializuje beanu B a teprve potom beanu A.


Ak teda porovnavame IoC, tak porovnavajme to co naozaj IoC je 
http://www.martinfowler.com/articles/injection.html.


my (ja) porovnaveme prakticke pozadavky, ktere aplikace ma, pokud se 
rozhodne IoC prijmout ;-). Vsechny ty pozadavky vychazeji z pripadu 
uziti IoC v praxi a to v nasich produktech.


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: session timeout

2007-06-22 Tema obsahu Roman Pichlik

nevíte jak v servletu zjistit defaultní session timeout? Tj. hodnotu, která je 
nastavena ve web.xml? Jde to vůbec?


je to v planu pro nadchazejici verzi servletu - 2.6


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


CZJUG - souboj platforem

2007-06-21 Tema obsahu Roman Pichlik

Zdravim,
 ve stredu 27.6. probehne dalsi setkani CZJUG (http://java.cz/jug) 
tentokrat na tema souboj Rich Client Platforem  - NetBeans RCP 
(http://www.netbeans.org/products/platform/) vs. Eclipse RCP 
(http://www.eclipse.org/rcp/). Tohle setkani bude mit celkem tri 
zvlastnosti.


1.) Probehne na pude CVUT v Dejvicich, Technická 2 - a to v posluchárně 
135 (první patro)!
2.) Kazde reseni bude obhajovat jeden recnik, s tim ze na konkurecnich 
tematech budou diskutovat.

3.) Bude obcerstveni (pizza a piti)

Predbezny seznam temat:

*   The need for platform
*   The need for modular applications
*   The need for rich desktop clients
*   Building platforms
*   What is Eclipse?
*   What is NetBeans?
*   Eclipse RCP
*   Netbeans Platform
*   Equinox
*   Modularity in NetBeans
*   Eclipse Workbench
*   Cooperation of Modules
*   Deployment Scenarios and Installation Structure
*   Future
*   Demo
*   Recommended Reading


Tesime se Vasi ucast,

za CZJUG

Roman Pichlik






Re: Interceptors in EJB3

2007-06-21 Tema obsahu Roman Pichlik
Myslim si ze prave IoC je v EJB dotiahnute. 


no tak to neni ani omylem.

- nenadefinujes zavislost na zakladni datove typy jako String, Integer, 
List, Properties




class Foo {
   private List x;
}


 
  
ahoj
  
 


- nemuzes pouzit factory metody ci Factory jako takove
- vsechny tvoje objekty *musi* mit rozhrani tj. nemas moznost volby
- zavislost nelze injectnout konstruktorem
- chybi extension pointy na strane IoC kontejneru (z pohledu Spring 
BeanPostProcessor)

- nemuzes pouzit autowiring (velice uzitecne pro testy)
- nemuzes definovat neprime zavislosti

urcite bychom toho nasli vice...

--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Interceptors in EJB3

2007-06-21 Tema obsahu Roman Pichlik

Ales Dostal napsal(a):

Moc dik, za nakopnuti.
Timto zpusobem mi to samozrejme funguje, ale
Funguje to pouze na metody, ktere jsou volane z Session beany klasickym 
zpusobem. Pokud mam casovanou metodu, tak se mi Interceptor nespusti :(
Zeptam se rovnou, existuje nejaky zpusob, aby toto fungovalo i na 
nacasovane metody?


pouzij plnokrevne AOP (napriklad AspectJ) a na takove hracky jako EJB 
interceptory se vykasli. Inteceptory v EJB 3.0 presne ukazuji na 
neschopnost lidi kolem EJB specky zaclenit nejake reseni poradne. At uz 
to jsou interceptory a nebo IoC, tak oboje je to dost nedotazene.


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Spring načítání kontextů

2007-06-19 Tema obsahu Roman Pichlik
ano da, muzete pouzit takzvany classpath resource. To znamena, ze 
context lezi na classpath napriklad v jaru.


Priklad:


contextConfigLocation

	/WEB-INF/applicationContext.xml 		 
classpath*:extended-context.xml





org.springframework.web.context.ContextLoaderListener

Listener nacte /WEB-INF/applicationContext.xml a potom vsechny kontexty 
na classpath, ktere se jmenuji extended-context.xml.	


http://static.springframework.org/spring/docs/2.0.x/reference/resources.html#resources-app-ctx-wildcards-in-resource-paths 
a doporuciji precist vcetne pararafu 4.7.2.2.


Martin Chalupa napsal(a):

Ahoj, mám následující situaci.

 

Aplikace je složena z několika modulů. Hlavní modul je webová aplikace a 
context springu je nastaven pro context listener ve web.xml.


Další moduly jsou každý ve vzláštním jaru a mají vlastní xml context.

V současnosti když chci do nějaké instalace vložit modul přídám jar a 
import contextu modulu do hlavního contextu.


 

Nechá se nějak zařídit automatizované načtení těch kontextů modulů abych 
nemusel vždy editovat hlavní kontext přidávat a ubírat import tagy a 
stačilo pouze vkládat jary?


 


Martin

 

 




--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Featura v Eclipse

2007-06-15 Tema obsahu Roman Pichlik
Kde v Eclipse zapnu tu featuru, ktera mi pri oznaceni promenne v kodu 
vysviti vpravo zlute vsechny jeji vyskyty.


Nejak jsem to vypnul a docela spatne se mi bez toho dela.


me to obcas Eclipse z neznamych duvodu vypne ;-)

Window >> Preferences >> Java >> Editor >> Mark Occurences

--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibernate aneb jak se (ne)vyhnout DTO

2007-06-12 Tema obsahu Roman Pichlik

To jsem nejak nepochopil? OpenSessionInView jede cele v jedne sessione, ze? Ta 
sessiona je primarne potreba drive nez ve
view, tak jak nevytvaret explicitne?


Spring implementuje tenhle vzor dvema zpusoby:

1.) klasicky jedna session per request
2.) filtr se nestara o otevreni session, ale pouze o jeji uzavreni tj. 
zavreni session je dereferovano na filtr viz


http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/orm/hibernate/support/OpenSessionInViewFilter.html

Implementace se pak podle konfigurace chova jednim ci druhym zpusobem.

--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibernate aneb jak se (ne)vyhnout DTO

2007-06-12 Tema obsahu Roman Pichlik



Workaround, ktery je pozuitelny
predstavuje on demand associace netransakcni session ve view a to bych
resil pomoci AOP. Tim by odpadl i pripadny problem (if any) s "realese
after statement" a transakcemi.


to neni prave az tak jednoduche, protoze to je nova sessiona a musely by se 
re-asociovat vsechny jiz dotazene objekty s
touto novou sesionou :-((


proc by bylo potreba reasociovat vsechny objekty znovu a nedelat to on 
demand?



Snazim se prorazit zdrojakama Hibernate, jak zmenit connection-release-mode a 
nebo connection-auto-commit behem zivota
sessiony, ale nejak se mi nedari ...


to by blo tak reseni, treba OpenSessionInView ve Springu je mozne 
prepnout do modu, kdy session explicitne nevytvari, ale je na nej pouze 
odkazano uzavreni otevrenych session.


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibernate aneb jak se (ne)vyhnout DTO

2007-06-12 Tema obsahu Roman Pichlik

OSIV s tou volbou "realese after statement" zni ale celkem zajimave a 
odstranilo by to problem s dlouhym drzenim db spojeni.


otazka je, jak by to fungovalo napriklad s izolaci transakce pro 
klasicke JDBC. Kazdopadne by se tim usetrilo zbytecne alokovane DB 
spojeni. Spravne, ale pracne je mit DTO a nebo poskytovat v business 
logice metody, ktere ty child kolekce dotahnou napr. dostanou seznam 
zamestnancu a knim dotahnou vsechny adresy.


Samozrejme je otazka jaka by mela byt granularita tech metod, protoze 
tam presne dochazi k problemu, ktery tu taktez nekdo vzpominal a to, ze 
adresy mohou mit dalsi child kolekce. Workaround, ktery je pozuitelny 
predstavuje on demand associace netransakcni session ve view a to bych 
resil pomoci AOP. Tim by odpadl i pripadny problem (if any) s "realese 
after statement" a transakcemi.


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Hibernate aneb jak se (ne)vyhnout DTO

2007-06-12 Tema obsahu Roman Pichlik
Pouzivam Hibernate a puvodne jsem si (naivne) myslel, ze zivot bude sladky, ze Hibernate domenove objekty budu vracet do view a to mi z nich bude cist a zbavim se nutnosti psat DTO tridy. To jsem si myslel do doby, nez jsem poprve uvidel vyjimky s hlaskou "Session is closed". Duvod vyjimky je zcela pochopitelny, protoze Hibernate session (dale jen HS) mi managuje JTA, takze ve view je session jiz uzavrena a kdyz se view pokousi dotahnout nejakou lazy asociaci, vyhodi zminovanou vyjimku. 


Je otazkou jestli je dobre vracet do view model, ktery si muze bokem 
fetchnout dalsi data... Ale to je otazka, kterou si musi vyhodnotit 
autor aplikace.



1) lazy alokovana session, ktere je striktne read-only a je managovana ve view
2) standardni "vykona" session managovana pres JTA

Pak je potreba jen nejak automaticky zajistit (napr. pres nejaky JTA 
interceptor), ze domenove objekty Hibernate predavane do view se sami asociuji 
s tou read-only session a bude tedy mozne se vyhnout DTO patternu pro praci s 
domenovymi daty a pomoci te read-only session dotahovat i lazy asociace dle 
potreb view.


To je zajimavy napad hodny dalsiho rozpracovani ;-). Slo by to udelat 
pres aspect, ktery by pro dane objekty delal napojeni a odpojeni na tu 
read only session.


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Stuts

2007-05-31 Tema obsahu Roman Pichlik
Staci se podivat na aplikace s dilny 37signals (http://37signals.com/). 
V posleni dobe se spustila docela silna blogdebata na tema Twitter.com, 
ktery nezvladal (10k req/sec). Problem vyresila komunita a jede se dal. 
Aplikaci na RoR je mnoho a mnoho.


hmm jedna firma a komunita resici problemy jedne aplikace. Java aplikaci 
je take mnoho a mnoho a radu let.


1) Nesouhlasim. To ze JVM podporuje i jine jazyky nez Javu nerika nic o 
Jave a jeji schopnostech a moznostech.


v cem konkretne Java tedy za RoR pokulhava a co nemuze nikdy dohonit?

2) JRuby neni sriptovaci jazyk. Je to pure Java implementace Ruby 
interpreta (Ruby VM pod JVM). Vyuziva rychlosti a optimalizatoru v JVM. 
Java jako takova muze pouzit JRuby nebo jinou implementaci (treba 
puvodni ceckovou) pro spousteni skriptu podle JSR 223 (Scripting API).


dobre, tak krome Ruby implementace je to jeste integrace s Javou. Pokud 
by Java byla tak spatna, proc by se s ni integrovalo?


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Stuts

2007-05-31 Tema obsahu Roman Pichlik
dovolim si nesouhlasit. Ruby a RoR dobre znam a aktivne pouzivam. 
Skalovatelne to je. Na RoR platforme bezi aplikace s desitkami tisic 
uzivatelu zpracovavajici tisice reqvestu za sekundu. 


a to je informace realna a nebo ze soudku "jedna baba povidala"? Mate 
priklad nejake konkretni enterprise aplikace, ktera by RoR pouzivala a 
nebo jste to "jenom" slysel.


Co se tice srovnani web frameworku v Jave versus RoR, tak do toho bych 
se vubec nepoustel. Pravda je, ze javove frameworky jenom kopirujou a 
snazi se dohnat to co prinasi krasne rysy jazyka Ruby a frameworku 
Rails. Myslim ze duvodem proc se Javovym frameworkum nikdy nemuze 
podarit dohonit RoR je prave Java samotna.


Tak to uz celkem dlouho neplati, protoze nad JVM dneska bezi cela rodina 
skriptovacich jazyku. Tusim, ze jich je neco kolem 200 a jednim z nich 
je JRuby.



Honza

Martin Kuba napsal(a):

Jiri Mares wrote:

Ahoj,

clovek se musi podivat na Tapestry 5 ...


Zni to lakave. Ale Tapestry 5 ma byt hotove az nekdy na podzim,
tak az vyjde, zase se na nej podivam.

Vcera jsem sem psal jeden prispevek, ktery se nejak ztratil, tak
tu myslenku zopakuju - cetl jsem nazor, ze inovativnost
v Java webovych frameworcich se vycerpala, a ted vyvoj
novych ficur vedou Ruby-On-Rails, a Java frameworky jenom
se zpozdenim kopiruji. Napr. flash-scope, convention-over-configuration
a tak. Na druhou stranu jsem taky cetl, ze Ruby a potazmo RoR
je hodne pomale a neskaluje pri vyssim zatizeni serveru.


Makub





--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Stuts

2007-05-31 Tema obsahu Roman Pichlik

Vcera jsem sem psal jeden prispevek, ktery se nejak ztratil, tak
tu myslenku zopakuju - cetl jsem nazor, ze inovativnost
v Java webovych frameworcich se vycerpala, a ted vyvoj
novych ficur vedou Ruby-On-Rails, a Java frameworky jenom
se zpozdenim kopiruji. Napr. flash-scope, convention-over-configuration
a tak. Na druhou stranu jsem taky cetl, ze Ruby a potazmo RoR
je hodne pomale a neskaluje pri vyssim zatizeni serveru.


prijde mi, ze jsou v posledni dobe vsichni z RoR oslepeni a podelani. 
Urcite nelze RoR uprit inovacni vlnu, ktera ovlivnuje okolni 
technologie, ale co az tahle inovacni vlna pomine? Nezacnou se potom 
objevovat take nedostaky RoR, ktere ted vyvojari v oslepeni neceho 
noveho nevidi viz zminena performance, scalability?


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Stuts

2007-05-31 Tema obsahu Roman Pichlik

Na druhou stranu jsem taky cetl, ze Ruby a potazmo RoR
je hodne pomale a neskaluje pri vyssim zatizeni serveru.


No neni to jeste enterprise reseni :-)) Skalovatelnost zatim neni a bude to 
chvili trvat nez bude ..


dalsi duvod proc to nebrat ;-)


Jen tak mimochodem, Tapestry ma skalovatelnost velmi dobrou a 5ka se uz da 
bezne pouzivat, uz se ani moc rozhrani
nemeni, spis Howard pridava nove featurky ...


slysel jsem, ze Tapestry ma jednak spatnou dokumentaci a druhak, ze 
kazdou verzi meni API



--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


Re: Stuts

2007-05-30 Tema obsahu Roman Pichlik

mne sa velmi paci (a v poslednej dobe aktivne pouzivam) Stripes. Je to
jednoduche na naucenie sa a pouzitie ;-) A hlavne to nema debilne XML
konfiguracne subory, ale pouziva anotacie.


no nevim, obccas se mi zda jiz cela EE oblast preanotovana...

--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


  1   2   3   >