Hi,
I am able to use injections with remote interface and it retrieves data for me.
I am using a remote interface in my application.
In your stateless bean implementation class, try and use @Persistence.
Don't bother to supply it with the persistent unit name unless you
have more than one persistence unit in your application.
I assumed you are using servlet as the client.
My application is also an ear.
eve
Date: Thu, 22 Oct 2009 19:47:02 -0200
From: roanbrasil_at_gmail.com
To: persistence_at_glassfish.dev.java.net
Subject: Re: NullPointerException
I am using glassfish v2.1, I will put here I did a @Stateless class.
I make it
@Local
DaoResourceProviderLocal {
public BaseDAO getBaseDAO();
}
@Stateless
public class DaoResourceProvider implements DaoResourceProviderLocal{
@PersisteceUnit(unitName="citespacePU")
EntityManagerFactory emf;
...
public BaseDAO getBaseDao() {
BaseDAO retVal = new BaseDAO();
retVal.setEmf( emf );
return retVal;
}
}
2009/10/22 Marina Vatkina <Marina.Vatkina_at_sun.com>
It depends on the GF version. In v3 which is being built to be Java EE 6 compliant, EJBs can be part of a WAR file.
Regards,
-marina
Michael Bar-Sinai wrote:
Ah! web app.
I don't think you get any injections in a web app, you need to have an EJB in an EJB module and then look it up (JNDI) from the web app.
Is there a section called "Persistence in the Web Tier" or something like that??
Do look in the log files, I think Glassfish would at least complain about having @Stateless classes in a deployed war.
You can also try to create an .ear project instead of a .war one.
-- Michael
On 22 Oct, 2009, at 10:36 PM, Roan Brasil Monteiro wrote:
it's a web application I am trying to write, I created a bean and deploy and this didn't work yet.
2009/10/22 Michael Bar-Sinai <mich.barsinai_at_gmail.com <mailto:mich.barsinai_at_gmail.com>>
á áYes, the idea is to create an EJB - as Marina said, you need a JEE
á áclass to get injections.
á áSo that's the whole process here: create the interface and the
á ábean, deploy, call the bean.
á áPlease note that if you're just learning JPA and try to implement
á áit in a desktop application, this is not the way at all.... you
á áare writing a server-side program, right?
á á--Michael
á áOn 22 Oct, 2009, at 10:27 PM, Roan Brasil Monteiro wrote:
á áOne Question:
á áShould I create a interface
á á@Local
á áDaoResourceProviderLocal {
á ápublic BaseDAO getBaseDAO();
á á}
á á@Stateless
á ápublic class DaoResourceProvider implements DaoResourceProviderLocal{
á á@PersisteceUnit(unitName="citespacePU")
á áEntityManagerFactory emf;
á á...
á ápublic BaseDAO getBaseDao() {
á áBaseDAO retVal = new BaseDAO();
á áretVal.setEmf( emf );
á áreturn retVal;
á á}
á á}
á á2009/10/22 Michael Bar-Sinai <mich.barsinai_at_gmail.com
á á<mailto:mich.barsinai_at_gmail.com>>
á á á áYou can get the injected object using an EJB, and then
á á á ámanually inject them to the DAO:
á á á á(This is from the top of my head, no JEE env here):
á á á á@Local
á á á ápublic class DaoResourceProvider implements
á á á áDaoResourceProviderLocal {
á á á á@PersisteceUnit(unitName="citespacePU")
á á á áEntityManagerFactory emf;
á á á á...
á á á ápublic BaseDAO getBaseDao() {
á á á áBaseDAO retVal = new BaseDAO();
á á á áretVal.setEmf( emf );
á á á áreturn retVal;
á á á á}
á á á á...
á á á á--Michael
á á á áOn 22 Oct, 2009, at 10:07 PM, Roan Brasil Monteiro wrote:
á á á áChapter 24?
á á á á2009/10/22 Roan Brasil Monteiro <roanbrasil_at_gmail.com
á á á á<mailto:roanbrasil_at_gmail.com>>
á á á á á áJust a part. I have a JEE aplication and I would like to
á á á á á ásplit the persistence part from my JPA class. Do you
á á á á á áhave some idea? I will take a look on the documentation.
á á á á á á2009/10/22 Marina Vatkina <Marina.Vatkina_at_sun.com
á á á á á á<mailto:Marina.Vatkina_at_sun.com>>
á á á á á á á áIt depends on what you are trying to achieve in
á á á á á á á áwhich type of an application. Did you look at the
á á á á á á á áJPA cjapter in Java EE 5 Tutorial?
á á á á á á á áRoan Brasil Monteiro wrote:
á á á á á á á á á áHow should I resolve it? How should be my class?
á á á á á á á á á áI am learning and I am trying to put the
á á á á á á á á á ápersistence part in DAO class.
á á á á á á á á á á2009/10/22 Marina Vatkina
á á á á á á á á á á<Marina.Vatkina_at_sun.com
á á á á á á á á á á<mailto:Marina.Vatkina_at_sun.com>
á á á á á á á á á á<mailto:Marina.Vatkina_at_sun.com
á á á á á á á á á á<mailto:Marina.Vatkina_at_sun.com>>>
á á á á á á á á á á á You can't inject anything in a class that is
á á á á á á á á á áneither a Main class,
á á á á á á á á á á á nor a JavaEE component.
á á á á á á á á á á á -marina
á á á á á á á á á á á Roan Brasil Monteiro wrote:
á á á á á á á á á á á á á I have a class BaseDAO as bellow and I am
á á á á á á á á á ágetting
á á á á á á á á á á á á á NullPointerException on EntityManager em =
á á á á á á á á á á á á á emf.createEntityManager(); line from
á á á á á á á á á áBaseDAO class, Can someone
á á á á á á á á á á á á á help me how to fix it?
á á á á á á á á á á á á á public class BaseDAO<T> {
á á á á á á á á á á á á á á á@PersistenceUnit(unitName = "citespacePU")
á á á á á á á á á á á á á á áEntityManagerFactory emf;
á á á á á á á á á á á á á á á ápublic List<T> ListCountry(){
á á á á á á á á á á á á á á á á á á á áEntityManager em =
á á á á á á á á á áemf.createEntityManager();
á á á á á á á á á á á á á á á á á á á átry{
á á á á á á á á á á á á á á á á á á áQuery q =
á á á á á á á á á áem.createQuery("Select c from Country c ");
á á á á á á á á á á á á á á á á á á áList<Country> c =
á á á á á á á á á á q.getResultList(); á á á á á á á á á á á á á á á á á á á á á á á áreturn (List<T>) c;
á á á á á á á á á á á á á á á á á}finally{
á á á á á á á á á á á á á á á á á á á á áif (em != null &&
á á á á á á á á á áem.isOpen()) {
á á á á á á á á á á á á á á á á á á á á á á áem.close();
á á á á á á á á á á á á á á á á á á á á á}
á á á á á á á á á á á á á á á á á} á á á á á á á á}
á á á á á á á á á á á á á }
á á á á á á á á á á á á á I have my Jersey resource class:
á á á á á á á á á á á á á @Path("/user/")
á á á á á á á á á á á á á public class UserResource {
á á á á á á á á á á á á á á á á@GET
á á á á á á á á á á á á á á á@Produces("text/plain")
á á á á á á á á á á á á á á ápublic String registerUser(){
á á á á á á á á á á á á á á á á á á á á á á á á BaseDAO<Country>
á á á á á á á á á ácountryDAO = new BaseDAO<Country>();
á á á á á á á á á á á á á á á á á á List<Country> c =
á á á á á á á á á ácountryDAO.ListCountry();
á á á á á á á á á á á á á á á á á á áString y = "";
á á á á á á á á á á á á á á á á á á á á á á á á á áfor(Country x: c){
á á á á á á á á á á á á á á á á á á á á á áy = y + ":" +x.getName();
á á á á á á á á á á á á á á á á á á á á} á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á áreturn "[Country List]:"+y;
á á á á á á á á á á á á á á á}
á á á á á á á á á á á á á -- á á á áAtenciosamente,
á á á á á á á á á á á á á Roan Brasil Monteiro
á á á á á á á á á á á á á
http://roanbrasil.wordpress.com/
á á á á á á á á á á-- á á á á á á á á á áAtenciosamente,
á á á á á á á á á áRoan Brasil Monteiro
á á á á á á á á á á
http://roanbrasil.wordpress.com/
á á á á á á-- á á á á á áAtenciosamente,
á á á á á áRoan Brasil Monteiro
á á á á á á
http://roanbrasil.wordpress.com/
á á á á-- á á á áAtenciosamente,
á á á áRoan Brasil Monteiro
á á á á
http://roanbrasil.wordpress.com/
á á-- á áAtenciosamente,
á áRoan Brasil Monteiro
á á
http://roanbrasil.wordpress.com/
--
Atenciosamente,
Roan Brasil Monteiro
http://roanbrasil.wordpress.com/
--
Atenciosamente,
Roan Brasil Monteiro
http://roanbrasil.wordpress.com/
_________________________________________________________________
Download Messenger onto your mobile for free
http://clk.atdmt.com/UKM/go/174426567/direct/01/
--_0854692d-b34e-4fbc-9da1-778c07f1cab0_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hi,<BR>
<BR>
I am able to use injections with remote interface and it retrieves data for me.<BR>
<BR>
I am using a remote interface in my application.<BR>
<BR>
In your stateless bean implementation class, try and use @Persistence.<BR>
Don't bother to supply it with the persistent unit name unless you<BR>
have more than one persistence unit in your application.<BR>
<BR>
<BR>
I assumed you are using servlet as the client.<BR>
<BR>
My application is also an ear.<BR>
<BR>
eve<BR>
<BR> <BR>
<HR id=stopSpelling>
Date: Thu, 22 Oct 2009 19:47:02 -0200<BR>From: roanbrasil_at_gmail.com<BR>To: persistence_at_glassfish.dev.java.net<BR>Subject: Re: NullPointerException<BR><BR>I am using glassfish v2.1, I will put here I did a @Stateless class.<BR><BR>I make it<BR><BR>@Local<BR>DaoResourceProviderLocal {<BR>public BaseDAO getBaseDAO();<BR>}<BR><BR>@Stateless <BR>public class DaoResourceProvider implements DaoResourceProviderLocal{<BR><BR>
<DIV>@PersisteceUnit(unitName="citespacePU")</DIV>
<DIV>EntityManagerFactory emf;</DIV>
<DIV><BR></DIV>
<DIV>...</DIV>
<DIV>public BaseDAO getBaseDao() {</DIV>
<DIV><SPAN style="WHITE-SPACE: pre"></SPAN>BaseDAO retVal = new BaseDAO();</DIV>
<DIV><SPAN style="WHITE-SPACE: pre"></SPAN>retVal.setEmf( emf );</DIV>
<DIV><SPAN style="WHITE-SPACE: pre"></SPAN>return retVal;</DIV>
<DIV>}</DIV><BR>}<BR><BR>
<DIV class=ecxgmail_quote>2009/10/22 Marina Vatkina <SPAN dir=ltr><<A href="mailto:Marina.Vatkina_at_sun.com">Marina.Vatkina_at_sun.com</A>></SPAN><BR>
<BLOCKQUOTE style="PADDING-LEFT: 1ex" class=ecxgmail_quote>It depends on the GF version. In v3 which is being built to be Java EE 6 compliant, EJBs can be part of a WAR file.<BR><BR>Regards,<BR>-marina<BR><BR>Michael Bar-Sinai wrote:<BR>
<BLOCKQUOTE style="PADDING-LEFT: 1ex" class=ecxgmail_quote>
<DIV class=ecxim>Ah! web app.<BR>I don't think you get any injections in a web app, you need to have an EJB in an EJB module and then look it up (JNDI) from the web app.<BR>Is there a section called "Persistence in the Web Tier" or something like that??<BR>Do look in the log files, I think Glassfish would at least complain about having @Stateless classes in a deployed war.<BR><BR>You can also try to create an .ear project instead of a .war one.<BR><BR>-- Michael<BR><BR>On 22 Oct, 2009, at 10:36 PM, Roan Brasil Monteiro wrote:<BR><BR></DIV>
<BLOCKQUOTE style="PADDING-LEFT: 1ex" class=ecxgmail_quote>
<DIV class=ecxim><BR>it's a web application I am trying to write, I created a bean and deploy and this didn't work yet.<BR><BR><BR></DIV>2009/10/22 Michael Bar-Sinai <<A href="mailto:mich.barsinai_at_gmail.com">mich.barsinai_at_gmail.com</A> <mailto:<A href="mailto:mich.barsinai_at_gmail.com">mich.barsinai_at_gmail.com</A>>>
<DIV class=ecxim><BR><BR>á áYes, the idea is to create an EJB - as Marina said, you need a JEE<BR>á áclass to get injections.<BR>á áSo that's the whole process here: create the interface and the<BR>á ábean, deploy, call the bean.<BR>á áPlease note that if you're just learning JPA and try to implement<BR>á áit in a desktop application, this is not the way at all.... you<BR>á áare writing a server-side program, right?<BR><BR>á á--Michael<BR><BR>á áOn 22 Oct, 2009, at 10:27 PM, Roan Brasil Monteiro wrote:<BR><BR></DIV>
<BLOCKQUOTE style="PADDING-LEFT: 1ex" class=ecxgmail_quote>
<DIV class=ecxim>á áOne Question:<BR><BR>á áShould I create a interface<BR><BR>á á@Local<BR>á áDaoResourceProviderLocal {<BR>á ápublic BaseDAO getBaseDAO();<BR>á á}<BR><BR>á á@Stateless<BR>á ápublic class DaoResourceProvider implements DaoResourceProviderLocal{<BR><BR>á á@PersisteceUnit(unitName="citespacePU")<BR>á áEntityManagerFactory emf;<BR><BR>á á...<BR>á ápublic BaseDAO getBaseDao() {<BR>á áBaseDAO retVal = new BaseDAO();<BR>á áretVal.setEmf( emf );<BR>á áreturn retVal;<BR>á á}<BR><BR>á á}<BR><BR><BR>á á2009/10/22 Michael Bar-Sinai <<A href="mailto:mich.barsinai_at_gmail.com">mich.barsinai_at_gmail.com</A><BR></DIV>á á<mailto:<A href="mailto:mich.barsinai_at_gmail.com">mich.barsinai_at_gmail.com</A>>>
<DIV class=ecxim><BR><BR>á á á áYou can get the injected object using an EJB, and then<BR>á á á ámanually inject them to the DAO:<BR>á á á á(This is from the top of my head, no JEE env here):<BR><BR>á á á á@Local<BR>á á á ápublic class DaoResourceProvider implements<BR>á á á áDaoResourceProviderLocal {<BR><BR>á á á á@PersisteceUnit(unitName="citespacePU")<BR>á á á áEntityManagerFactory emf;<BR><BR>á á á á...<BR>á á á ápublic BaseDAO getBaseDao() {<BR>á á á áBaseDAO retVal = new BaseDAO();<BR>á á á áretVal.setEmf( emf );<BR>á á á áreturn retVal;<BR>á á á á}<BR><BR>á á á á...<BR><BR><BR>á á á á--Michael<BR><BR><BR><BR>á á á áOn 22 Oct, 2009, at 10:07 PM, Roan Brasil Monteiro wrote:<BR><BR></DIV>
<BLOCKQUOTE style="PADDING-LEFT: 1ex" class=ecxgmail_quote>
<DIV class=ecxim>á á á áChapter 24?<BR><BR>á á á á2009/10/22 Roan Brasil Monteiro <<A href="mailto:roanbrasil_at_gmail.com">roanbrasil_at_gmail.com</A><BR></DIV>á á á á<mailto:<A href="mailto:roanbrasil_at_gmail.com">roanbrasil_at_gmail.com</A>>>
<DIV class=ecxim><BR><BR>á á á á á áJust a part. I have a JEE aplication and I would like to<BR>á á á á á ásplit the persistence part from my JPA class. Do you<BR>á á á á á áhave some idea? I will take a look on the documentation.<BR><BR><BR>á á á á á á2009/10/22 Marina Vatkina <<A href="mailto:Marina.Vatkina_at_sun.com">Marina.Vatkina_at_sun.com</A><BR></DIV>
<DIV>
<DIV></DIV>
<DIV class=h5>á á á á á á<mailto:<A href="mailto:Marina.Vatkina@sun.com">Marina.Vatkina@sun.com</A>>><BR><BR>á á á á á á á áIt depends on what you are trying to achieve in<BR>á á á á á á á áwhich type of an application. Did you look at the<BR>á á á á á á á áJPA cjapter in Java EE 5 Tutorial?<BR><BR>á á á á á á á áRoan Brasil Monteiro wrote:<BR><BR>á á á á á á á á á áHow should I resolve it? How should be my class?<BR>á á á á á á á á á áI am learning and I am trying to put the<BR>á á á á á á á á á ápersistence part in DAO class.<BR><BR>á á á á á á á á á á2009/10/22 Marina Vatkina<BR>á á á á á á á á á á<<A href="mailto:Marina.Vatkina@sun.com">Marina.Vatkina@sun.com</A><BR>á á á á á á á á á á<mailto:<A href="mailto:Marina.Vatkina@sun.com">Marina.Vatkina@sun.com</A>><BR>á á á á á á á á á á<mailto:<A href="mailto:Marina.Vatkina@sun.com">Marina.Vatkina@sun.com</A><BR>á á á á á á á á á á<mailto:<A href="mailto:Marina.Vatkina@sun.com">Marina.Vatkina@sun.com</A>>>><BR><BR><BR>á á á á á á á á á á á You can't inject anything in a class that is<BR>á á á á á á á á á áneither a Main class,<BR>á á á á á á á á á á á nor a JavaEE component.<BR><BR>á á á á á á á á á á á -marina<BR><BR><BR>á á á á á á á á á á á Roan Brasil Monteiro wrote:<BR><BR>á á á á á á á á á á á á á I have a class BaseDAO as bellow and I am<BR>á á á á á á á á á ágetting<BR>á á á á á á á á á á á á á NullPointerException on EntityManager em =<BR>á á á á á á á á á á á á á emf.createEntityManager(); line from<BR>á á á á á á á á á áBaseDAO class, Can someone<BR>á á á á á á á á á á á á á help me how to fix it?<BR><BR>á á á á á á á á á á á á á public class BaseDAO<T> {<BR><BR>á á á á á á á á á á á á á á á@PersistenceUnit(unitName = "citespacePU")<BR>á á á á á á á á á á á á á á áEntityManagerFactory emf;<BR>á á á á á á á á á á á á á á á ápublic List<T> ListCountry(){<BR>á á á á á á á á á á á á á á á á á á á áEntityManager em =<BR>á á á á á á á á á áemf.createEntityManager();<BR>á á á á á á á á á á á á á á á á á á á átry{<BR>á á á á á á á á á á á á á á á á á á áQuery q =<BR>á á á á á á á á á áem.createQuery("Select c from Country c ");<BR>á á á á á á á á á á á á á á á á á á áList<Country> c =<BR>á á á á á á á á á á q.getResultList(); á á á á á á á á á á á á á á á á á á á á á á á áreturn (List<T>) c;<BR>á á á á á á á á á á á á á á á á á}finally{<BR>á á á á á á á á á á á á á á á á á á á á áif (em != null &&<BR>á á á á á á á á á áem.isOpen()) {<BR>á á á á á á á á á á á á á á á á á á á á á á áem.close();<BR>á á á á á á á á á á á á á á á á á á á á á}<BR>á á á á á á á á á á á á á á á á á} á á á á á á á á}<BR><BR><BR>á á á á á á á á á á á á á }<BR><BR>á á á á á á á á á á á á á I have my Jersey resource class:<BR><BR>á á á á á á á á á á á á á @Path("/user/")<BR>á á á á á á á á á á á á á public class UserResource {<BR>á á á á á á á á á á á á á á á á@GET<BR>á á á á á á á á á á á á á á á@Produces("text/plain")<BR>á á á á á á á á á á á á á á ápublic String registerUser(){<BR>á á á á á á á á á á á á á á á á á á á á á á á á BaseDAO<Country><BR>á á á á á á á á á ácountryDAO = new BaseDAO<Country>();<BR>á á á á á á á á á á á á á á á á á á List<Country> c =<BR>á á á á á á á á á ácountryDAO.ListCountry();<BR>á á á á á á á á á á á á á á á á á á áString y = "";<BR>á á á á á á á á á á á á á á á á á á á á á á á á á áfor(Country x: c){<BR>á á á á á á á á á á á á á á á á á á á á á áy = y + ":" +x.getName();<BR>á á á á á á á á á á á á á á á á á á á á} á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á á áreturn "[Country List]:"+y;<BR><BR>á á á á á á á á á á á á á á á}<BR><BR>á á á á á á á á á á á á á -- á á á áAtenciosamente,<BR><BR>á á á á á á á á á á á á á Roan Brasil Monteiro<BR>á á á á á á á á á á á á á <A href="http://roanbrasil.wordpress.com/">http://roanbrasil.wordpress.com/</A><BR><BR><BR><BR><BR><BR>á á á á á á á á á á-- á á á á á á á á á áAtenciosamente,<BR><BR>á á á á á á á á á áRoan Brasil Monteiro<BR>á á á á á á á á á á<A href="http://roanbrasil.wordpress.com/">http://roanbrasil.wordpress.com/</A><BR><BR><BR><BR><BR><BR>á á á á á á-- á á á á á áAtenciosamente,<BR><BR>á á á á á áRoan Brasil Monteiro<BR>á á á á á á<A href="http://roanbrasil.wordpress.com/">http://roanbrasil.wordpress.com/</A><BR><BR><BR><BR><BR>á á á á-- á á á áAtenciosamente,<BR><BR>á á á áRoan Brasil Monteiro<BR>á á á á<A href="http://roanbrasil.wordpress.com/">http://roanbrasil.wordpress.com/</A><BR></DIV></DIV></BLOCKQUOTE>
<DIV>
<DIV></DIV>
<DIV class=h5><BR><BR><BR><BR><BR>á á-- á áAtenciosamente,<BR><BR>á áRoan Brasil Monteiro<BR>á á<A href="http://roanbrasil.wordpress.com/">http://roanbrasil.wordpress.com/</A><BR></DIV></DIV></BLOCKQUOTE>
<DIV>
<DIV></DIV>
<DIV class=h5><BR><BR><BR><BR><BR>-- <BR>Atenciosamente,<BR><BR>Roan Brasil Monteiro<BR><A href="http://roanbrasil.wordpress.com/">http://roanbrasil.wordpress.com/</A><BR></DIV></DIV></BLOCKQUOTE><BR><BR></BLOCKQUOTE><BR></BLOCKQUOTE></DIV><BR><BR clear=all><BR>-- <BR>Atenciosamente,<BR><BR>Roan Brasil Monteiro<BR><A href="http://roanbrasil.wordpress.com/">http://roanbrasil.wordpress.com/</A><BR> <br /><hr />Download Messenger onto your mobile for free. <a href='http://clk.atdmt.com/UKM/go/174426567/direct/01/' target='_new'>Learn more.</a></body>
</html>
--_0854692d-b34e-4fbc-9da1-778c07f1cab0_--