EJB3 a spravny zpusob
Zdravim, mam problem s implementaci Factory Patternu. Nevim tedy, jestli zrovna tohle je tedy idealni zpusob. Pr.: Mam nejakou beanu, ktera na zaklade predaneho parametru v metode vraci danou instanci jine beany: @EJBs({ @EJB(name=ejb/P1, beanInterface=Interface1.class), @EJB(name=ejb/P2, beanInterface=Interface2.class), @EJB(name=ejb/P3, beanInterface=Interface3.class), @EJB(name=ejb/P4, beanInterface=Interface4.class)}) @Stateless class MyBean implements ... { public Object getBean(int bean) { try { return context.lookup(ejb/P + modul); } catch (Exception e) { throw new FactoryException(Chyba pri dochledavani tridy. + e.getMessage()); } } } Jinymi slovy, podle daneho cisla, coz je ve finale nejaky PK z databaze, potrebuji vratit tu danou beanu. Problem neni ani tak s vracenim, jako s udrzenim instance. Zavola se jedna beana, po chvili jina a tam je problem. Potreboval bych nejak tu prvni ukoncit. Samotne beany implementuji interface, ktery dedi jiny interface, ktery obsahuje metody pro nejakou akci, jedna se nejakou praci s daty. Problem ovsem je, ze po prvnim zavolani se mi uchova PersistenceUnit a pote, kdyz napodruhe pracuji s entitami, ktere byly pouzite i v prvni fazi, tak se mi neaktualizuji podle DB, ale jsou uchovany v EM podle posledniho stavu. Problem potom nastava v tom, ze i kdyz provedu nejake smazani, tak se mi stejne uchovavaji v EM. Po pokusu o persist se mi vyhodi hlaska o 'Cannot persist detached entity'. Podle toho, co jsem cetl v EJB3 In Action, tak v EM se uchovavaji bud po dobu transakce (vesmes pouziva, requires_new nebo not_supported, jedna se o davku, takze to v transakci udrzovat nemuzu), nebo po dobu existence Persistence Unit, respektive pri existenci instance, ktera obsahuje: @PersistenceContext(unitName=default) private EntityManager em; Da se nejak zaridit, aby se prvni instance ukoncila? Zejmena potom, co se zavola jina z factory. S tim souvisi jeste jedna otazka. Da se nejak dedit jedna beana do druhe? V knize jsem nasel, ze takova moznost existuje, ale kdyz to pouziji v netbeans, hlasi mi to chybu o tom, ze extendovat jinou beanu nesmim :( @Stateless class Bean1 implements Bean1Interface { } @Stateless class Bean2 extends Bean1 implements Bean2Interface { } Diky moc za nakopnuti :) Information from NOD32 This message was checked by NOD32 Antivirus System for Linux Mail Servers. http://www.eset.com
Java Web Start a stahovani nove verze
Zdar, mam tady takove podivne chovani applikace distribuovane pres Java Web Start. Kdyz dam novou verzi aplikace (jedna se o NetBeans Platform aplikaci), tak ji musim spustit jednou (to jeste bezi stara verze aplikace) a podruhe a pak se teprve zacne downloadovat nova verze aplikace. Pritom datum JNLP souboru je jiz aktualni. Vite nekdo o tomto chovani, pripadne znate nejaky workaround? Kdo za to muze? NetBeans, ktere udelaji spatny war, Web browser, nebo Java Web Start? Dik moc Tom
Re: JasperReports a customizovatelný celý SQL dotaz
Ahoj, odpovídám na zprávu z pondělka, 25. června 2007, kterou Petr Zajíc napsal v 18:39:00: Já to tedy nezkoušel ale kolegovi to psalo toto: Filling report... Locale: čeština (Česká republika) Time zone: Default Error filling print... Error executing SQL statement for : Adresy_scriptlets_SQL2 net.sf.jasperreports.engine.JRException: Error executing SQL statement for : Adresy_scriptlets_SQL2 atd. Ale dnes přišel na to, že když tam ještě dodá vykřičník a udělá toto: SELECT a,b,c,d FROM table WHERE $P!{sql_where} že to funguje --- Původní zpráva --- Odesilatel: Petr Zajíc [EMAIL PROTECTED] Předmět: JasperReports a customizovatelný celý SQL dotaz Datum: 25. června 2007, 18:39:00 (GMT +0200) Přílohy: none msgid:[EMAIL PROTECTED] P Ahoj, P To jde, dotaz prostě předáš jako parametr. Mám tak dělané všechny reporty, P skládám SQL dynamicky. Není s tím problém. P Petr P -Original Message- P From: [EMAIL PROTECTED] P [mailto:[EMAIL PROTECTED] On P Behalf Of Tomáš Procházka P Sent: Monday, June 25, 2007 5:32 PM P To: konference@java.cz P Subject: JasperReports a customizovatelný celý SQL dotaz P Zdravím. P Měl bych malý dotaz na někoho, kdo se význá v JasperReportu. P Udělat customizovatelný SQL dotaz je maličkost: P SELECT * FROM Orders WHERE OrderID = $P{MaxOrderID} P Ale já bych potřeboval customizovat úplně celý SQL tedy dát do jrxml místo P dotatu přímo $P{sql_query} a celý doz zadávat zvenku. Jenže toto přímo P nejde. P Jde to nějak? P Nebo prostě provést SQL dotaz přímo v aplikaci a JR předat jen ResultSet? P Moc děkuji za odpověď. P P Datum: 17:29:4225. června 2007 Konec původní zprávy -- - Tomáš Procházka E-mail: [EMAIL PROTECTED] WWW: http://atom.sf.cz ICQ: 87147320 -
Property v jazyce
Ahoj, brouzdal jsem Netem, abych zjistil, proc tolik lidi touzi mit v Jave property. Bohuzel vetsina clanku se bud zabyva tim, jak to udelat technicky, nebo resi v podstate subjektivni otazku, zda jsou lepsi set/get metody vs. properties. Nuda. Obcas se ale objevi tajemny odkaz na to, jak by properties naramne zjednodusily beanbinding a prospely komponentovemu modelu. Nikde jsem ale nenasel nic, kde se rozebiralo, jak je to se vztahem properties a beanbindingu/komponentoveho modelu. Neproslo vam rukama neco na tohle tema? diky kolisko