Re: Synchronizace persistentnich objektu

2006-10-05 Thread Roman Pichlik
Urcite optimistic lock s verzovanim zaznamu, celkem sikovne to podporuje 
Hibernate jak jiz tady padlo. Pokud budete mit graf objektu, tak se 
vyplati Coarse-Grained Lock viz 
http://www.martinfowler.com/eaaCatalog/coarseGrainedLock.html, ale to uz 
za si budete muset naimplementovat sam...


Honza napsal(a):

Zdravim,

muj dotaz se primo netyka Javy, ale spise navrhu aplikaci. Doufam ze 
neni prilis off-topic.


Jak se ve viceuzivatelskem prostredi resi sychronizace a zamykani 
persistetnich dat?


At uz pisu dvou nebo tri vrstvou aplikaci, vzdycky se nakonec potkam s 
problemem, kdy si jeden uzivatel vyzada nejaky objekt (ktery v DB 
reprezentovan nekolika zaznamy v ruznych tabulkach) a tento objekt 
upravuje nebo prohlizi.


V pripade, ze s timto objektem bude chtit pracovat i jiny uzivatel, tak 
mu musim zmeny na takovemto objektu zakazat (zamek uz vlastni jiny 
uzivatel).


Jedna se o klasickou situaci read/write zamku branici vzniku 
inkonzistentnich dat. Read zamek muze mit kdokoli. Write zamek muze mit 
jen jeden.


Napadlo me nekolik zpusobu reseni, ale zadny jsem si zatim nedokazal 
obhajit jako zivota schopny (na mapovani objektu DB-Java pouzivam 
vlastni knihovnu). Resi nektere opensource frameworky tuto problematiku? 
Resite ji vy ve svych aplikacich? Jak?


Predem velice dekuji za jakekoly ohlasy.

Honza



--
S pozdravem Roman "Dagi" Pichlik

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


__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__


Re: Spring + Hibernate: failed to lazily initialize a collection of role

2006-10-05 Thread Benda Lukas
Vysvetleni je strasne jednoduche. Pokud maji byt objekty nacitany pomoci 
lazy, musi mit odkaz na otevreny session. To znamena, ze po celou dobu 
zivota rodicovskeho objektu, musi byt session otevrena, co kdyby se 
nejaky lazy parametr mel zrovna nacist.


To je znacne nehospodarne ne? Takze spring automaticky po ukonceni behu 
vlakna session uzavre. No ale pak zjevne nemuze fungovat lazy. Jak z toho?


Prvni moznost je session zachytit a neumoznit jeji uvoneni. To znamena 
ze nechate vlakno ktere vlastni session zit. Brzi se ale dostanete do 
problemu.


Takze druha moznost je vyuzit vlastni metodiku lazy nacitani. Logicky by 
se do kazde metody ktera vrati line nacitane objekty dalo pridat nacteni 
z nejakeho dao readeru, jenze pak je tu potrebne odchytit ukladani 
objektu rodicovskeho, aby se i lazy drzene objekty ukladali taky. Ale v 
male aplikaci je to suverejne nejlepsi reseni. V podstate se tak 
oprostite i od hibernate, vyhnete se spouste problemu a celou ORM si 
udelate sam na miru. Cas ktery spotrebujete na vytvareni takovehoto ORM 
modelu, je pri malych aplikacich (s malym mnozstvim tabulek) vyrazne 
nizsi nez kolik poterbujete na zkroceni hibernate.


No ale ve vetsim projektu, se hibernate uz vyplati. Takze pak se logicky 
nabizi moznost AOP. Spring ma specialni AOP object pro komunikaci s 
hibernate. V definici pak vubec lazy nepouzivate a nacitani nechavate na 
springu, ktery vse zaridi pres AOP:


 
   
 
   
 

 
   
 

 class="org.springframework.aop.framework.ProxyFactoryBean">

   
   
 cz.apnetis.jhasevid.db.KrajInterface
   
   
 
   jHasEvidHibernateInterceptor
 
   
 

Kde association je jakykoli parametr ktery ma byt jednoduse predan.

