Message from discussion
EJB3.1
Received: by 10.236.115.130 with SMTP id e2mr5420163yhh.25.1343617546487;
Sun, 29 Jul 2012 20:05:46 -0700 (PDT)
X-BeenThere: scala-br@googlegroups.com
Received: by 10.231.62.200 with SMTP id y8ls3776180ibh.5.gmail; Sun, 29 Jul
2012 20:05:45 -0700 (PDT)
Received: by 10.50.237.39 with SMTP id uz7mr6824841igc.2.1343617545463;
Sun, 29 Jul 2012 20:05:45 -0700 (PDT)
Received: by 10.50.237.39 with SMTP id uz7mr6824840igc.2.1343617545449;
Sun, 29 Jul 2012 20:05:45 -0700 (PDT)
Return-Path: <maill...@gmail.com>
Received: from mail-ob0-f179.google.com (mail-ob0-f179.google.com [209.85.214.179])
by gmr-mx.google.com with ESMTPS id en7si1895613igc.0.2012.07.29.20.05.45
(version=TLSv1/SSLv3 cipher=OTHER);
Sun, 29 Jul 2012 20:05:45 -0700 (PDT)
Received-SPF: pass (google.com: domain of maill...@gmail.com designates 209.85.214.179 as permitted sender) client-ip=209.85.214.179;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of maill...@gmail.com designates 209.85.214.179 as permitted sender) smtp.mail=maill...@gmail.com; dkim=pass header...@gmail.com
Received: by obbeh20 with SMTP id eh20so8977383obb.24
for <scala-br@googlegroups.com>; Sun, 29 Jul 2012 20:05:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
bh=qEsqAwFCXWTjFUTUWY/nUp2Sr2TOEvBs7RTbuxtsst0=;
b=W2ianxbzlJhryK4aSHYGAEKAKYDpq6be+YeInm60dzTtiDsDDJEtXHyluaDcpdxLP4
PFgCV4GvtM4O+B2onZEDVjQdjS5vpC6vahm5m4os1wyqrdDtb86mF1Objs/K9443Rj5T
eJXLaxleHb5L1V2A5ZVG2QBivwhr4QQ4W/S2ZZq4I+oMG37WelOvtt0vOUnnJVsFwKX2
27Q1vKH8PZ7QSimj+32Ka5ClUds49FajBUAytlYDD/lM7ZAW3g0r3JFmBKUbcOxni19T
VD4UC1h33CZVdu9nGlcKZkGHYQsyGit8yFOGB2xTjxRuE6ASmujEW3ohcYaAy5Blvrvu
bbsA==
MIME-Version: 1.0
Received: by 10.182.85.8 with SMTP id d8mr15120710obz.70.1343617545056; Sun,
29 Jul 2012 20:05:45 -0700 (PDT)
Received: by 10.76.12.35 with HTTP; Sun, 29 Jul 2012 20:05:45 -0700 (PDT)
In-Reply-To: <cad7a7ae-069e-4035-b36b-825201df7b6a@googlegroups.com>
References: <cad7a7ae-069e-4035-b36b-825201df7b6a@googlegroups.com>
Date: Mon, 30 Jul 2012 00:05:45 -0300
Message-ID: <CAKSOtJ9+fPrGvGnStBwg0gOs0ghr6rYEyYqHCAusgyOPbue...@mail.gmail.com>
Subject: Re: [scala-br] EJB3.1
From: "Thomas Sant'ana" <maill...@gmail.com>
To: scala-br@googlegroups.com
Content-Type: multipart/alternative; boundary=f46d044795597cb02004c6035674
--f46d044795597cb02004c6035674
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Nao tenho certez, mas o erro erro ser refere ao metodo em_=3D (t=E1
unmangled). Como voce n=E3o define isso no seu trait eu acredito que o _ es=
t=E1
gerando um final method que n=E3o pode ser herdado pelo proxy do EJB.
Sendo assim eu recomendaria colocar um:
private var em: EntityManager =3D null
Agora eu nunca trabalhei com EJB...
Thomas
2012/7/28 Picanha <giulianoco...@gmail.com>
> Ol=E1,
>
> algu=E9m j=E1 teve o problema com os proxies de EJB para o scala. O Weld =
esta
> lan=E7ando uma exce=E7=E3o na gera=E7=E3o dos proxies de EJB.
>
> Meu c=F3digo esta como abaixo:
>
> trait JpaBaseRepository[E] {
> @PersistenceContext
> private var em: EntityManager =3D _
>
> def get(id:Serializable)(implicit manifest: Manifest[E]) :E =3D {
> em.find(manifest.erasure, id).asInstanceOf[E]
> }
>
> def add(e:E):E =3D {
> em persist(em merge(e))
> e
> }
>
> def remove(e:E) :E =3D {
> em remove(e)
> e
> }
>
> def all()(implicit m: Manifest[E]) =3D {
> em.createQuery("from " + m.erasure.getSimpleName,
> m.erasure).getResultList
> }
> }
>
> EJB:
> @LocalBean
> @Stateless
> class PersonRepositoryJpa extends JpaBaseRepository[Person]{
>
> }
>
> Ao subir o server esta dando o seguinte erro:
>
> org.jboss.weld.exceptions.WeldException: by java.lang.VerifyError: class
> com.backoffice.repository.PersonRepositoryJpa$Proxy$_$$_Weld$Proxy$
> overrides final method
> com$backoffice$repository$JpaBaseRepository$$em_$eq.(Ljavax/persistence/E=
ntityManager;)V
>
--f46d044795597cb02004c6035674
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Nao tenho certez, mas o =A0erro =A0erro ser refere ao metodo em_=3D (t=E1 u=
nmangled). Como voce n=E3o define isso no seu trait eu acredito que o _ est=
=E1 gerando um final method que n=E3o pode ser herdado pelo proxy do EJB.<d=
iv><br></div>
<div>Sendo assim eu recomendaria colocar um:</div><div><br></div><div>priva=
te var em: EntityManager =3D null</div><div><br></div><div>Agora eu nunca t=
rabalhei com EJB...</div><div><br></div><div>Thomas</div><div><br><div clas=
s=3D"gmail_quote">
2012/7/28 Picanha <span dir=3D"ltr"><<a href=3D"mailto:giulianocosta@gma=
il.com" target=3D"_blank">giulianoco...@gmail.com</a>></span><br><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">
Ol=E1,<div><br></div><div>algu=E9m j=E1 teve o problema com os proxies de E=
JB para o scala. O Weld esta lan=E7ando uma exce=E7=E3o na gera=E7=E3o dos =
proxies de EJB.</div><div><br></div><div>Meu c=F3digo esta como abaixo:</di=
v><div><br></div>
<div><div>trait JpaBaseRepository[E] {</div><div>=A0 @PersistenceContext</d=
iv><div>=A0 private var em: EntityManager =3D _</div><div><br></div><div>=
=A0 def get(id:Serializable)(implicit manifest: Manifest[E]) :E =3D {</div>=
<div>=A0 =A0 em.find(manifest.erasure, id).asInstanceOf[E]</div>
<div>=A0 }</div><div><br></div><div>=A0 def add(e:E):E =3D {</div><div>=A0 =
=A0 em persist(em merge(e))</div><div>=A0 =A0 e</div><div>=A0 }</div><div><=
br></div><div>=A0 def remove(e:E) :E =3D {</div><div>=A0 =A0 em remove(e)</=
div><div>=A0 =A0 e</div>
<div>=A0 }</div><div><br></div><div>=A0 def all()(implicit m: Manifest[E]) =
=3D {</div><div>=A0 =A0 em.createQuery("from " + m.erasure.getSim=
pleName, m.erasure).getResultList</div><div>=A0 }</div><div>}</div></div><d=
iv><br></div>
<div>EJB:=A0</div><div><div>@LocalBean</div><div>@Stateless</div><div>class=
PersonRepositoryJpa extends JpaBaseRepository[Person]{</div><div><br></div=
><div>}<br></div></div><div><br></div><div>Ao subir o server esta dando o s=
eguinte erro:</div>
<div><br></div><div><font color=3D"#ff0000">org.jboss.weld.exceptions.WeldE=
xception: by java.lang.VerifyError: class com.backoffice.repository.PersonR=
epositoryJpa$Proxy$_$$_Weld$Proxy$ overrides final method com$backoffice$re=
pository$JpaBaseRepository$$em_$eq.(Ljavax/persistence/EntityManager;)V</fo=
nt></div>
</blockquote></div><br></div>
--f46d044795597cb02004c6035674--