<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Recuperando um DAO"]]></title>
		<link>http://www.guj.com.br/posts/list/7.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Recuperando um DAO"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Recuperando um DAO</title>
				<description><![CDATA[ Como eu faço para recuperar um DAO? O glassfish não teria que fazer a injection? Estou recebendo o seguinte erro:<br /> [code]<br /> INFO: java.lang.Throwable: java.lang.NullPointerException<br />         at gateway.dao.QueueDAO.getPackages(QueueDAO.java:56)<br />         at gateway.test.ee.dao.TestQueueDAO.processRequest(TestQueueDAO.java:41)<br />         at gateway.test.ee.dao.TestQueueDAO.doGet(TestQueueDAO.java:75)<br /> [/code]<br /> No spring eu pego esta classe através do context, para que o spring faça as injections, como seria no glassfish?<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197036/988177/recuperando-um-dao
</guid>
				<link>http://www.guj.com.br/prepost/197036/988177/recuperando-um-dao
</link>
				<pubDate><![CDATA[Mon, 1 Feb 2010 18:13:55]]> GMT</pubDate>
				<author><![CDATA[ Jedi_FeniX]]></author>
			</item>
			<item>
				<title>Re:Recuperando um DAO</title>
				<description><![CDATA[ Esqueci de colocar a DAO:<br /> [code]<br /> public class QueueDAO {<br /> <br />     private String token;<br />     <br />     @PersistenceContext( name = "jdbc/gateway" )<br />     private EntityManager entityManager;<br />     <br />     private final static Logger LOGGER = Logger.getLogger( QueueDAO.class );<br /> <br />     public QueueDAO() {<br />     }<br /> <br />     public EntityManager getEntityManager() {<br />         return entityManager;<br />     }<br /> <br />     public void setEntityManager(EntityManager entityManager) {<br />         this.entityManager = entityManager;<br />     }<br /> <br />     public Collection&lt;Package&gt; getPackages(Long idSMS, int limit) {<br />         long startTime = System.currentTimeMillis();<br />         String query = "select * from \"queue\".\"get_queue_to_send\"( ?, ? ) as (id_queue bigint,id_application integer," +<br />                 "msisdn varchar,message varchar,more_info varchar,la varchar,type_server varchar,\"class\" varchar," +<br />                 "ip varchar,port integer,\"path\" varchar,weight integer);";<br />         Collection&lt;Package&gt; packages = null;<br />         try {<br />             packages = this.getEntityManager().createNativeQuery( query )<br />                     .setParameter( 1, idSMS )<br />                     .setParameter( 2, limit )<br />                     .getResultList();<br />         } catch(Exception e) {<br />             LOGGER.error( this.token, new Throwable( e ) );<br />         }<br />         return packages;<br />     }<br /> <br /> }[/code]<br /> <br /> A minha classe que está instanciando o DAO é um servlet, abaixo segue um método que a servlet possui:<br /> [code]<br /> protected void processRequest(HttpServletRequest request, HttpServletResponse response)<br />     throws ServletException, IOException {<br />         response.setContentType("text/html;charset=UTF-8");<br />         PrintWriter out = response.getWriter();<br />         try {<br /> <br />             QueueDAO dao = new QueueDAO();<br />             try {<br />                 Collection&lt;Package&gt; packages = dao.getPackages( 5L, 100 );<br />                 for (Package pkg : packages) {<br />                     out.println( pkg.getCustomer().getMsisdn() );<br />                 }<br />             } catch(Exception e) {<br />                 e.printStackTrace();<br />             }<br />         } finally { <br />             out.close();<br />         }<br />     } [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197036/988194/rerecuperando-um-dao
</guid>
				<link>http://www.guj.com.br/prepost/197036/988194/rerecuperando-um-dao
</link>
				<pubDate><![CDATA[Mon, 1 Feb 2010 18:50:53]]> GMT</pubDate>
				<author><![CDATA[ Jedi_FeniX]]></author>
			</item>
			<item>
				<title>Re:Recuperando um DAO</title>
				<description><![CDATA[ Para que você tenha este tipo de injeção vc teria que estar trabalhando com EJB, ou seja, seu dao teria que ser um ejb para que ao criar o DAO ele injete o que for necessario, neste caso seu DAO eh um simples POJO, vc pode embutir o spring no glassfish normal ou entao criar um componente EJB.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197036/988197/rerecuperando-um-dao
</guid>
				<link>http://www.guj.com.br/prepost/197036/988197/rerecuperando-um-dao
</link>
				<pubDate><![CDATA[Mon, 1 Feb 2010 19:01:16]]> GMT</pubDate>
				<author><![CDATA[ leosouzabh]]></author>
			</item>
			<item>
				<title>Re:Recuperando um DAO</title>
				<description><![CDATA[ Eu já trabalho com o Spring e agora fiquei em dúvida, colocar o spring para gerenciar as DAOs? OU deixar o glassfish gerenciar as DAOs? E como eu criaria este EJB? ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197036/988202/rerecuperando-um-dao
</guid>
				<link>http://www.guj.com.br/prepost/197036/988202/rerecuperando-um-dao
</link>
				<pubDate><![CDATA[Mon, 1 Feb 2010 19:20:01]]> GMT</pubDate>
				<author><![CDATA[ Jedi_FeniX]]></author>
			</item>
			<item>
				<title>Re:Recuperando um DAO</title>
				<description><![CDATA[ Pelo jeito sua aplicação não necessita de EJB (pois você mesmo disse que não use ele), portanto, aconselho você deixar o Spring injetar o DAO. Já que está usando o Spring, deixe ele fazer o controle das transações também...<br /> <br /> Caso você estivesse usando EJB, ai sim você poderia usar o container para fazer essas injeções (através da anotação @EJB) e o controle de transação (anotações: @REQUIRED, @REQUIRED_NEW, etc etc etc).<br /> <br /> Se quiser entrar no mundo EJB, aconselho estudar a nova versão, EJB 3.1. Nela é possível usar o EJB Light, ou seja, componentes EJB rodando dentro de aplicações web (WAR).<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/197036/988450/rerecuperando-um-dao
</guid>
				<link>http://www.guj.com.br/prepost/197036/988450/rerecuperando-um-dao
</link>
				<pubDate><![CDATA[Tue, 2 Feb 2010 10:35:56]]> GMT</pubDate>
				<author><![CDATA[ Jair Rillo Junior]]></author>
			</item>
	</channel>
</rss>
