<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Problema com Hibernate + Spring e Annotations"]]></title>
		<link>http://www.guj.com.br/posts/list/6.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Problema com Hibernate + Spring e Annotations"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Problema com Hibernate + Spring e Annotations</title>
				<description><![CDATA[ Olá pessoas!<br /> Estou configurando uma aplicação para rodar spring, usando hibernate. Configurei o meu bean sessionFactory para injetar nos meus DAOs, da seguinte forma:<br /> <br /> trexo de applicationContext.xml<br /> [code]<br /> &lt;bean 	id="sessionFactory" <br /> 			class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"<br /> 			autowire="byType"&gt;<br /> 				<br /> 		&lt;property name="dataSource"&gt;<br /> 			&lt;ref bean="dataSource"/&gt;<br /> 		&lt;/property&gt;<br /> 		&lt;property name="hibernateProperties"&gt;<br /> 		    &lt;props&gt;<br /> 		        &lt;prop key="hibernate.dialect"&gt;<br /> 		            org.hibernate.dialect.PostgreSQLDialect<br /> 		        &lt;/prop&gt;<br /> 		        &lt;prop key="hibernate.hbm2ddl.auto"&gt;update&lt;/prop&gt;<br /> 		    &lt;/props&gt;<br /> 		&lt;/property&gt;<br /> 	<br /> 		&lt;property name="annotatedClasses"&gt;<br />                                          &lt;!-- mapeamento das minhas classes anotadas --&gt;<br />                                 &lt;/property&gt;<br /> 		<br /> &lt;/bean&gt;<br /> [/code]<br /> <br /> Estou injetando esse bean sessionFactory via anotação @Resource(name="sessionFactory") nos meus daos da seguinte forma:<br /> <br /> [code]<br /> @Service("meuDao")<br /> public class MeuDAO extends HibernateDaoSupport{<br />    <br />    @Resource(name="sessionFactory")<br />    private SessionFactory sessionFactory;<br /> <br />    (...)<br /> [/code]<br /> <br /> o problema é que não funciona. Na hora que o spring instancia o bean do dao, ele dá o seguinte erro:<br /> <br /> [code]<br /> org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'meuDao': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required<br /> [/code]<br /> <br /> é como se o spring não injetasse o sessionFactory via annotation. O detalhe é que se eu injetar o sessionFactory no meu dao pelo xml, funciona corretamente. Aí me vem um problema, TODO dao que eu implementar eu vou ter que declarar seu bean no xml e fazer a injeção por lá.<br /> Outro problema é que eu tenho um Controller onde todos meus MBeans herdam dele, e esse controller possui um dao injetado via Spring. Mas quando eu crio um MBean que herda desse Controller, o dao aparece como null, é como se o Spring não injetasse a dependência quando eu faço herança.<br /> <br /> <br /> Estou fazendo alguma coisa errado? Se alguém puder me ajudar fico muito grato, já busquei em vários sites mas não consegui resolver o problema até o momento.<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/136192/732863/problema-com-hibernate--spring-e-annotations
</guid>
				<link>http://www.guj.com.br/prepost/136192/732863/problema-com-hibernate--spring-e-annotations
</link>
				<pubDate><![CDATA[Wed, 26 Aug 2009 12:20:59]]> GMT</pubDate>
				<author><![CDATA[ Pedro_V?or]]></author>
			</item>
			<item>
				<title>Re:Problema com Hibernate + Spring e Annotations</title>
				<description><![CDATA[ to com o mesmo problema, descobriu a solução!?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/136192/737966/reproblema-com-hibernate--spring-e-annotations
</guid>
				<link>http://www.guj.com.br/prepost/136192/737966/reproblema-com-hibernate--spring-e-annotations
</link>
				<pubDate><![CDATA[Thu, 3 Sep 2009 17:00:31]]> GMT</pubDate>
				<author><![CDATA[ grsouza]]></author>
			</item>
			<item>
				<title>Re:Problema com Hibernate + Spring e Annotations</title>
				<description><![CDATA[ Como está o web.xml ?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/136192/738691/reproblema-com-hibernate--spring-e-annotations
</guid>
				<link>http://www.guj.com.br/prepost/136192/738691/reproblema-com-hibernate--spring-e-annotations
</link>
				<pubDate><![CDATA[Fri, 4 Sep 2009 16:32:47]]> GMT</pubDate>
				<author><![CDATA[ rubensdemelo]]></author>
			</item>
			<item>
				<title>Re:Problema com Hibernate + Spring e Annotations</title>
				<description><![CDATA[ Rubens, resolvi o problema injetando o SessionFactory na mão, estou usando uma solução mista do Spring AppContext.xml com o Spring javaConfig<br /> meus Beans/Controllers/Repository to mapenando com annotations. O DataSource, o Hibernateproperties e o SessionFactory to mapenado no com o xml.<br /> <br /> ApplicationContext.xml<br /> [code]<br /> &lt;?xml version="1.0" encoding="UTF-8"?&gt;<br /> &lt;beans <br /> 	xmlns="http://www.springframework.org/schema/beans" <br /> 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <br /> 	xmlns:tx="http://www.springframework.org/schema/tx" <br /> 	xmlns:aop="http://www.springframework.org/schema/aop"<br /> 	xmlns:context="http://www.springframework.org/schema/context"<br /> 	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd<br />        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd<br />        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd<br />        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"<br /> 	default-autowire="byName" default-lazy-init="false"&gt;<br /> 	<br /> 	&lt;context:annotation-config /&gt;<br /> 	<br /> 	&lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"&gt;  <br /> 		&lt;property name="driverClassName" value="org.postgresql.Driver" /&gt;  <br /> 		&lt;property name="url" value="jdbc:postgresql://localhost:5432/testedb" /&gt;  <br /> 		&lt;property name="username" value="teste" /&gt;  <br /> 		&lt;property name="password" value="123456" /&gt;  <br /> 	&lt;/bean&gt;<br /> 	<br /> 	&lt;bean id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"&gt;<br /> 		&lt;property name="properties"&gt;<br /> 			&lt;props&gt;<br /> 				&lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.PostgreSQLDialect&lt;/prop&gt;<br /> 				&lt;prop key="hibernate.show_sql"&gt;true&lt;/prop&gt;<br /> 				&lt;prop key="hibernate.c3p0.minPoolSize"&gt;5&lt;/prop&gt;<br /> 				&lt;prop key="hibernate.c3p0.maxPoolSize"&gt;20&lt;/prop&gt;<br /> 				&lt;prop key="hibernate.c3p0.timeout"&gt;600&lt;/prop&gt;<br /> 				&lt;prop key="hibernate.c3p0.max_statement"&gt;50&lt;/prop&gt;<br /> 				&lt;prop key="hibernate.c3p0.testConnectionOnCheckout"&gt;false&lt;/prop&gt;<br /> 			&lt;/props&gt;<br /> 		&lt;/property&gt;<br /> 	&lt;/bean&gt;<br /> 	<br /> 	&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"&gt;<br /> 		&lt;property name="dataSource"&gt;<br /> 			&lt;ref local="dataSource"/&gt;<br /> 		&lt;/property&gt;<br /> 		&lt;property name="hibernateProperties"&gt;<br /> 			&lt;ref bean="hibernateProperties" /&gt;<br /> 		&lt;/property&gt;<br /> 		&lt;property name="packagesToScan" value="teste.bean"/&gt;<br /> 	&lt;/bean&gt;<br /> 		 	 <br /> &lt;/beans&gt;<br /> [/code]<br /> <br /> Acao.java<br /> [code]<br /> /*<br />  * To change this template, choose Tools | Templates<br />  * and open the template in the editor.<br />  */<br /> <br /> package teste.bean;<br /> <br /> import java.io.Serializable;<br /> import javax.persistence.Basic;<br /> import javax.persistence.Column;<br /> import javax.persistence.Entity;<br /> import javax.persistence.GeneratedValue;<br /> import javax.persistence.GenerationType;<br /> import javax.persistence.Id;<br /> import javax.persistence.SequenceGenerator;<br /> import javax.persistence.Table;<br /> <br /> /**<br />  *<br />  * @author Guilherme<br />  */<br /> @Entity<br /> @Table(name = "acao")<br /> public class Acao implements Serializable, GenericBean {<br />     private static final long serialVersionUID = 1L;<br />     @Id<br />     @SequenceGenerator(name="codAcao", sequenceName="acao_codacao_seq")<br />     @GeneratedValue(strategy=GenerationType.AUTO, generator="codAcao")<br />     @Basic(optional = false)<br />     @Column(name = "codAcao")<br />     private Integer codAcao;<br />     @Basic(optional = false)<br />     @Column(name = "nomeAcao")<br />     private String nomeAcao;<br />     @Column(name = "descAcao")<br />     private String descAcao;<br />     @Basic(optional = false)<br />     @Column(name = "statusAcao")<br />     private boolean statusAcao;<br /> <br />     /**<br />        * Sets, Gets and Constructors<br />        *<br />        */<br /> <br /> }<br /> [/code]<br /> <br /> InterfaceAcaoDao.java<br /> [code]<br /> package teste.dao;<br /> <br /> import teste.bean.Acao;<br /> <br /> public interface InterfaceAcaoDao extends InterfaceBaseDao&lt;Acao,Integer&gt;{ }<br /> [/code]<br /> <br /> AcaoDaoImpl.java (to usando generics)<br /> [code]<br /> package teste.dao.imp;<br /> <br /> import teste.bean.Acao;<br /> import teste.dao.InterfaceAcaoDao;<br /> <br /> public class AcaoDaoImpl <br /> 	extends BaseDaoImpl&lt;Acao, Integer&gt; <br /> 	implements InterfaceAcaoDao {<br /> <br />     public AcaoDaoImpl() {<br />         super(Acao.class);<br />     }<br /> }<br /> [/code]<br /> <br /> InterfaceAcaoMB.java <br /> AcaoMBImpl.java ........<br /> <br /> Ai no Construtor do BaseDaoImpl:<br /> [code]<br /> public class BaseDaoImpl&lt;T extends GenericBean, PK extends Serializable&gt; <br /> 		extends HibernateDaoSupport <br /> 		implements InterfaceBaseDao&lt;T, PK&gt; {<br /> 	<br /> 	private final Class&lt;T&gt; objectClass;<br /> <br />     public BaseDaoImpl(Class&lt;T&gt; objectClass) {<br />         this.objectClass = objectClass;<br />         this.setSessionFactory( SpringAccess.getSessionFactory() );<br />     }<br /> ........<br /> [/code]<br /> <br /> SpringAccess é uma classe static para retorno dos beans e mapeamentos feitos.<br /> <br /> levei quase 2 dias pra achar essa solução =/<br /> estou prototipando uma estrutura para a nova versão do sistema, Spring ( JavaConfig, ORM, Security, MVC, WebFlow, Hibernate+Criteria, Richface, iReport, WebService )<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/136192/738721/reproblema-com-hibernate--spring-e-annotations
</guid>
				<link>http://www.guj.com.br/prepost/136192/738721/reproblema-com-hibernate--spring-e-annotations
</link>
				<pubDate><![CDATA[Fri, 4 Sep 2009 16:59:38]]> GMT</pubDate>
				<author><![CDATA[ grsouza]]></author>
			</item>
			<item>
				<title>Re:Problema com Hibernate + Spring e Annotations</title>
				<description><![CDATA[ [quote=grsouza]Rubens, resolvi o problema injetando o SessionFactory na mão, estou usando uma solução mista do Spring AppContext.xml com o Spring javaConfig<br /> meus Beans/Controllers/Repository to mapenando com annotations. O DataSource, o Hibernateproperties e o SessionFactory to mapenado no com o xml.<br /> [b]...[/b]<br /> SpringAccess é uma classe static para retorno dos beans e mapeamentos feitos.[/quote]Olá grsouza;<br /> <br /> Tambem estou recebendo o maldito "IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required" mesmo tendo configurado o sessionFactory pro DAO corretamente.<br /> Mas estou tendo problemas pra implementar uma solução parecida com a sua. Como vc utiliza seu SpringAccess ? É algo tipo @Component @Scope e a propriedade sessionFactory com @Autowired; ou é com new ClassPathXmlApplicationContext ?<br /> <br /> Abaixo estão disponíveis os códigos das 2 soluções que tentei. <br /> Com a [b]implementação1[/b] que fiz do SpringXmlAccess; o início do contexto da aplicação está caindo em loop infinito  :shock: <br /> E com a [b]implementação2[/b] (SpringAnnotationAccess) está dando aquele problema: "Unsatisfied dependency of type [interface org.hibernate.SessionFactory]: expected at least 1 matching bean". Já tentei colocar o setSessionFactory no construtor do AbstractDAO assim como vc fez; e tambem coloca-lo com @PostConstruct no SiteRemotoHibernateDAOImpl.<br /> <br /> applicationContext-persistence.xml:[code]&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br /> &lt;beans	xmlns="http://www.springframework.org/schema/beans" <br /> 		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <br /> 		xmlns:context="http://www.springframework.org/schema/context" <br /> 		xmlns:jee="http://www.springframework.org/schema/jee" <br /> 		xmlns:util="http://www.springframework.org/schema/util" <br /> 		xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd <br /> 							http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd <br /> 							http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd <br /> 							http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd <br /> 							http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd" <br /> 	default-autowire="byName"&gt;<br /> <br /> <br />     &lt;bean id="dataSource1" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt;<br />         &lt;property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/&gt;<br />         &lt;property name="url" value="jdbc:oracle:thin:@************:1521:xe"/&gt;<br />         &lt;property name="username" value="********"/&gt;<br />         &lt;property name="password" value="***********"/&gt;<br />     &lt;/bean&gt;<br /> <br />     &lt;bean id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"&gt;  <br />         &lt;property name="properties"&gt;  <br />             &lt;props&gt;<br />                 &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.Oracle10gDialect&lt;/prop&gt;  <br />                 &lt;prop key="hibernate.show_sql"&gt;false&lt;/prop&gt;  <br /> 				&lt;prop key="hibernate.jdbc.wrap_result_sets"&gt;false&lt;/prop&gt;<br /> 				&lt;prop key="hibernate.transaction.manager_lookup_class"&gt;org.hibernate.transaction.WebSphereExtendedJTATransactionLookup&lt;/prop&gt;<br />             &lt;/props&gt;  <br />         &lt;/property&gt;  <br />     &lt;/bean&gt;  <br /> <br /> 	&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"&gt;<br /> 		&lt;property name="dataSource"&gt;<br /> 			&lt;ref local="dataSource1"/&gt;<br /> 		&lt;/property&gt;<br /> 		&lt;property name="hibernateProperties"&gt;<br /> 			&lt;ref bean="hibernateProperties" /&gt;<br /> 		&lt;/property&gt;<br /> 		&lt;property name="packagesToScan"  value="com.altec.bsbr.app.gac.entity"/&gt;<br /> 	&lt;/bean&gt;<br /> <br /> 	&lt;bean id="siteRemotoHibernateDAO" class="com.altec.bsbr.app.gac.dao.impl.SiteRemotoHibernateDAOImpl" &gt;<br />             &lt;property name="sessionFactory"&gt;&lt;ref local="sessionFactory"/&gt;&lt;/property&gt;<br />         &lt;/bean&gt;<br /> <br /> &lt;/beans&gt;<br /> [/code]Exceção antes das soluções abaixo:[quote]org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'siteRemotoHibernateDAOImpl' defined in file [C:\Arquivos de programas\IBM\WebSphere\AppServer1\profiles\AppSrv01\installedApps\O360UDI17Node01Cell\GAC.ear\gac.war\WEB-INF\classes\com\altec\bsbr\app\gac\dao\impl\SiteRemotoHibernateDAOImpl.class]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required<br /> Caused by: java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' is required<br /> 	at org.springframework.orm.hibernate3.support.HibernateDaoSupport.checkDaoConfig(HibernateDaoSupport.java:117)<br /> 	at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)<br /> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)<br /> 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)<br /> 	... 108 more[/quote]<br /> <br /> SiteRemotoHibernateDaoImpl:[code]@Repository<br /> public class SiteRemotoHibernateDAOImpl extends AbstractHibernateDAO&lt;SiteRemoto, Long&gt; implements<br />     SiteRemotoHibernateDAO {<br /> <br />     /**<br />     @Autowired<br />     SessionFactory sessionFactory;<br /> <br />     @PostConstruct<br />     public void init() {<br />         setSessionFactory(sessionFactory);<br />     }<br />     */<br /> <br />     public SiteRemotoHibernateDAOImpl() {<br />         super();<br />     }[/code]AbstractHibernateDAO:[code]public abstract class AbstractHibernateDAO&lt;ENTITY extends EntityBean, PK extends Serializable&gt;<br />     extends HibernateDaoSupport implements AbstractDAOPublic&lt;ENTITY, PK&gt;, PropertySelector {<br /> <br />     private Class&lt;ENTITY&gt; persistentClass;<br /> <br />     @Autowired<br />     private SpringAnnotationAccess springAnnotationAccess;<br /> <br />     public void setSpringAnnotationAccess(SpringAnnotationAccess springAnnotationAccess) {<br />         this.springAnnotationAccess = springAnnotationAccess;<br />     }<br /> <br />     @SuppressWarnings("unchecked")<br />     public AbstractHibernateDAO() {<br />         try {<br />             persistentClass = (Class&lt;ENTITY&gt;) ((ParameterizedType) getClass().getGenericSuperclass())<br />                 .getActualTypeArguments()[0];<br />             this.setSessionFactory(springAnnotationAccess.getSessionFactory());<br />             //            this.setSessionFactory(SpringXmlAccess.getSessionFactory()); //loop-infinito<br />         }<br />         catch (Exception e) {<br />             LOGGER.error(ExceptionUtils.getStackTrace(e));<br />         }<br />         finally {<br />         }<br />     }[/code]#############<br /> IMPLEMENTAÇÃO-2<br /> #############<br /> PROBLEMA: Unsatisfied dependency of type [interface org.hibernate.SessionFactory]: expected at least 1 matching bean<br /> SpringAnnotationAccess.java:[code]@Component<br /> @Scope("singleton")<br /> public final class SpringAnnotationAccess {<br /> <br /> <br />     @Autowired<br />     private SessionFactory sessionFactory;<br /> <br />     public SessionFactory getSessionFactory() {<br />         return sessionFactory;<br />     }<br /> <br />     public void setSessionFactory(SessionFactory sessionFactory) {<br />         this.sessionFactory = sessionFactory;<br />     }<br /> <br />     /**<br />      * <br />      */<br />     public SessionFactory getTheSessionFactory() {<br />         return getSessionFactory();<br />     }<br /> <br /> }[/code]#############<br /> IMPLEMENTAÇÃO-1<br /> #############<br /> PROBLEMA: loop infinito na inicialização do contexto (start do servidor websphere)<br /> SpringXmlAccess.java:[code]public final class SpringXmlAccess {<br /> <br />     public static SessionFactory getSessionFactory() {<br /> <br />         ApplicationContext appCtx = new ClassPathXmlApplicationContext(<br />             new String[] { "applicationContext-persistence.xml" });<br />         SessionFactory sessionFactory = (SessionFactory) appCtx.getBean("sessionFactory", SessionFactory.class);<br />         return sessionFactory;<br /> <br />     }<br /> <br /> }[/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/136192/990852/reproblema-com-hibernate--spring-e-annotations
</guid>
				<link>http://www.guj.com.br/prepost/136192/990852/reproblema-com-hibernate--spring-e-annotations
</link>
				<pubDate><![CDATA[Fri, 5 Feb 2010 10:18:04]]> GMT</pubDate>
				<author><![CDATA[ romuloff]]></author>
			</item>
			<item>
				<title>Re:Problema com Hibernate + Spring e Annotations</title>
				<description><![CDATA[ [b]Resolví ![/b]<br /> <br /> Nem utilizei o SpringXmlAccess ou SpringAnnotationAccess no AbstractHibernateDAO.<br /> Coloquei a injeção direto do xml.[code]	&lt;bean id="siteRemotoHibernateDAO" class="com.altec.bsbr.app.gac.dao.impl.SiteRemotoHibernateDAOImpl"&gt;<br /> 		&lt;property name="sessionFactory" ref="sessionFactory" /&gt;<br /> 	&lt;/bean&gt;[/code]E pra resolver o problema de vez removí a linha do "hibernate.transaction.manager_lookup_class" que estava causando problemas (org.hibernate.transaction.WebSphereExtendedJTATransactionLookup). Creio que o fato é porque estou utilizando o [b]quartz[/b]. E apesar do chamado estar partindo do websphere ele fica isolado do contexto do servidor de aplicação.<br /> <br /> O problema que este transaction lookup estava causando está abaixo:[quote][08/02/10 13:59:38:796 ACT] 00000068 javaURLContex E   NMSV0310E: Uma operação JNDI em um nome "java:" não pode ser concluída porque o tempo de execução do servidor não é capaz de associar o encadeamento da operação com qualquer componente de aplicativo J2EE.  Essa condição pode ocorrer quando o cliente JNDI utilizando o nome "java:" não é executado no encadeamento de um pedido de aplicativo do servidor.  Certifique-se de que um aplicativo J2EE não execute operações JNDI em nomes "java:" dentro de blocos de código estático ou em encadeamentos criados pelo aplicativo J2EE.  Esse código não executa necessariamente no encadeamento de um pedido de aplicativo do servidor e, portanto, não é suportado por operações JNDI em nomes "java:".  Rastreio da pilha de exceções: <br /> javax.naming.ConfigurationException [Root exception is javax.naming.NameNotFoundException: Name comp/websphere not found in context "java:".]<br /> 	at com.ibm.ws.naming.java.javaURLContextImpl.throwConfigurationExceptionWithDefaultJavaNS(javaURLContextImpl.java:411)<br /> 	at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:388)<br /> 	at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:205)<br /> 	at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:145)<br /> 	at javax.naming.InitialContext.lookup(InitialContext.java:363)<br /> 	at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter$TransactionAdapter.&lt;init&gt;(WebSphereExtendedJTATransactionLookup.java:183)<br /> 	at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter$TransactionAdapter.&lt;init&gt;(WebSphereExtendedJTATransactionLookup.java:178)<br /> 	at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.getTransaction(WebSphereExtendedJTATransactionLookup.java:140)<br /> 	at org.springframework.orm.hibernate3.SessionFactoryUtils.registerJtaSynchronization(SessionFactoryUtils.java:448)<br /> 	at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:346)<br /> 	at org.springframework.orm.hibernate3.SessionFactoryUtils.getSession(SessionFactoryUtils.java:235)<br /> 	at org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:167)<br /> 	at org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:142)<br /> 	at com.altec.bsbr.app.gac.dao.impl.AbstractHibernateDAO.getHibernateSession(AbstractHibernateDAO.java:241)<br /> 	at com.altec.bsbr.app.gac.dao.impl.AbstractHibernateDAO.buscaTudo(AbstractHibernateDAO.java:106)<br /> 	at com.altec.bsbr.app.gac.service.impl.JobTeste.execute(JobTeste.java:74)<br /> 	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)<br /> 	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534)<br /> Caused by: javax.naming.NameNotFoundException: Name comp/websphere not found in context "java:".<br /> 	at com.ibm.ws.naming.ipbase.NameSpace.getParentCtxInternal(NameSpace.java:1767)<br /> 	at com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1083)<br /> 	at com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:991)<br /> 	at com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1263)<br /> 	at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:384)<br /> 	... 16 more<br />  <br /> [08/02/10 13:59:38:796 ACT] 00000068 SystemOut     O 13:59:38.796 [gacSchedulerFactoryBean_Worker-5] ERROR c.a.b.app.gac.service.impl.JobTeste - org.springframework.dao.DataAccessResourceFailureException: Could not register synchronization with JTA TransactionManager; nested exception is org.hibernate.HibernateException: javax.naming.ConfigurationException: A JNDI operation on a "java:" name cannot be completed because the serverruntime is not able to associate the operation's thread with any J2EE application component.  This condition can occur when the JNDI client using the "java:" name is not executed on the thread of a server application request.  Make sure that a J2EE application does not execute JNDI operations on "java:" names within static code blocks or in threads created by that J2EE application.  Such code does not necessarily run on the thread of a server application request and therefore is not supported by JNDI operations on "java:" names. [Root exception is javax.naming.NameNotFoundException: Name comp/websphere not found in context "java:".]<br /> 	at org.springframework.orm.hibernate3.SessionFactoryUtils.registerJtaSynchronization(SessionFactoryUtils.java:474)<br /> 	at org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:346)<br /> 	at org.springframework.orm.hibernate3.SessionFactoryUtils.getSession(SessionFactoryUtils.java:235)<br /> 	at org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:167)<br /> 	at org.springframework.orm.hibernate3.support.HibernateDaoSupport.getSession(HibernateDaoSupport.java:142)<br /> 	at com.altec.bsbr.app.gac.dao.impl.AbstractHibernateDAO.getHibernateSession(AbstractHibernateDAO.java:241)<br /> 	at com.altec.bsbr.app.gac.dao.impl.AbstractHibernateDAO.buscaTudo(AbstractHibernateDAO.java:106)<br /> 	at com.altec.bsbr.app.gac.service.impl.JobTeste.execute(JobTeste.java:74)<br /> 	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)<br /> 	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534)<br /> Caused by: org.hibernate.HibernateException: javax.naming.ConfigurationException: A JNDI operation on a "java:" name cannot be completed because the serverruntime is not able to associate the operation's thread with any J2EE application component.  This condition can occur when the JNDI client using the "java:" name is not executed on the thread of a server application request.  Make sure that a J2EE application does not execute JNDI operations on "java:" names within static code blocks or in threads created by that J2EE application.  Such code does not necessarily run on the thread of a server application request and therefore is not supported by JNDI operations on "java:" names. [Root exception is javax.naming.NameNotFoundException: Name comp/websphere not found in context "java:".]<br /> 	at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter$TransactionAdapter.&lt;init&gt;(WebSphereExtendedJTATransactionLookup.java:188)<br /> 	at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter$TransactionAdapter.&lt;init&gt;(WebSphereExtendedJTATransactionLookup.java:178)<br /> 	at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter.getTransaction(WebSphereExtendedJTATransactionLookup.java:140)<br /> 	at org.springframework.orm.hibernate3.SessionFactoryUtils.registerJtaSynchronization(SessionFactoryUtils.java:448)<br /> 	... 9 more<br /> Caused by: javax.naming.ConfigurationException: A JNDI operation on a "java:" name cannot be completed because the serverruntime is not able to associate the operation's thread with any J2EE application component.  This condition can occur when the JNDI client using the "java:" name is not executed on the thread of a server application request.  Make sure that a J2EE application does not execute JNDI operations on "java:" names within static code blocks or in threads created by that J2EE application.  Such code does not necessarily run on the thread of a server application request and therefore is not supported by JNDI operations on "java:" names. [Root exception is javax.naming.NameNotFoundException: Name comp/websphere not found in context "java:".]<br /> 	at com.ibm.ws.naming.java.javaURLContextImpl.throwConfigurationExceptionWithDefaultJavaNS(javaURLContextImpl.java:416)<br /> 	at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:388)<br /> 	at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:205)<br /> 	at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:145)<br /> 	at javax.naming.InitialContext.lookup(InitialContext.java:363)<br /> 	at org.hibernate.transaction.WebSphereExtendedJTATransactionLookup$TransactionManagerAdapter$TransactionAdapter.&lt;init&gt;(WebSphereExtendedJTATransactionLookup.java:183)<br /> 	... 12 more<br /> Caused by: javax.naming.NameNotFoundException: Name comp/websphere not found in context "java:".<br /> 	at com.ibm.ws.naming.ipbase.NameSpace.getParentCtxInternal(NameSpace.java:1767)<br /> 	at com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1083)<br /> 	at com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:991)<br /> 	at com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1263)<br /> 	at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:384)<br /> 	... 16 more[/quote]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/136192/992189/reproblema-com-hibernate--spring-e-annotations
</guid>
				<link>http://www.guj.com.br/prepost/136192/992189/reproblema-com-hibernate--spring-e-annotations
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 16:50:48]]> GMT</pubDate>
				<author><![CDATA[ romuloff]]></author>
			</item>
			<item>
				<title>Re:Problema com Hibernate + Spring e Annotations</title>
				<description><![CDATA[ romuloff,<br /> <br />       desculpe a demora a responder, estava ausente do PC (dias de férias) ....<br />       eu acabei usando uma outra abordagem, meus daos extendem de HibernateSupportDao e eu faço o Spring popular por IoC o sessionfactory, e como uso anotação eu não preciso ficar mapeando os Beans no XML nem colocando as properties na mão ... uso @Autowired quando preciso injetar algum Bean<br />       Não to com acesso aos fontes no momento, olhando aqui nos favoritos do meu NB achei dois links que usei como referência:<br /> [url]http://javafree.uol.com.br/artigo/871470/[/url]<br /> [url]http://www.vaannila.com/spring/spring-hibernate-integration-1.html[/url]<br /> <br />       depois de implementar esse exemplo/tutorial na tua aplicação podes evoluir ele para usar as anotacoes do spring <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0"><br /> <br />       não sei se fui de muita ajuda, qualquer coisa da um berro ai que amanhã eu posto parte dos fontes.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/136192/992256/reproblema-com-hibernate--spring-e-annotations
</guid>
				<link>http://www.guj.com.br/prepost/136192/992256/reproblema-com-hibernate--spring-e-annotations
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 19:37:18]]> GMT</pubDate>
				<author><![CDATA[ grsouza]]></author>
			</item>
			<item>
				<title>Re:Problema com Hibernate + Spring e Annotations</title>
				<description><![CDATA[ [quote=grsouza]acabei usando uma outra abordagem, meus daos extendem de HibernateSupportDao e eu faço o Spring popular por IoC o sessionfactory, e como uso anotação eu não preciso ficar mapeando os Beans no XML nem colocando as properties na mão ... uso @Autowired quando preciso injetar algum Bean<br />       Não to com acesso aos fontes no momento, olhando aqui nos favoritos do meu NB achei dois links que usei como referência:<br /> [url]http://javafree.uol.com.br/artigo/871470/[/url]<br /> [url]http://www.vaannila.com/spring/spring-hibernate-integration-1.html[/url][/quote]Sim. Utilizar @Autowired é muito bom. A minha aplicação até que já utiliza esta facilidade (@Service, @Component, @Repository, etc); quando o escopo é a aplicação rodando no Websphere.<br /> <br /> Mas é que precisei de montar esse outro contexto para quando a aplicação chamar Job's do Quartz.<br /> Com o Quartz não consegui achar nenhuma referencia utilizando injeção somente por annotation.  <img src="http://www.guj.com.br/images/smilies/2e207fad049d4d292f60607f80f05768.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/136192/992306/reproblema-com-hibernate--spring-e-annotations
</guid>
				<link>http://www.guj.com.br/prepost/136192/992306/reproblema-com-hibernate--spring-e-annotations
</link>
				<pubDate><![CDATA[Mon, 8 Feb 2010 22:11:44]]> GMT</pubDate>
				<author><![CDATA[ romuloff]]></author>
			</item>
			<item>
				<title>Re:Problema com Hibernate + Spring e Annotations</title>
				<description><![CDATA[ então, nunca mexi com Quartz ... achei na net esse Annotation-Custom do Spring pra Jobs-Schedule ... veja se vai te ajudar em algo:<br /> [url]http://code.google.com/p/spring-custom-annotations/[/url]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/136192/992410/reproblema-com-hibernate--spring-e-annotations
</guid>
				<link>http://www.guj.com.br/prepost/136192/992410/reproblema-com-hibernate--spring-e-annotations
</link>
				<pubDate><![CDATA[Tue, 9 Feb 2010 09:20:01]]> GMT</pubDate>
				<author><![CDATA[ grsouza]]></author>
			</item>
	</channel>
</rss>
