Hibernate + REST (Jersey) na Glassfih3

Jakub Podlesak Jakub.Podlesak na Sun.COM
Pondělí Září 15 11:31:21 CEST 2008


On Sat, Sep 13, 2008 at 02:09:13PM +0200, Tomáš Procházka wrote:
> Zdravím.
> 
> Omlouvám se za pozdní odpověď.
> 
> Skutečně šlo o dva úplně odlišné problémy.
> 
> 1. Nelze použít Hibernate + REST, jediný existující a zároveň správný
> workaroud je upravit knihovny hibernate, tak aby nepoužívali externí
> ASM knihovnu, ale použít cglib bez dependenci, tedy z ASM integrovaný
> uvnitř jednoho jaru. ASM tam je v jiném balíčku, takže může
> koexistovat s novější verzí ASM, kterou používá REST. Hibernate takto
> není nijak ovlivněn, protože on nepracuje z ASM, ale cglib.

Workaround je popsany u bug reportu [1]. A jak se divam, funguje vam :-)

> 
> 
> 2.) Pak šlo o problém inicializace Persistence Manageru. To co jste
> tedy napsal jako workaround k tomu ISSUE v Issuezile Netbeans s bodem
> 1. nemá _absolutně_ žádnou souvislost.

Kazdopadne vidim, ze na tom panove z toolingu intenzivne pracuji [2].

Dekuju za trpelivost a uzitecnou zpetnou vazbu!
Pokud by byly v budoucnu jakekoli problemy nikoli s kodem generovanym
NetBeansy, ale primo ve funkcionalite RESTu, prosim o zadani chyb primo
k projektu Jersey [3].

~Jakub

[1]http://www.netbeans.org/issues/show_bug.cgi?id=145589
[2]http://www.netbeans.org/issues/show_bug.cgi?id=144016
[3]https://jersey.dev.java.net/

>    
> 
> --------------------------- Původní zpráva ---------------------------
>  Odesilatel: Jakub Podlesak <Jakub.Podlesak na Sun.COM>
>     Předmět: Hibernate + REST (Jersey) na Glassfih3
>       Datum: 15. srpna 2008, 14:39:16 (GMT +0200)
>     Přílohy: <none>
>       msgid:20080815123916.GC1220 na unknown.Czech.Sun.COM
>     
> >> >> Nakonec jsem to ale vyřešil, použil jsem Tomcat a přepsal jsem
> >> >> inicializaci EntityManageru na klasický tvar
> >> >> 
> >> >> emf = Persistence.createEntityManagerFactory(DEFAULT_PU);
> >> >> em = emf.createEntityManager();
> >> >> utx = em.getTransaction();
> >> 
> >> J> Pridal jsem informaci k bug reportu.
> >> 
> >> To se ale týká úplně jiného problému.
> >> Ten report je na problém, kvůli kterému nejde vůbec použít hibernate a
> >> Jersey knihovna současně.
> >> A napsal jsem tam i řešení.
> >> 
> 
> J> To jsem videl, kazdopadne jsem mel dojem, 
> J> ze pokud se pouzije Tomcat a prepise puvodni generovany 
> J> kod (generuje ho REST plugin) k inicializaci entity manageru, tak vse funguje.
> J> Tj, ze to souvisi s problemem: Hibernate + REST plugin
> 
> J> Odkud byl ten puvodni kod pro ziskani entity manageru?
> J> Funguje popsany workaround (sachy s knihovnami) nezavisle na pouzitem kontejneru?
> 
> >> 
> >> A tohle se zase týká té chyby
> >> java.lang.ClassCastException: cz.atomsoft.web.model.Game cannot be cast to cz.atomsoft.web.model.Game
> 
> >> 
> >> Zde jsem na řešení nepřišel, proto jsem napsal sem do diskuze. Patrně
> >> ale půjde o to, že ten způsob jak se tam přístupuje k EntityManageru
> >> nějak způsobí, že se jedna třída načte dvě classloaderama. Na to bych
> >> musel napsat druhý report, ale nemůžu reportovat něco, co vlastně
> >> nevím, proč to nefunguje.
> 
> J> To je jedno, da se zareportovat alespon ze neco nefunguje.
> J> Je daleko vetsi sance, ze se tim pak nekdo zacne zabyvat.
> 
> J> Porad mi ale neni jasne, jestli jde o jeden problem nebo dva...
> ------------------------ Konec původní zprávy ------------------------
> 
> -- 
> ---------------------------------------------------------------------
>  Tomáš Procházka
> 
> 
>  E-mail: t.prochazka na centrum.cz
>     WWW: http://www.atomsoft.cz
>     ICQ: 87147320
> ---------------------------------------------------------------------
> 

-- 
http://blogs.sun.com/japod



Další informace o konferenci Konference