Lukas "benzin" Benda ([EMAIL PROTECTED];  http://benzin.bloguje.cz)
Java a Delphi programator
PHP a JavaScript skrypter
Tvurce databazovych aplikaci
A "cestinarsky" ignorant

Dobry den,
mam prosbu o pomoc:

Ve svem projektu pouzivam spring (1.2.6) a hibernate (3.1RC1) a 
nefunguje mi lazy inicializace mapovanych objektu : tomcat pise chybu:
failed to lazily initialize a collection of role: 
beans.Project.phases, no session or session was closed


konfigurace v msfchecklist-servlet.xml:


class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">


name="configLocation">classpath:hibernate.cfg.xml
name="configurationClass">org.hibernate.cfg.AnnotationConfiguration



${hibernate.dialect}
update
true



   

class="org.springframework.orm.hibernate3.HibernateTransactionManager">
/>



   

















class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
local="transactionManager" />
/>


class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource" 
/>



   
Ve web.xml pouzivam:


hibernateFilter


org.springframework.orm.hibernate3.support.OpenSessionInViewFilter



singleSession
true


   


hibernateFilter
*.htm


OpenSessionInViewFilter by mel (podle me) zajistit, ze se bude 
pouzivat jedina Session a jedina SessionFactory a cely pozadavek se 
bude zpracovavat v jedine transakci.
Bohuzel se z nejakeho duvodu stane, ze hibernate mi session zavre, 
takze kdyz pak zpracovavam nactene objekty v kontroleru, lazy 
inicializace uz tam nefunguje.


Facada vypada takto:
@Transactional
public interface DataStorageFacade {

// -- Query methods
// -

/**
 * Return all projects in the database.
 *
 * @return all projects in the database.
 */
@Transactional(readOnly = true, propagation=Propagation.REQUIRED)
public List getAllProjects();

   
/**

 * Return all phases in the database.
 *
 * @return all phases in the database.
 */
@Transactional(readOnly = true, propagation=Propagation.REQUIRED)
public List getAllPhases();

@Transactional(readOnly = true, propagation=Propagation.REQUIRED)
public List getAllProjectTypes();
   
   atd.

}

Snazil jsem se vysledovat, kde presne se ta session zavre a dosel jsem 
tady:


org.springframework.orm.hibernate3.SessionFactoryUtils :

private static void closeSessionOrRegisterDeferredClose(Session 
session, SessionFactory sessionFactory) {

Map holderMap = (Map) deferredCloseHolder.get();
if (holderMap != null && sessionFactory != null && 
holderMap.containsKey(sessionFactory)) {
logger.debug("Registering Hibernate Session for deferred 
close");

Set sessions = (Set) holderMap.get(sessionFactory);
sessions.add (session);
if (!session.

RMI server - nabizene objekty

2006-10-05 Thread Benda Lukas

Jak poznam ktere objekty mi RMI registr nabyzi na danem portu?

Jde mi o to, ze jsem vytvoril client a server. Server jsem spustil a 
client se k nemu neumi prihlasit. Ted nevim jestli je chyba na strane 
client, nebo na strane server. Jak poznam ze objekt serveru je v 
registru a je skutecne nabizen clientum?


Da se nekde zjistit seznam nabizenych objektu danym registrem?

Lukas "benzin" Benda ([EMAIL PROTECTED];  http://benzin.bloguje.cz)
Java a Delphi programator
PHP a JavaScript skrypter
Tvurce databazovych aplikaci
A "cestinarsky" ignorant


Re: RMI server - nabizene objekty

2006-10-05 Thread Mirek Stohr

Nepomohlo by java.rmi.registry.Registry.list() ?

 Mirek


Benda Lukas napsal(a):

Jak poznam ktere objekty mi RMI registr nabyzi na danem portu?

Jde mi o to, ze jsem vytvoril client a server. Server jsem spustil a 
client se k nemu neumi prihlasit. Ted nevim jestli je chyba na strane 
client, nebo na strane server. Jak poznam ze objekt serveru je v 
registru a je skutecne nabizen clientum?


Da se nekde zjistit seznam nabizenych objektu danym registrem?

Lukas "benzin" Benda ([EMAIL PROTECTED];  http://benzin.bloguje.cz)
Java a Delphi programator
PHP a JavaScript skrypter
Tvurce databazovych aplikaci
A "cestinarsky" ignorant



Re:Konference Digest, Vol 23, Issue 5

2006-10-05 Thread Ge
Zdravím,
je pěkné používat zámky read/write, ale myslim že to není zaručená cesta k 
úspěchu.
Ja radím použít některý framework, například Hibernate. Ten řeší operace nad 
databází transakčně. Znamená to uživatel požaduje data, Hibernate mu je vrátí, 
uživatel změní jejich stav, a Hibernate (na požádání nebo automaticky) uloží 
změny do databáze (v transakci). Tím se vyhneš souběhu a dalším nepříjemnostem. 
Je dobre použít k Hibernate Spring, ten ti práci s trasakcema ještě více 
zjednodušší. V podstatě se o ně nebudeš muset starat.
Hibernate jsem použil na několik projektů a práce je opravdu jednoduchá. Stačí 
trochu proniknout do ORM.

doufam že odpovídám na tvůj dotaz

Ondra.


Re: RMI server - nabizene objekty

2006-10-05 Thread Ladislav Božek

Registry registry = LocateRegistry.getRegistry(host, port);
String[] list = registry.list();

Samozrejme plus nejake to zachytenie vynimiek a pod., ale to uz budete 
vediet ;)



Benda Lukas said the following on 5.10.2006 13:56:

Jak poznam ktere objekty mi RMI registr nabyzi na danem portu?

Jde mi o to, ze jsem vytvoril client a server. Server jsem spustil a 
client se k nemu neumi prihlasit. Ted nevim jestli je chyba na strane 
client, nebo na strane server. Jak poznam ze objekt serveru je v 
registru a je skutecne nabizen clientum?


Da se nekde zjistit seznam nabizenych objektu danym registrem?

Lukas "benzin" Benda ([EMAIL PROTECTED];  http://benzin.bloguje.cz)
Java a Delphi programator
PHP a JavaScript skrypter
Tvurce databazovych aplikaci
A "cestinarsky" ignorant






Re: Spring + Hibernate: failed to lazily initialize a collection of role

2006-10-05 Thread Lukas Barton

Benda Lukas wrote:
Vysvetleni je strasne jednoduche. Pokud maji byt objekty nacitany 
pomoci lazy, musi mit odkaz na otevreny session. To znamena, ze po 
celou dobu zivota rodicovskeho objektu, musi byt session otevrena, co 
kdyby se nejaky lazy parametr mel zrovna nacist.


To je znacne nehospodarne ne? Takze spring automaticky po ukonceni 
behu vlakna session uzavre. No ale pak zjevne nemuze fungovat lazy. 
Jak z toho?


Prvni moznost je session zachytit a neumoznit jeji uvoneni. To znamena 
ze nechate vlakno ktere vlastni session zit. Brzi se ale dostanete do 
problemu.


Takze druha moznost je vyuzit vlastni metodiku lazy nacitani. Logicky 
by se do kazde metody ktera vrati line nacitane objekty dalo pridat 
nacteni z nejakeho dao readeru, jenze pak je tu potrebne odchytit 
ukladani objektu rodicovskeho, aby se i lazy drzene objekty ukladali 
taky. Ale v male aplikaci je to suverejne nejlepsi reseni. V podstate 
se tak oprostite i od hibernate, vyhnete se spouste problemu a celou 
ORM si udelate sam na miru. Cas ktery spotrebujete na vytvareni 
takovehoto ORM modelu, je pri malych aplikacich (s malym mnozstvim 
tabulek) vyrazne nizsi nez kolik poterbujete na zkroceni hibernate.


No ale ve vetsim projektu, se hibernate uz vyplati. Takze pak se 
logicky nabizi moznost AOP. Spring ma specialni AOP object pro 
komunikaci s hibernate. V definici pak vubec lazy nepouzivate a 
nacitani nechavate na springu, ktery vse zaridi pres AOP:


 
   
 
   
 

 
   
 

 class="org.springframework.aop.framework.ProxyFactoryBean">

   
   
 cz.apnetis.jhasevid.db.KrajInterface
   
   
 
   jHasEvidHibernateInterceptor
 
   
 

Kde association je jakykoli parametr ktery ma byt jednoduse predan.


Pokud se nepletu, tak toto reseni moc nepomuze.
Problem je, ze Spring AOP neumi obalovat instance objektu, ktere 
vytvarite pomoci new Constructor(), coz Hibernate dela.
Smysl to ma pouzit jedine, pokud tim obalite DAO tridu, jejiz instanci 
ziskate od Spring ApplicationContextu a dale jak uz jsem psal v 
predchozim mailu k tomuto tematu.


Jinak s tim ukladanim objektu nactenych "lazy" v jine session muzou byt 
docela problemy, protoze je mate ve dvou ruznych session, tak jsou 
oddelene i JDBC transakce pod tim, takze je nutne volat vice commitu apod.





Re: Konference Digest, Vol 23, Issue 5

2006-10-05 Thread Lukas Barton

Ge wrote:
Zdravím, 
je pěkné používat zámky read/write, ale myslim že to není zaručená cesta k úspěchu.

Ja radím použít některý framework, například Hibernate. Ten řeší operace nad 
databází transakčně. Znamená to uživatel požaduje data, Hibernate mu je vrátí, 
uživatel změní jejich stav, a Hibernate (na požádání nebo automaticky) uloží 
změny do databáze (v transakci). Tím se vyhneš souběhu a dalším nepříjemnostem. 
Je dobre použít k Hibernate Spring, ten ti práci s trasakcema ještě více 
zjednodušší. V podstatě se o ně nebudeš muset starat.
Hibernate jsem použil na několik projektů a práce je opravdu jednoduchá. Stačí 
trochu proniknout do ORM.
  
Problem je v tom, pokud chcete uzivateli data zobrazit na formular k 
editaci.

To uz potom nemuze bezet v transakci.
Tam je nejlepsi spravne reseni verzovani zaznamu, pripadne jak psal Dagi 
coarse grained locking (verzovani).


Dalsi problem je pokud chcete menit v jedne transakci hodne dat, potom 
pri pesimistickem zamykani dostanete dost nizkou propustnost - viz 
teorie databazi a ruzne izolacni urovne transakci.
Ale tam uz zalezi na vice faktorech - jak objekty (tabulky) menite 
(zavislosti na prectenych hodnotach), zda umi vase databaze MVCC (to by 
vubec bylo na dlouho), apod.


Na ORM se porad divam jako na nastroj, ktery mi umoznuje rozumne 
pohodlne obalit JDBC.
ORM proste nektere problemy nevyresi - vyresit nemuze, protoze ma pod 
sebou jen relacni databazi.
Je napr. nesmysl to pouzivat pro batch processing (proste to nemuze 
fungovat dost rychle) apod.


  Lukas

doufam že odpovídám na tvůj dotaz

Ondra.
  




Re: Synchronizace persistentnich objektu

2006-10-05 Thread Honza

Dekuji za odpoved.

Optimisticke zamikani vypada docela slibne. Nicmene vezmneme nasledujici 
priklad. Objekty v mem systemu se radi do samostatnych stromu. Techto 
stromu bude docela malo v pomeru s tim jak jsou velike. Zamykat jenom 
podstromy by bylo dost slozite, takze budu muset zamykat koren. 
Pouziji-li optimisticky lock znamena to ze si dva uzivatele budou moci 
soucasne otevrit ten samy strom a pracovat v nem 
(pridavat/prohlizet/menit/mazat listy), ale zmeny se podari ulozit jenom 
tomu kdo jako prvni klikne save a commitne svoji transakci. Druhemu 
uzivateli by pak bylo sdeleno ze jeho zmeny nelze ulozit.


Z tohoto duvodu me prijde schudny jedine pesimisticky pristup. Nicmene 
stale premyslim jak to implementovat a jedine co me napada pridat do DB 
sloupecek ktery bude zamek identifikovat a tim se ridit. Dalsi problem 
vidim v trvanlivosti takovychto zamku a taky jak zajistim ze v jine 
session nedojde k nejake chybe a zamek se neuvolni. Je periodicke 
obnovovani zamku spravne reseni?


Dik moc.

Honza


Jiří Melichna napsal(a):

Zdravim,

pochopitelne pesimisticke zamykani zaznamu je jednou z moznosti, dalsi 
moznosti resici zmineny problem konkurence je verzovani zaznamu 
(optimisticke rizeni konkurence, kdy se predpoklada, ze nejsou v DB 
horka mista). Pro pesimisticke zamykani zaznamu musi byt podpora jak na 
strane DB (napr. FOR UPDATE v Oracle) tak na strane frameworku. Pro 
reseni verzovani postacuje podpora na urovni frameworku a domnivam se, 
ze DB nemusi ani podporovat transakce.
Napr. hibernate zcela jiste umi lock, ktery se pro jiz zmineny Oracle 
prepise dotaz na SELECT ... FOR UPDATE. U nekterych EJB kontejneru 
(napr. BEA nebo OC4J) je mozno tento princip vynutit nastavenim a 
prekryt tak defaultni chovani s opakovanym nacitanim zaznamu, ktere ma 
podle me v teto oblasti urcite mezery.
Doufam, ze jsem nastinil alespon neco, doporucuji kouknout na Hibernate 
dokumentaci a pripadne zdrojove kody. Na nekolika projektech jsem 
Hibernate celkem ke sve spokojenosti pouzil, ale jen jednou jsem se 
setkal s verzovanim. Vetsinou jsem prave pouzival lock vzhledem k tomu, 
ze vetsinou jsem pracoval s Oracle nebo jinou DB s podporou tohoto 
mechanismu. Mel jsem ovsem nekdy vykonove problemy a musel jsem vytvorit 
pokud mozno strategii, kdy se zamykal vzdy jen nejaky vstupni radek a ne 
radky ve vsech tabulkach, ktere dohromady daji konkretni instanci...


JM 

 Původní zpráva 
Od: Honza <[EMAIL PROTECTED]>
Předmět: Synchronizace persistentnich objektu
Datum: 04.10.2006 21:50:28

Zdravim,

muj dotaz se primo netyka Javy, ale spise navrhu aplikaci. Doufam ze 
neni prilis off-topic.


Jak se ve viceuzivatelskem prostredi resi sychronizace a zamykani 
persistetnich dat?


At uz pisu dvou nebo tri vrstvou aplikaci, vzdycky se nakonec potkam s 
problemem, kdy si jeden uzivatel vyzada nejaky objekt (ktery v DB 
reprezentovan nekolika zaznamy v ruznych tabulkach) a tento objekt 
upravuje nebo prohlizi.


V pripade, ze s timto objektem bude chtit pracovat i jiny uzivatel, 
tak mu musim zmeny na takovemto objektu zakazat (zamek uz vlastni jiny 
uzivatel).


Jedna se o klasickou situaci read/write zamku branici vzniku 
inkonzistentnich dat. Read zamek muze mit kdokoli. Write zamek muze 
mit jen jeden.


Napadlo me nekolik zpusobu reseni, ale zadny jsem si zatim nedokazal 
obhajit jako zivota schopny (na mapovani objektu DB-Java pouzivam 
vlastni knihovnu). Resi nektere opensource frameworky tuto 
problematiku? Resite ji vy ve svych aplikacich? Jak?


Predem velice dekuji za jakekoly ohlasy.

Honza






__ Informace od NOD32 1.1791 (20061005) __

Tato zprava byla proverena antivirovym systemem NOD32.
http://www.nod32.cz





Re: Konference Digest, Vol 23, Issue 5

2006-10-05 Thread Honza
Dekuji za odpoved, jedna ale se o dvouvrsvou aplikaci s tlustym klientem 
takze Hibernate pouzit nemuzu...


A obavam se ze samotna DB transakce Vas pred konkurentnim pristupem 
neochrani ani trochu. Ta totiz zarucuje jenom konzistenci dat 
zpracovanych v ramci te transakce...


Honza

Ge napsal(a):
Zdravím, 
je pěkné používat zámky read/write, ale myslim že to není zaručená cesta k úspěchu.

Ja radím použít některý framework, například Hibernate. Ten řeší operace nad 
databází transakčně. Znamená to uživatel požaduje data, Hibernate mu je vrátí, 
uživatel změní jejich stav, a Hibernate (na požádání nebo automaticky) uloží 
změny do databáze (v transakci). Tím se vyhneš souběhu a dalším nepříjemnostem. 
Je dobre použít k Hibernate Spring, ten ti práci s trasakcema ještě více 
zjednodušší. V podstatě se o ně nebudeš muset starat.
Hibernate jsem použil na několik projektů a práce je opravdu jednoduchá. Stačí 
trochu proniknout do ORM.

doufam že odpovídám na tvůj dotaz

Ondra.

__ Informace od NOD32 1.1791 (20061005) __

Tato zprava byla proverena antivirovym systemem NOD32.
http://www.nod32.cz





RMI security manager, DB

2006-10-05 Thread Benda Lukas
Tak pri svych pokusech o rozchozeni RMI sem se dostal az do bodu, kdy 
propreneseni hlavniho objektu, potrebuji nastavit SecurityManager


Tohle mi to pise kdyz ho nemam nastaveny (na strane klienta):
 java.lang.ClassNotFoundException: cz.apnetis.jhasevid.db.DBSupport (no 
security manager: RMI class loader disabled)]


Takze jsem nastavil standardni RMISecurityManager:
System.setSecurityManager(new RMISecurityManager());

Bohuzel ted se mi nerozbehne server protoze konci s chybou:
NoClassDefFoundError: could not initialize class 
org.firebirdsql.pool.FBConnectionPoolDataSource



Cely vypis chyby je radikalne delsi, ale zbytek uz je jenom: Objekt se 
neporadilo vytvorit, protoze nebyl vytvoren objekt, ktery nebyl vytvoren 
protoze , az nakonec je vise zminena hlaska.



Pritom, kdyz security manager nastaveny neni, tak mi to tu chybu nehlasi 
(nehlasi ji to, ani kdyz je to skompilovane jako stand alone, verze v 
jednom baliku).


Nejak presne nechapu podstatu security manageru, a proc mi to nepovoli 
vytvorit connection pool.


Umite mi nekdo pomoct?

Lukas "benzin" Benda ([EMAIL PROTECTED];  http://benzin.bloguje.cz)
Java a Delphi programator
PHP a JavaScript skrypter
Tvurce databazovych aplikaci
A "cestinarsky" ignorant


Re: Synchronizace persistentnich objektu

2006-10-05 Thread Lukas Barton

Honza wrote:

Dekuji za odpoved.

Optimisticke zamikani vypada docela slibne. Nicmene vezmneme 
nasledujici priklad. Objekty v mem systemu se radi do samostatnych 
stromu. Techto stromu bude docela malo v pomeru s tim jak jsou velike. 
Zamykat jenom podstromy by bylo dost slozite, takze budu muset zamykat 
koren. Pouziji-li optimisticky lock znamena to ze si dva uzivatele 
budou moci soucasne otevrit ten samy strom a pracovat v nem 
(pridavat/prohlizet/menit/mazat listy), ale zmeny se podari ulozit 
jenom tomu kdo jako prvni klikne save a commitne svoji transakci. 
Druhemu uzivateli by pak bylo sdeleno ze jeho zmeny nelze ulozit.


Z tohoto duvodu me prijde schudny jedine pesimisticky pristup. Nicmene 
stale premyslim jak to implementovat a jedine co me napada pridat do 
DB sloupecek ktery bude zamek identifikovat a tim se ridit. Dalsi 
problem vidim v trvanlivosti takovychto zamku a taky jak zajistim ze v 
jine session nedojde k nejake chybe a zamek se neuvolni. Je periodicke 
obnovovani zamku spravne reseni? 
Je to jedno z moznych reseni, ale jakekoliv pesimisticke zamky prinasi 
problemy - viz ten timeout zamku.


Zajimave je to popsano v clanku 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/concurev4M.asp 


Tam se doctete, co dal by mohlo pomoci:
- uzivatel vlastni svoje data (toto pouzivame ve 2,5 vrstve aplikaci 
taky, spolu s verzovanim)
- pouzivate navrhovy vzor "business actions" neboli "postings" (v 
podstate chytrejsi verzovani dat)
- omezte dobu po jakou muze uzivatel editovat sva data, bez ziskani 
nove verze
- zvetste granularitu moznosti editace (napr. povolte pouze jednu zmenu 
struktury ve stromu a po ni synchronizujte verze se serverem)


Verzovanim si v podstate vyrabite situaci kdy:
- zapis neblokuje cteni
- cteni neblokuje zapis
Tj. MVCC, ktere v posledni dobe na urovni databaze zavedli/zavedou dalsi 
3 produkty (MS SQL od verze 2005, DB2 na PC (verzi zpameti nevim a 
Informix (pristi verze). Tuto funkcionalitu uz delsi dobu ma Oracle (od 
verze 6 nebo 7), od uplneho zacatku Interbase (Firebird), PostreSQL a 
MySQL InnoDB.



 Lukas



Udalosti klavesnice

2006-10-05 Thread Moody

Dobrý deň,

písla som zdrojový kód, ktorý má vypísať kód klávesy,ktorú stlačím.
Preklad  skončil dobre,ale keď som Java applet spustil nefungovalo to
tak ako som chcel. Ten kód je:

import java.lang.*;
import java.applet.*;
import java.awt.Graphics;
import java.awt.Event;
import java.awt.Image;
import java.awt.*;
public class udalosti extends java.applet.Applet
implements java.awt.event.KeyListener
{
//definujeme premenne
int i = 0;

public void paint (Graphics auto)
{
String s = null;
auto.drawString(String.valueOf(i),10,10);
}

public void keyPressed(java.awt.event.KeyEvent e)
{
i = e.getKeyCode();
repaint();
}

public void keyReleased(java.awt.event.KeyEvent uvolni)
{
i = 0;
repaint();
}

public void keyTyped(java.awt.event.KeyEvent ke)
{
i = ke.getKeyCode();
repaint();
}
}

Som začiatočník v programovaní v Jave. Takže možno som urobil v kóde
veľké chyby.

Ďakujem Za odpovede!

Rasto


Re: Netbeans App

2006-10-05 Thread Tomáš Procházka
Ahoj,
odpovídám na zprávu ze čtvrtka, 28. září 2006,
kterou Roman Štrobl napsal v 16:00:45:

   Ještě se hodím toto:
   http://www.antonioshome.net/kitchen/netbeans/index.php

   ať to je hezky pohromadě.


--- Původní zpráva ---
 Odesilatel: Roman Strobl <[EMAIL PROTECTED]>
Předmět: Netbeans App
  Datum: 28. září 2006, 16:00:45 (GMT +0200)
Přílohy: 
  msgid:[EMAIL PROTECTED]

>> Můj názor na NetbeansApp je ten, že projekt je to naprosto skvělý, ovšem
>> dokumentace, zejména k pokročilejším tématům, je stále pohříchu málo.

R> Ahoj,

R> co se tyka dokumentace k NetBeans platforme, tak navstivte:

R> http://platform.netbeans.org
R> http://platform.netbeans.org/tutorials/index.html
R> http://blogs.sun.com/geertjan
R> http://www.javalobby.org/eps/netbeans_platform
R> http://www.netbeans.org/download/flash/platform_55/platform_ws
R> http://www.netbeans.org/download/dev/javadoc

R> Vse ostatni se dozvite zde:
R> Mailing list [EMAIL PROTECTED]

R> Co se tyka spusteni kodu, tak pokud se jedna o Window Component, staci
R> zaskrtnout "show on application startup" pri vytvareni window component.
R> V pripade neviditelnych komponent si nejsem jisty, jen vim ze to jde, 
R> napr. pri spousteni platformy. Na mailing listu vam poradi vyvojari 
R> platformy pripadne komunita lidi co nad NB stavi.



 Konec původní zprávy 

-- 
-
 Tomáš Procházka


 E-mail: [EMAIL PROTECTED]
WWW: http://atom.sf.cz
ICQ: 87147320
-