Pessoal estou com um problema, estou tendo dificuldades em injetar um DataSource com Spring, estou usando hibernate-3.2.1.ga e WebSphere 6.1
Erro:…
Caused by: org.springframework.jndi.JndiLookupFailureException: JndiObjectTargetSource failed to obtain new target object; nested exception is com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. [Root exception is com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. [Root exception is java.lang.IllegalArgumentException: argument type mismatch]]
Caused by: com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. [Root exception is com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. [Root exception is java.lang.IllegalArgumentException: argument type mismatch]]
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:1021)
at com.ibm.ws.naming.urlbase.UrlContextHelper.processBoundObjectForLookup(UrlContextHelper.java:191)
at com.ibm.ws.naming.java.javaURLContextRoot.processBoundObjectForLookup(javaURLContextRoot.java:407)
at com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1280)
at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:384)
at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:204)
at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:144)
at javax.naming.InitialContext.lookup(InitialContext.java:363)
at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:132)
at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:88)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:130)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:155)
at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:93)
at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)
at org.springframework.jndi.JndiObjectTargetSource.getTarget(JndiObjectTargetSource.java:131)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:184)
at $Proxy6.getConnection(Unknown Source)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:76)
Não esta conseguindo processar o JNDI, porem acredito que esteja tudo em ordem , veja:
meu Web.xml
<resource-ref id="ResourceRef_1330622563413">
<res-ref-name>jdbc/baseDados1</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
meu arquivo de injeção do Hibernate
applicationContext-hibernate.xml
<bean id="dataSourceFini" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/baseDados1"/> // já tentei sem o java:comp/env
<property name="lookupOnStartup" value="false"/>
<property name="cache" value="true"/>
<property name="proxyInterface" value="javax.sql.DataSource"/>
</bean>
<!-- Hibernate SessionFactory -->
<bean id="sessionFactoryHiber" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource"><ref local="dataSourceFini"/></property>
<property name="mappingResources">
<list>
<value>${dataService.dao.hibernate.config.TipoCaptcha.mappingResources}</value>
<value>${dataService.dao.hibernate.config.Palavra.mappingResources}</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<!-- Needed for Datasources -->
<prop key="hibernate.statement_cache.size">
0
</prop>
<!-- General -->
<prop key="hibernate.default_schema">
${dataService.dao.hibernate.config.default_schema}
</prop>
<prop key="hibernate.dialect">
${dataService.dao.hibernate.config.properties.hibernateDialect}
</prop>
<prop key="hibernate.show_sql">
${dataService.dao.hibernate.config.properties.hibernateShowSql}
</prop>
<!-- Disable the second-level cache-->
<prop key="hibernate.cache.use_second_level_cache">
${dataService.dao.hibernate.config.properties.hibernateCacheUsedSecondLevelCache}
</prop>
<!-- Enable Hibernate's automatic session context management -->
<prop key="current_session_context_class">
${dataService.dao.hibernate.config.properties.hibernateCurrentSessionContextClass}
</prop>
<prop key="hibernate.connection.provider_class">
${dataService.dao.hibernate.config.properties.hibernateConnectionProviderClass}
</prop>
<prop key="hibernate.connection.pool_size">
${dataService.dao.hibernate.config.properties.hibernateConnectionPoolSize}
</prop>
<prop key="hibernate.dbcp.maxWait">
12000
</prop>
<prop key="hibernate.cache.provider_class">
${dataService.dao.hibernate.config.properties.hibernateCacheProviderClass}
</prop>
<prop key="hibernate.cache.use_minimal_puts">
${dataService.dao.hibernate.config.properties.hibernateCacheUseMinimalPuts}
</prop>
<prop key="hibernate.cache.region_prefix">
${dataService.dao.hibernate.config.properties.hibernateCacheRegionPrefix}
</prop>
<prop key="hibernate.cache.use_query_cache">
${dataService.dao.hibernate.config.properties.hibernateCacheUseQueryCache}
</prop>
</props>
</property>
<property name="eventListeners">
<map>
<entry key="merge">
<bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener"/>
</entry>
</map>
</property>
</bean>
<!-- ========================= DAOS OBJECT DEFINITIONS ========================= -->
<!-- Bases que injectan managers genericos -->
<bean id="genericoHibernateDAO"
class="br.com.projeto.web.teste.dao.impl.GenericoHibernateDAO"
abstract="true">
<property name="fabricaSessao">
<ref bean="sessionFactoryHiber" />
</property>
</bean>
A unica coisa que encontrei sobre este erro foi o site
http://www.ibm.com/developerworks/br/websphere/library/techarticles/0609_alcott/0609_alcott.html
porem não resolveu meu problema, alguem já teve o mesmo?
Deste já agradeço