Re: Virtualizace vyvojoveho prostredi
Pridam trochu vlastnich zkusenosti k NX. nx je to magie bash+ssh+X. Moje zkusenost je, ze je NX rychlejsi nez samotne X pres ssh a dokonce simuuluje prijemnejsi odezvu nez ciste ssh. O vnc ani nemluve. Funguej velice dobre multiplatforme, takze jako klienta pouzivam Mac OS X, Windows i Linux. Existuje proprietarni implementace, stejne jako svobodna. Setkal jsem se s problemy mapovani klavesnice, ale bylo to resitelne pomoci modmap. Take jsem obcas musel restartovat nx server, protoze se odmital klient pripojit, ale opet nic zavazneho. Jinak ma s NX velmi dobre zkusenosti, samozrejme nejlepsi je ze se umi napojit na otevrenou nx session (bohuzel nikoliv bezici X session). -- Pavel
Re: Tlusty klient a hibernate
Dik za odkazy, na thick-client best preactices jsem narazil. Ale pro me pouziti mi neprislo nic moc zajimaveho. Patch na lazy loading mi prijde take dost nebezpecny. Navic jsem se (nekd) docetl ze Gaving King tohle (lazy loading patch) dlouhodobe odmita zaclenit, kvuli transakcim. Kazdopadne prostredni clanek je docela zajimavy, spise ale z hlediska tech hiearchickych eventu. Nejvice se mi ale libilo reseni s Remote Lazy Loading [odkaz, ktery jste zaslal minule http://www.theserverside.com/news/1363571/Remote-Lazy-Loading-in-Hibernate]. To skutecne pekne resi jak session tak rmi. Bohuzel se mi zacina prioritizovat pozadavek na to aby tlusty klient nebyl uplne tlusty ale take trochu stand alone (tj aby mohl fungovat i bez serveru (tj. bez session, db) takze nakonec zustanu u prekladu do klientskych objektu :( Dik za rady, --Pavel 2010/9/20 Ondra Medek xmed...@gmail.com: Ted jsem nahodou narazil jeste na: http://community.jboss.org/wiki/BestPracticesforThick-ClientApplicationsienon-webapps kde jsou dva odkazy: http://in.relation.to/Bloggers/HibernateAndSwingDemoApp http://www.360works.com/articles/detail/56/ 2010/9/17 Ondra Medek xmed...@gmail.com: Transparentni reseni pro klienta je pomerne slozite, nezkousel jsem to, viz: http://h3t.sourceforge.net/ http://community.jboss.org/wiki/RemoteLazyLoading http://www.theserverside.com/news/1363571/Remote-Lazy-Loading-in-Hibernate Ja to resim manualne - mam pro kazdou entitu statickou metodu, ktera dotaha, co je potreba. Zbyvajici kod na klientovi pak jen zavola tuto jednu metodu - tedy jen jeden radek kodu navic. Zaklad je toto: public static T extends BaseEntity T initEntity(T entity, GenericDaoT dao) { if (Hibernate.isInitialized(entity)) { return entity; // already initialized } return dao.getById(getIdDirect(entity)); } public static Integer getIdDirect(BaseEntity entity) { if (entity instanceof HibernateProxy) { LazyInitializer lazyInitializer = ((HibernateProxy) entity).getHibernateLazyInitializer(); if (lazyInitializer.isUninitialized()) { return (Integer) lazyInitializer.getIdentifier(); } } return entity.getId(); } kde dao.getById(getIdDirect(entity)); je ziskani entity pres jeji ID. Tedy neni to pro kolekce, to jsem zatim nepotreboval. Spise se snazim klientovi vratit vse, co je potreba. Toto pouzivam zatim jen na zobrazeni tooltipu a podobnych mene podstatnych informaci. Pokud se entity meni, tak je myslim lepsi toho nacist vzdy co nejvice v jedne transakci. Mezi ruznymi transakcemi nekdo jiny muze data zmenit a z toho mohou byt problemy. 2010/9/17 Pavel Nemec neme...@gmail.com: No ano, problem je lazy loading. Rad bych klienty odstinil od zpusobu persistence (je to mimo jine i pozadavek) a nechci tedy aby si museli dotahovat nejake kusy na zaklade vyjimky session is closed, nebo aby takovou vyjimku vubec museli chytat. O DTO a potazmo apache commons beanutils jsem nevedel, urcite na to mrknu. Mohlo by to pomoci pri reseni. Dik Pavel Dne 17. září 2010 13:10 Ondra Medek xmed...@gmail.com napsal(a): Ahoj, a kde je problem: lazy reference neni serializable nebo ti vadi, ze klient si pak nedokaze ty lazy reference sam dotahat? Oba pripady jdou resit. Pripadne pri prevadeni entit do DTO muze slouzit Apache commons beanutils - pak se to lehce zautomatizuje. -- Ondra Medek 2010/9/17 Pavel Nemec neme...@gmail.com: Zdravim konferencei. Mam takovy pekny zapeklity problem. Na serveru pouzivame jako backend sql+hibernate. Data cestuji pomoci jboss+rmi na tlusteho klienta. Tech je radove stovky a tak neni ani zdaleka problem ve vykonosti databaze nebo jboss serveru. Vse to funguje pomerne pekne. V soucasne chvili pracujeme na dalsi verzi a reviduji soucasne postupy. Muj problem je ze pokud objekt nactu z hibernate obsahuje spoustu proxy a lazy loaded pod-objektu (kolekci). Zkousel jsem dohledat nejake doporucene postupy jak s tlustym klientem pracovat s hibernate, ale nenalezl jsem nic uzitecneho. Nevidim cestu jak poslat objekty obsahujici lazy reference na klienta (pres rmi) a jedinou cestu jak z toho vidim prekladat do klientskych obrazu techto objektu. To sebou nese samozrejme preklad a dva typy objektu. Na druhou stranu to nenuti klienta resit cokoliv s hibernate. Premyslel jsem take osekat Ukladane objekty a vse nahravat pomoci EAGER. Ale bojim se ze ani to neni cesta, protoze to Ukladane objekty prilis svaze. Rad bych si usetril praci. A tak hledam reference na to jak to delaji ostatni, pripadne cemu se rovnou vyhnout. Dik, Pavel -- Ondra Medek -- Ondra Medek
Re: Tlusty klient a hibernate
Dne 21. září 2010 11:37 Vaclav Stumbauer stum...@gmail.com napsal(a): Tez zdravim, treba Vam k necemu bude jak to mame my: pouzivame stejny mechanismus jako vy - business na serveru, hibernate pro persistenci. Standalone klient u nas slouzi pro nastavovani systemu a evidenci dat. Jakym zpusobem prenesete session na klienta? Pokud vim neni serializovatelna pres rmi? Domenu prenasime na klienta tak jak je, zadny preklad nedelame. Klientsky kod na hibernate zavisly neni, ale hibernati liby jsou v nem kvuli proxynam atd pribaleny. To muze nekoho drazdit, ale osobne to silne preferuju ve srovnani s nejakymi DTO atp. Navic v dobe kdy domena se stava stale vice zavisla na vsemoznych ne nutne vyznamove crossaplikacnich anotacich to uz v podstate neni argument. To beru. Nicmene nase rozhrani ma byt backend nezavisle. Ale tohle uz vyresene mame. Zadnou doinicializaci z klienta nedelame, CRUD volani ze standalone klienta vedou na predem danou inicializaci specifickou pro standalone klienta, v businessu se tato nevola. (fetch joiny pro listingy a Hibernate.initialize pro detaily). nenarazili jste na to ze by jste diky --Pavel
Tlusty klient a hibernate
Zdravim konferencei. Mam takovy pekny zapeklity problem. Na serveru pouzivame jako backend sql+hibernate. Data cestuji pomoci jboss+rmi na tlusteho klienta. Tech je radove stovky a tak neni ani zdaleka problem ve vykonosti databaze nebo jboss serveru. Vse to funguje pomerne pekne. V soucasne chvili pracujeme na dalsi verzi a reviduji soucasne postupy. Muj problem je ze pokud objekt nactu z hibernate obsahuje spoustu proxy a lazy loaded pod-objektu (kolekci). Zkousel jsem dohledat nejake doporucene postupy jak s tlustym klientem pracovat s hibernate, ale nenalezl jsem nic uzitecneho. Nevidim cestu jak poslat objekty obsahujici lazy reference na klienta (pres rmi) a jedinou cestu jak z toho vidim prekladat do klientskych obrazu techto objektu. To sebou nese samozrejme preklad a dva typy objektu. Na druhou stranu to nenuti klienta resit cokoliv s hibernate. Premyslel jsem take osekat Ukladane objekty a vse nahravat pomoci EAGER. Ale bojim se ze ani to neni cesta, protoze to Ukladane objekty prilis svaze. Rad bych si usetril praci. A tak hledam reference na to jak to delaji ostatni, pripadne cemu se rovnou vyhnout. Dik, Pavel
rychlost instanceof x interface x key/ID
Dobry den, resim takovy maly problem toho co je lepsi pouzivat pro rozliseni typu objektu. Ja jsem zastance pouzivat interface a nechat compilator/runtime aby si vybral, kterou metodu zavola. Muj oponent pochazi vice z Ccka a je mu blizsi pouzivat klice, pripadne instanceof. Ja jsem mel vzdy za to ze instanceof je velmi pomale a nedoporucuje se, nicmene jsem se docetl, ze to jiz davno neplati. Udelal jsem si maly test, kdy zjistuji zda je objekt daneho typu na zaklade volani instanceof interface - nezjistuji, pouze volam interface metodu na zaklade objekt.getID() + pretypovani. Myslel jsem ze interface bude s prehledem nejrychlejsi, nicmene tomu odpovida jen maly pocet volani (volam v cyklu a zjistuji jestli objekt v listu je daneho typu) pro 20 000 polozekinstanceof: 2 item took 25milsec, and result is 0 (should be 0) interface: 2 item took 4milsec, and result is 0 (should be 0) id: 2 item took 23milsec, and result is 0 (should be 0) pro vysi pocet pak rychlost interface jiz kleas a napriklad pro 20M instanceof: 2000 item took 284milsec, and result is 0 (should be 0) interface: 2000 item took 380milsec, and result is 0 (should be 0) id: 2000 item took 188milsec, and result is 0 (should be 0) Zdrojak je nejednodusi mozny, viz: http://pastebin.ca/1909107 je tohle znama vec, a je tedy skutecne jedno zda(co se tyce rychlosti) pouziji instance of misto interface? Diky, Pavel
Re: Hesla - kontrola sily
Dobry den, muj oblibeny program KisKis (gpl java) pouziva cracklib. Pomoci neho pak umi krom sily hesla provest test na slovnikovy utok. Umi pouzit jakykoliv externi cracklib slovnik. Pokud tedy nenajdete lepsi reseni muzete se zkusit kouknout na implementaci v KisKis kiskis.sourceforge.net/ HIH -- Pavel 2010/6/15, Radovana Straube radovana_stra...@yahoo.com: Dobry den, existuje nejaka Java kniznica, kde sa konfigurovat sila hesiel? Napriklad minimalna dlzka, pocet velkych alebo malych pismien, cislic, zakaz dvoch rovnakych znakov za sebou, zakaz ciselnej postupnosti ... Pre rozne role uzivatelov potrebujem nastavit odlisnu silu (password strength). Moje googlovanie mi bohuzial nepomohlo. Pouzivam Spring Security. Dakujem. Radovana Straube
Re: Balikovanie java aplikacii na linuxe
Dne 19. října 2009 15:16 Podlesak Kamil kamil.podle...@ips-ag.net napsal(a): Zdravim, Zajimava diskuse. Vcelku vsechno dulezite jiz bylo receno, ale jednu poznamku bych pridal: toto neplati ani ve svete C(++)! Respektive, v podstate to plati ve svete Linuxu pouzivaneho typickym zpusobem, tj. bez komercnich aplikaci. Zrovna tento mesic se ale stalo, ze IBM Lotus Notes prestaly fungovat s novou verzi GTK knihovny (2.18). Balickovaci system s takovou variantou opravdu nepocita, takze je nutne si to vyresit rucne (nastesti staci knihovny nakopirovat do /opt/ibm/lotus/notes Tohle neni uplne presne. Komercni aplikace napriklad skype, ktery je distribuovan pomoci balickovaciho systemu (deb nebo rpm) si s tim samozrejme poradi. Vetsina komercnich aplikaci ale pouziva svuj instalator, ktery ale s balickovacim systemem nepracuje a nezaregistruje si zavislostino a pak to dopadne jako ve vasem pripade.
Re: Balikovanie java aplikacii na linuxe
Dne 22. října 2009 12:42 Podlesak Kamil kamil.podle...@ips-ag.net napsal(a): Naopak! Prave ze Lotus Notes jsou k dispozici jako rpm i deb a se spravnymi zavislostmi. Prave proto doslo k zminovanemu problemu. Teoreticky by stacilo, kdyby v zavislostech byla uvedena presna verze - jenomze bohuzel to by ve stavajicich balickovacich systemach zanamenalo jen to, ze by se knihovna nesmela updatovat. Rouzmim, no to se take nekdy stane. Tezko rici kde je chyba zda spatny update nebo spatne pripraveny jar. Obecne by pri update nemelo dojit k rozbiti API, zejmena kdyz se instaluje oprava. a jedna se zvyseni verze...treba 1.3.1 na 1.3.2. Gtk2 je ale slozita zalezitost :( Z techto duvodu mivaji komercni aplikace vlastni instalator, nebo alespon balicek bez zavislostmi - vsechny knihovny maji vlastni v takovych verzich, o kterych vi ze funguji a jsou otestovane. Presne jako se to dela v Jave. Microsoft samozrejme na tento problem narazil uz hodne, hodne davno a jeho reseni bylo jednim ze zakladnim pozadavku na .NET - takze umoznuje mit k dispozici mnoho verzi jedne knihovny, pricemz ruzne aplikace pak pouzivaji ruznou verzi. Dokazu si predstavit, ze by balickovaci systemy linuxovych dristribuci podobnou funkcionalitu umoznily. Vyzadovalo by to ale nekolik nepeknych hacku a tvrde by to narazilo na zastance tvrde linie (aneb kdyz je chyba v aplikaci, ma se opravit aplikace, ne zavadet nejake obezlicky). I v linuxu je mozne mit vice verzi jedne knihovny pohromade. Jde o to jak se udela balicek. Pokud se knihovna (at uz .so nebo .jar) ulozi pouze s verzi napr /usr/lib64/libgpm.so.1.19.0 tak neni problem inastalovat vedle toho jinou verzi. Nicmene vetsinou si knihovna nainstaluje take simlinky /usr/lib64/libgpm.so - libgpm.so.1.19.0 /usr/lib64/libgpm.so.1 - libgpm.so.1.19.0 Program ktery knihovnu pouzije pak linkuje simlink rpm -qR mc | grep gpm libgpm.so.1()(64bit) Vyhodou pak je, ze je mozne knihovnu gpm preinstalovat, pokud se jedna o stejnou Major verzi. a zaroven je v systemu omezeni ze mc je zavisle na verzi 1 knihovny libgpm. Pokud je knihovna neukaznena, tak je nutne linkovat plnou verzi.. Stejne je to mozne udelat i v jave. Instalovat s konkretni verzi, vyzadovat kokretni verzi a nepouzivat simlinky :) P.N.
odstraneni DefaultDS - jboss
Ahoj, snazim se konfigurovat JBoss konfiguraci (ktera vychazi z prilozene default) a snazim se mimo jine vyhnout se zavislosti na hsqldb. Ta providuje datasource DefaultDS ktery se hojne pouziva. Jako data source pouzivame c3p0 +mysql. Problem je ze c3p0 se nastavuje jako mbean (http://www.mchange.com/projects/c3p0/index.html#jboss-specific) , zatimco standardni datasource (hsqldb-ds, mysql-ds, nebo oracle-ds) se konfiguruji jako datasources (napr http://www.weiqigao.com/articles/jboss/oracle-ds.xml) Bojuji ted s ejb-deployer ktery ma zavislost na depends optional-attributee=DataSourcejboss.jca:service=DataSourceBinding,name=DefualtDS/depends Za zadnou cenu mu nemohu vnutit svuj PooledDS (to je jndi name c3p0), zkousel jsem take dependsjboss:service=C3p0PooledDS/depends Jedine co mne jeste napada, pridat do c3p0-ds.xml jeste sekci datasources ale moc se mi to nelibi. Nasel jsem spousta dokumentace o c3p0, ale nejrelevantnejsi se mi zda http://www.jboss.org/community/wiki/ConfigJBossMQDB. Jejich postup mi ale take nefungoval. Neresil nekdo neco podobneho? Predem dik, Pavel
Re: Framework na spravu uzivatelov, zakaznikov atd ...
Povodne som sa chcel vybrat cestou vlastnych sql tabuliek, ale gui by som si musel napisat sam, co mi pride ako strata casu. Dalej ma napada ldap, ale o tom mam len zakladne povedomie, doposial som sa mu strasne rad vyhybal, neviem ake gui su k nemu dostupne a ako zlozito sa rozbehava server (linux). Jednoduchy ldap na linuxu je docela trivka. Např openSUSE na to má klikátko a server běží za pět minut. Front endů pro db je pár, webový např ldapadmin, nativní pak třeba jxeplorer. Jsou to ale frontendy přímo pro db. LDAP se pro autentizaci používá velice často a příkladů pro jakýkoliv jazyk je všude mraky. Krom toho většinaí cms umí ldap používat právě pro autentifikaci uživatelů.
Re: zamykani tabulek mysql+hibernate
S Hibernate a vlastne i s Mysql spise zacinam, takze jsem si chtel nejdrive provest nejake testy. jeste bych upresnil, ze mi jde o konkurencni pristup do Mysql db kdy jednotlivy konkurenti nepouzivaji stejny hibernate (tj defakto o pristup primo do mysql); Pouzil jsem dialekt mysql a i mysql innodb. A domnivam se ze by tedy melo byt mozne zamknout bud radek nebo dokonce celou tabulku. Nepovedlo se mi ani jedno. session.load(class, ID, LockMode.Upgrade) session.flush probehlo bez vyjimky. presto jsem byl pak schopen jit do mysql a rucne zmenit, smazat objekt, nebo dokonce zamknout celou tabulku session.createSQLQuerry(LOCK TABLE mytable WRITE); session.flush(); probehla taktez bez vyjimky, nicmene db zamkla nebyla bylo mozne provadet jakekoliv zmeny. Rucni spusteni prikazu LOCK ... v mysql tabulku zamklo a vsechny session pres hibernate se zastavily nez jsem opet tabulku odemkl. (To je chovani, ktereho chci dosahnout) Rikam si ze neco delam spatne, ale nemohu stale prijit co. Dne 16. červen 2009 16:25 Lukas Barton lu...@cnawr.cz napsal(a): Jak presne Hibernate *zamyka *na MySQL najdes v danem dialectu. Jsou tam na to metody. Pricemz pesimisticke zamky (coz je i LockMode.UPGRADE) umi Hibernate jen pokud ho umi databaze (Typicky pres select ... for update). A vetsinou to zamkne jen jeden radek/stranku (zalezi na granuralite na dane DB a dane situaci - eskalace zamku). Zamknout celou tabulku je nutne pomoci SQL prikazu. Optimisticke zamykani umi Hibernate na kazde DB a dela ho automaticky pri kazdem updatu, vynutit je ho mozne pomoci LockMode.FORCE. Vice viz http://docs.jboss.org/hibernate/stable/core/reference/en/html/transactions-optimistic.html Lukas 2009/6/16 Pavel Nemec neme...@gmail.com Dobry den, mam docela specificky problem. 2 aplikacni servery (jboss) na kterych bezi hybernate a mysql. Mysql je nastavna tak ze se replikuje na obou serverech a tvari se tedy jako jedna databaze. S databazi komunikuji vyhradne pres Hibernate. Jsem v situaci, kdy oba servery budou ve stejny cas pracovat nad jednou tabulkou. Hledal jsem moznost jakym zpusobem zamknout celou tabulku, s kterou potrebuji pracovat. Nicmene vse co jsem nasel, je session.get(Object, Lock.UPGRADE). S tim ze je u navodu vetsinou poznamka, ze to funguje urcite na Oraclu. Jestli tomu dobre rozumim, tak hibernate resi konkurencni pristup zejmena pri vicenasobnem pristupu prave pres hibernate (optimisticky pristup s verzovanim). Vypada to ze pristup pres primo pres mysql resit neumi (pesimisticky pristup a zamikani db). Muze mne nekdo prosim spravne nasmerovat? Predem dekuji, Pavel
Re: zamykani tabulek mysql+hibernate
Zmeny vraceny byt musi, flush jen posle prikazy do DB, commit se dela zvlast. Dokonce Hibernate muze posilat prikazy do DB v libovolnem poradi a nektere nemusi poslat vubec. Nejedete v autocommit modu? To by vysvetlovalo i ten problem s nezamykanim pri GETu. Myslim si ze ano, ale kdyz jsem prohlizel konfiguraci hibernate v J2EE aplikaci, tak jsem zadnou zminku o autocommitu nenasel. Nacpal jsem tedy pres hibernate.propperties autocommit false 14:56:52,266 INFO [Environment] loaded properties from resource hibernate.properties: {hibernate.connection.autocommit=false, hibernate.bytecode.use_reflection_optimizer=false} Nicmene chovani je temer stejne. Smazane objekty, na ktere pote zavolam flush se primo zapisi do db a rollback s nimi nic neudela. Nicmene objekty u kterych provedu zmenu hodnoty po te flush a po te rollback si zachovaji puvodni hodnotu. No, vyresim svuj problem pomoci zamikani tabulek a na tuto zahadu prijdu pozdeji.
Re: zamikani tabulek mysql+hibernate
Dne 19. červen 2009 16:25 Podlesak Kamil kamil.podle...@ips-ag.net napsal(a): Zdravim, Nejak jsem to v celem vlaknu nenasel, takze se explicitne zeptam: Jsou vsechny ty tabulky InnoDB? Pro jistotu to peclive overte, default je MyISAM! Jsemsi temer jist ze jsou default tj MyISAM. Posilam kod, ktery pouzivam na testovani konkurencniho pristupu Kamil Podlesak Session session = HibernateUtil.getSessionFactory().openSession(); Transaction tx = session.beginTransaction(); List list = session.createQuery(from ServerMessage).list(); ServerMessage sm = (ServerMessage) list.get(0); ServerMessage smLocked = (ServerMessage) session.get(ServerMessage.class,sm.getId(),LockMode.UPGRADE); session.flush(); // v tuto chvili zkontroluji db, a provedu zmenu na radce se stejnym id, uspesne session.save(smLocked); session.flush(); sm = (ServerMessage) list.get(1); smLocked = (ServerMessage) session.get(ServerMessage.class,sm.getId(),LockMode.UPGRADE); logger.info(smazan objekt: +smLocked.getFlag()); session.delete(smLocked); sm = (ServerMessage) list.get(2); smLocked = (ServerMessage) session.get(ServerMessage.class,sm.getId(),LockMode.UPGRADE); logger.info(smazan objekt: +smLocked.getFlag()); session.delete(smLocked); sm = (ServerMessage) list.get(3); smLocked = (ServerMessage) session.get(ServerMessage.class,sm.getId(),LockMode.UPGRADE); logger.info(smazan objekt: +smLocked.getFlag()); session.delete(smLocked); session.flush(); // v tuto chvili vsechny tri objekty jiz nejsou v db ! tx.rollback(); // rollback nevrati zmeny, v db jsou stale zmazany vsechny objekty if(session.isOpen())session.close();
Re: zamikani tabulek mysql+hibernate
On Jun 19, 2009, at 16:44, Lukas Barton lu...@cnawr.cz wrote: MyISAM tabulky nejsou transakcni, coz je zdroj vasich problemu. To je nakonec neresitelne. V projektu se pouziva nbd kvuli clusteru a innodb neni volba. Jinak to zamykani objektu bych resil pres session.lock (kdyz uz tu instanci mate). Nejsem si jisty, ze session.get udela to same na jiz jednou natazenou instanci. Rozhodne je to necitelny zpusob, jak v tomto pripade zamykat. Je to jen test funkcionality. Dik za cenne rady. Pavel
zamikani tabulek mysql+hibernate
Dobry den, mam docela specificky problem. 2 aplikacni servery (jboss) na kterych bezi hybernate a mysql. Mysql je nastavna tak ze se replikuje na obou serverech a tvari se tedy jako jedna databaze. S databazi komunikuji vyhradne pres Hibernate. Jsem v situaci, kdy oba servery budou ve stejny cas pracovat nad jednou tabulkou. Hledal jsem moznost jakym zpusobem zamknout celou tabulku, s kterou potrebuji pracovat. Nicmene vse co jsem nasel, je session.get(Object, Lock.UPGRADE). S tim ze je u navodu vetsinou poznamka, ze to funguje urcite na Oraclu. Jestli tomu dobre rozumim, tak hibernate resi konkurencni pristup zejmena pri vicenasobnem pristupu prave pres hibernate (optimisticky pristup s verzovanim). Vypada to ze pristup pres primo pres mysql resit neumi (pesimisticky pristup a zamikani db). Muze mne nekdo prosim spravne nasmerovat? Predem dekuji, Pavel
Re: prehravani mp3 streamy
S JavouFX mam nulove zkusenosti, ale prijde mi to zatim moc syrove. Nicmene i kdyz jsem pred tim prohledal konferenci, nakonec jsem narazil na jeden starsi prispevek s odkazem na wikipedii. http://en.wikipedia.org/wiki/Java_Media_Framework Kdyz to nepujde, zkusim i FX :D Dik, P
Re: Deploy mbean na jboss - nejjednodussi priklad
Dik za napad, opravdu to funguje, i kdyz jsem nakonec zvolil zpusob s deskriptorem. P. 2009/5/15 David Vana david.v...@ness.com: --- my.math.CalculatorManager.java: package my.math; import org.jboss.annotation.ejb.Management; @Management public interface CalculatorManager { public double sum(int x, int y); } --- my.math.CalculatorMBean.java: package my.math; import org.jboss.annotation.ejb.Service; @Service(objectName = jbia:service=calculatorManager) public class CalculatorMBean implements CalculatorManager { public double sum(int x, int y) { return x + y; } } --- Zabalit do JAR (zadny descriptor), nadeployovat a vyzkouset v konzoli: http://localhost:8080/jmx-console/ Zkouseno na JBoss AS 4.2.2.GA. __ The information contained in this communication is intended solely for the use of the individual or entity to whom it is addressed and others authorized to receive it. It may contain confidential or legally privileged information. If you are not the intended recipient you are hereby notified that any disclosure, copying, distribution or taking any action in reliance on the contents of this information is strictly prohibited and may be unlawful. If you have received this communication in error, please notify us immediately by forwarding this email to mailad...@ness.com and then delete it from your system. Ness Technologies is neither liable for the proper and complete transmission of the information contained in this communication nor for any delay in its receipt.
Deploy mbean na jboss
Dobry den, zacinam s JBossem a potrebuji trochu nakopnout. Vytvoril jsem si aplikaci (server) podle navodu http://www.onjava.com/pub/a/onjava/2005/02/23/remoting.html. Jedna se o klient - server komunikaci. Server je jedina trida - instance tridy mbean. Pokud ji inicializuji klasicky tak vse funguje pefektne. Ja bych ale serverovou cas umistil na jboss server. vytvoril jsem tedy uplne jednoduchy jar soubor do ktere jsem zabalil tridy a ten zkopiroval do $JBOSS/server/default/lib a vytvoril jsem *xml soubor ktery jsem umistil do default/deploy. jboss vypisuje 13:11:33,897 ERROR [URLDeploymentScanner] Incomplete Deployment listing: --- Packages waiting for a deployer --- org.jboss.deployment.deploymenti...@7d440ed8 { url=file:/opt/jboss-4.2.3.GA_jdk5/server/default/deploy/NotificationServer.xml } deployer: null status: null state: INIT_WAITING_DEPLOYER watch: file:/opt/jboss-4.2.3.GA_jdk5/server/default/deploy/NotificationServer.xml altDD: null lastDeployed: 1242299493889 lastModified: 1242299493000 mbeans: Obsah xml souboru je temer shodny s navodem na vise uvedene URL, pouze jsem to obalil server/server Prohlizel jsem ostatni xml soubory v adresari deploy a nemuzu prijit na to co delam spatne. Predem dekuji, Pavel
Re: Deploy mbean na jboss
Tak na tenhle kousek skladacky jsem take prisel. V tutorialu, ktery jsem zminoval vise zamenili socket za Socket. Ted to jiz pise uplne jinou hlasku. 15:05:40,469 ERROR [MainDeployer] Could not create deployment: file:/opt/jboss-4.2.3.GA_jdk5/server/default/deploy/NotificationServer/META-INF/jboss-service.xml org.jboss.deployment.DeploymentException: Trying to install an already registered mbean: jboss.remoting:service=Connector,transport=socket v conf/jboss-services.xml je samozrejme mbeana s timto jmenem nadefinovana a zrejme je potreba (bez ni se nenahodi spousta sluzeb) Nerozumim konceptu jmen mbean, myslel jsem ze udavaji java tridu, ktera se bude inicializovat. nicmene zrejme asi ne. Zde je popis: http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/4.3.0.cp04/html/Server_Configuration_Guide/Using_JMX_as_a_Microkernel-JBoss_MBean_Services.html ale moc jasne mi to neni :(
Re: java web start vs. Flex
Dne Wednesday 12 March 2008 12:06:14 Ondřej Fafejta napsal(a): Je pravda, že s pluginem javy je to v 64bitovém linuxu úplně stejný problém :-). Toto prestava nastesti byt pravda. V prvni rade existuje polofunkcni (ne 100% stabilni) verze od Black Down. V te 64b plugin je. IcedTea 64b plugin take podporuje. Bohuzel ne web start. Dalsi moznost je konqueror, ktery umi spouste applety pres apletviewer (takze funguje i na 64b). Pavel -- Pavel Nemec Software Engineer - SuSE CR, s.r.o. e-mail: [EMAIL PROTECTED] Lihovarska 1060/12 tel:+420 284 028 981 190 00 Praha 9 fax:+420 296 542 374 Ceska republika http://www.suse.cz - signature.asc Description: This is a digitally signed message part.
ztrafa focus linux
Mam docela zapeklitý problém, mám testovací aplikaci Frame, který na stisk klávesové zkratky otevře modální Dialog. Celé to překriji Window. Dialog se po stisknutí klávesy zavře ( a vrátí focus Frame) Na Win a Mac se to chová dobře. Tedy pokud držím klávesu tak na mě vyskakuje Dialogové okno a zase se schovává. Na Linuxu se ale po jedné či dvou iteracích focus prostě ztratí. Nalezl jsem několik zmínek o problémech linux+focus. Zvláštní také je že na některých verzích linuxu (stejná verze javy) to funguje. Nemáte s podobným problémem někdo více zkušeností. Předem díky, Pavel Test case import java.awt.*; import java.awt.event.*; class NLModal extends Dialog{ NLModal (Frame f) { super (f, modal, true); this.setBackground(Color.blue); this.setAlwaysOnTop(true); addWindowListener (new WindowAdapter (){ public void windowClosing (WindowEvent e){ dispose (); }}); addKeyListener (new KeyAdapter (){ public void keyPressed (KeyEvent e){ System.out.println (modal: + e.paramString ()); dispose (); }}); } } public class NLTest { public static void main (String[] args){ Frame f = new Frame (NLTest); f.setBackground(Color.yellow); f.addWindowListener (new WindowAdapter (){ public void windowClosing (WindowEvent e){ System.exit (0); }}); f.addKeyListener (new KeyAdapter (){ public void keyPressed (KeyEvent e){ System.out.println (frame: + e.paramString ());; Dialog d = new NLModal ((Frame) e.getComponent ()); d.setBounds (50, 100, 600, 100); d.show (); }}); Dimension d = f.getToolkit ().getScreenSize (); f.setBounds (0, 0, 300, 25); f.show (); Window w = new Window (f); w.setBackground(Color.gray); w.setBounds (0, 50, 300, 200); // working //w.setBounds (0, 0, d.width, d.height-1); // working //w.setBounds (0, 0, d.width-1, d.height); // working //w.setBounds (0, 0, d.width, d.height); // focus loss w.show (); } } -- Pavel Nemec Software Engineer - SuSE CR, s.r.o. e-mail: [EMAIL PROTECTED] Lihovarska 1060/12 tel:+420 284 028 981 190 00 Praha 9 fax:+420 296 542 374 Ceska republika http://www.suse.cz signature.asc Description: This is a digitally signed message part.
Re: ztrafa focus linux
KDE, FVWM, MWM, GNOME, vice jsem jich zatim otestovat nestihl (s touto podivnosti) P. On Thursday 07 June 2007 12:07:39 Lukas Zapletal wrote: Jaky pouzivate Window Manager? LZ 7.6.07, Pavel Nemec [EMAIL PROTECTED]: Mam docela zapeklitý problém, mám testovací aplikaci Frame, který na stisk klávesové zkratky otevře modální Dialog. Celé to překriji Window. Dialog se po stisknutí klávesy zavře ( a vrátí focus Frame) Na Win a Mac se to chová dobře. Tedy pokud držím klávesu tak na mě vyskakuje Dialogové okno a zase se schovává. Na Linuxu se ale po jedné či dvou iteracích focus prostě ztratí. Nalezl jsem několik zmínek o problémech linux+focus. Zvláštní také je že na některých verzích linuxu (stejná verze javy) to funguje. Nemáte s podobným problémem někdo více zkušeností. Předem díky, Pavel Test case import java.awt.*; import java.awt.event.*; class NLModal extends Dialog{ NLModal (Frame f) { super (f, modal, true); this.setBackground(Color.blue); this.setAlwaysOnTop(true); addWindowListener (new WindowAdapter (){ public void windowClosing (WindowEvent e){ dispose (); }}); addKeyListener (new KeyAdapter (){ public void keyPressed (KeyEvent e){ System.out.println (modal: + e.paramString ()); dispose (); }}); } } public class NLTest { public static void main (String[] args){ Frame f = new Frame (NLTest); f.setBackground(Color.yellow); f.addWindowListener (new WindowAdapter (){ public void windowClosing (WindowEvent e){ System.exit (0); }}); f.addKeyListener (new KeyAdapter (){ public void keyPressed (KeyEvent e){ System.out.println (frame: + e.paramString ());; Dialog d = new NLModal ((Frame) e.getComponent ()); d.setBounds (50, 100, 600, 100); d.show (); }}); Dimension d = f.getToolkit ().getScreenSize (); f.setBounds (0, 0, 300, 25); f.show (); Window w = new Window (f); w.setBackground(Color.gray); w.setBounds (0, 50, 300, 200); // working //w.setBounds (0, 0, d.width, d.height-1); // working //w.setBounds (0, 0, d.width-1, d.height); // working //w.setBounds (0, 0, d.width, d.height); // focus loss w.show (); } } -- Pavel Nemec Software Engineer - SuSE CR, s.r.o. e-mail: [EMAIL PROTECTED] Lihovarska 1060/12 tel:+420 284 028 981 190 00 Praha 9 fax:+420 296 542 374 Ceska republika http://www.suse.cz -- Pavel Nemec Software Engineer - SuSE CR, s.r.o. e-mail: [EMAIL PROTECTED] Lihovarska 1060/12 tel:+420 284 028 981 190 00 Praha 9 fax:+420 296 542 374 Ceska republika http://www.suse.cz signature.asc Description: This is a digitally signed message part.
Re: ztrafa focus linux
Tak se zdá že opravdu nejsem první ani poslední kdo to kdy potkal :( http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4921738 On Thursday 07 June 2007 12:44:36 Pavel Nemec wrote: KDE, FVWM, MWM, GNOME, vice jsem jich zatim otestovat nestihl (s touto podivnosti) P. On Thursday 07 June 2007 12:07:39 Lukas Zapletal wrote: Jaky pouzivate Window Manager? LZ 7.6.07, Pavel Nemec [EMAIL PROTECTED]: Mam docela zapeklitý problém, mám testovací aplikaci Frame, který na stisk klávesové zkratky otevře modální Dialog. Celé to překriji Window. Dialog se po stisknutí klávesy zavře ( a vrátí focus Frame) Na Win a Mac se to chová dobře. Tedy pokud držím klávesu tak na mě vyskakuje Dialogové okno a zase se schovává. Na Linuxu se ale po jedné či dvou iteracích focus prostě ztratí. Nalezl jsem několik zmínek o problémech linux+focus. Zvláštní také je že na některých verzích linuxu (stejná verze javy) to funguje. Nemáte s podobným problémem někdo více zkušeností. Předem díky, Pavel Test case import java.awt.*; import java.awt.event.*; class NLModal extends Dialog{ NLModal (Frame f) { super (f, modal, true); this.setBackground(Color.blue); this.setAlwaysOnTop(true); addWindowListener (new WindowAdapter (){ public void windowClosing (WindowEvent e){ dispose (); }}); addKeyListener (new KeyAdapter (){ public void keyPressed (KeyEvent e){ System.out.println (modal: + e.paramString ()); dispose (); }}); } } public class NLTest { public static void main (String[] args){ Frame f = new Frame (NLTest); f.setBackground(Color.yellow); f.addWindowListener (new WindowAdapter (){ public void windowClosing (WindowEvent e){ System.exit (0); }}); f.addKeyListener (new KeyAdapter (){ public void keyPressed (KeyEvent e){ System.out.println (frame: + e.paramString ());; Dialog d = new NLModal ((Frame) e.getComponent ()); d.setBounds (50, 100, 600, 100); d.show (); }}); Dimension d = f.getToolkit ().getScreenSize (); f.setBounds (0, 0, 300, 25); f.show (); Window w = new Window (f); w.setBackground(Color.gray); w.setBounds (0, 50, 300, 200); // working //w.setBounds (0, 0, d.width, d.height-1); // working //w.setBounds (0, 0, d.width-1, d.height); // working //w.setBounds (0, 0, d.width, d.height); // focus loss w.show (); } } -- Pavel Nemec Software Engineer - SuSE CR, s.r.o. e-mail: [EMAIL PROTECTED] Lihovarska 1060/12 tel:+420 284 028 981 190 00 Praha 9 fax:+420 296 542 374 Ceska republika http://www.suse.cz -- Pavel Nemec Software Engineer - SuSE CR, s.r.o. e-mail: [EMAIL PROTECTED] Lihovarska 1060/12 tel:+420 284 028 981 190 00 Praha 9 fax:+420 296 542 374 Ceska republika http://www.suse.cz signature.asc Description: This is a digitally signed message part.
databáze
Dobrý den, pro jeden svůj projekt bych potřeboval použít nějakou velice malou databáze. Databáze bude součástí programu a není podstatné aby byla rychlá, ale spíše aby byla malá (jak do velikosti v paměti, tak potřebná velikost na disku). Našel jsem několik kandidátů (všechny pod GPL licencí) a všechny v jave. HSQL DB4o Pokud mátě někdo zkušenosti s databázemi, prosím podělte se. (mám na mysli zkušenosti s malými embeded databázemi ;) ) Pavel
Re: databáze
Dne Wednesday 07 February 2007 10:08 Ing. Jan Novotný napsal(a): Zdravím, já jsem několikrát používal Apache Derby http://db.apache.org/derby/ - tedy nyní Java DB http://developers.sun.com/prodtech/javadb/. Nevím kolik zabírá v To vypadá velice dobře, už stahuji demo. Všem děkuji za odpověď Pavel pgp0OCfSqS9av.pgp Description: PGP signature
Re: databáze
Dobry den. Nedavno jsem take hledal neco podobneho a jediny nastroj, ktery by se mne libil a vyhovoval, byla databaze Stels Engine ( http://www.csv-jdbc.com/stels_engine.htm ). Neni potreba spoustet serverovou cast, umi agregacni funkce, prevody datovych typu, nekolik matematickych funkci, proste to nejzakladnejsi... Vypada to zajimave, ale pokud je k dispozici GPL reseni, ktere je navic zadarmo. Proc platit. pgp4fhKTDGGnk.pgp Description: PGP signature