ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tom Henricksen" <T...@A-t-g.com>
Subject RE: iBatis - tomcat JNDI setup
Date Thu, 27 Mar 2008 16:18:46 GMT
This is the sqlmaps config file.

<?xml version="1.0" ?>
<!DOCTYPE sqlMapConfig
  PUBLIC '-//iBATIS.com//DTD SQL Map Config 2.0//EN'
  'http://www.ibatis.com/dtd/sql-map-config-2.dtd'>
<sqlMapConfig>

	<properties
resource="com/advtechgrp/configuration/deployment.properties"/>

	<settings cacheModelsEnabled="false" enhancementEnabled="false"
lazyLoadingEnabled="false" maxRequests="32" maxSessions="10"
maxTransactions="5" useStatementNamespaces="true"/>


	<typeAlias alias="DomainReference"
type="com.advtechgrp.bop.medical.common.DomainReference"/>

	<typeHandler
callback="com.advtechgrp.bop.medical.common.CharTypeHandler"
javaType="java.lang.String"/>

	<typeHandler
callback="com.advtechgrp.bop.medical.common.OffenderCodeTypeHandler"
javaType="com.advtechgrp.bop.medical.offender.business.OffenderCode"/>

	<typeHandler
callback="com.advtechgrp.bop.medical.common.SmallIntTypeHandler"
javaType="java.lang.Short"/>

	<transactionManager type="JDBC">
		<dataSource type="JNDI">
			<property name="DataSource"
value="java:comp/env/jdbc/medical"/>
		</dataSource>
	</transactionManager>
	
	<sqlMap
resource="com/advtechgrp/bop/medical/data/CommonVsp.xml"/>
	<sqlMap
resource="com/advtechgrp/bop/medical/offender/data/OffenderDef.xml"/>
	<sqlMap
resource="com/advtechgrp/bop/medical/common/data/admcounter.xml"/>
	<sqlMap
resource="com/advtechgrp/bop/medical/activity/data/ActivityFrequencyVsp.
xml"/>
	<sqlMap
resource="com/advtechgrp/bop/medical/activity/data/ActivityVsp.xml"/>
</sqlMapConfig>

-----Original Message-----
From: Christopher Lamey [mailto:clamey@localmatters.com] 
Sent: Thursday, March 27, 2008 10:54 AM
To: user-java@ibatis.apache.org
Subject: Re: iBatis - tomcat JNDI setup

That looks to me like iBATIS is trying to create a connection pool
rather
than using the one in JNDI.

Can you send your whole SqlMapConfig.xml?

On 3/27/08 6:47 AM, "Tom Henricksen" <TomH@A-t-g.com> wrote:

> I tried what you suggested (removing the entry from web.xml and the
> resource link from the context.xml) and I now get this error message
> from my application.
> 
> org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver
of
> class '' for connect URL 'null'
> at
>
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource
> .java:780)
> at
>
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.ja
> va:540)
> at
>
com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTrans
> action.java:48)
> at
>
com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(
> JdbcTransaction.java:89)
> at
>
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQuery
> ForList(GeneralStatement.java:123)
> at
>
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMap
> ExecutorDelegate.java:615)
> 
> Thanks,
> Tom
> 
> 
> -----Original Message-----
> From: Tom Henricksen [mailto:TomH@A-t-g.com]
> Sent: Wednesday, March 26, 2008 9:09 PM
> To: user-java@ibatis.apache.org
> Subject: RE: iBatis - tomcat JNDI setup
> 
> I tried following:
> http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html
> And it has both the context.xml and the entry in the web.xml.
> I will try without the web.xml and see.
> 
> Thanks,
> Tom
> 
> -----Original Message-----
> From: Christopher Lamey [mailto:clamey@localmatters.com]
> Sent: Wed 3/26/2008 4:23 PM
> To: user-java@ibatis.apache.org
> Subject: Re: iBatis - tomcat JNDI setup
>  
> Having the ResourceLink and the Resource in the context xml might be
> screwing it up.  You're telling it to link to a global JNDI object,
but
> it
> doesn't exist at that level.
> 
> Also using a resource-ref in the web.xml and a Resource element in the
> context.xml is redundant.
> 
> Read the Resource Definitions section of this page:
> 
> http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
> 
> Declaring a Resource in the context xml allows you to drop in JNDI
> objects
> for you webapp without having to muck with web.xml.
> 
> On 3/26/08 3:17 PM, "Tom Henricksen" <TomH@A-t-g.com> wrote:
> 
>> I am trying to setup Tomcat JNDI to work on our application with
> iBatis.
>> 
>> I get the following error:
>> 
>>  
>> 
>> java.lang.RuntimeException: Error occurred.  Cause:
>> com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause:
>> java.lang.RuntimeException: Error parsing XPath
>> '/sqlMapConfig/transactionManager/dataSource/end()'.  Cause:
>> com.ibatis.sqlmap.client.SqlMapException: There was an error
> configuring
>> JndiDataSourceTransactionPool. Cause:
>> javax.naming.NameNotFoundException: Name jdbc is not bound in this
>> Context
>> 
>>       at
>> 
>
com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConf
>> igParser.java:89)
>> 
>>       at
>> 
>
com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapCli
>> entBuilder.java:63)
>> 
>>       at
>> 
>
com.advtechgrp.bop.medical.data.SqlMapsService.initSqlMaps(SqlMapsServic
>> e.java:58)
>> 
>>       at
>> 
>
com.advtechgrp.bop.medical.web.MedicalApplication.initialize(MedicalAppl
>> ication.java:106)
>> 
>>       at
>> 
>
com.advtechgrp.bop.medical.web.listener.FacesListener.contextInitialized
>> (FacesListener.java:63)
>> 
>>       at
>> 
>
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.j
>> ava:3831)
>> 
>>       at
>> 
>
org.apache.catalina.core.StandardContext.start(StandardContext.java:4323
>> )
>> 
>>       at
>> 
>
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
>> va:823)
>> 
>>  
>> 
>>  
>> 
>> SqlMapConfig.xml ibatis 2.30
>> 
>>       <transactionManager type="JDBC">
>> 
>>             <dataSource type="JNDI">
>> 
>>                   <property name="DataSource"
>> value="java:comp/env/jdbc/medical"/>
>> 
>>             </dataSource>
>> 
>>       </transactionManager>
>> 
>>  
>> 
>> context.xml - tomcat 5.0.30
>> 
>> <?xml version='1.0' encoding='utf-8'?>
>> 
>> <Context debug="4"
>> 
>>       docBase="C:/Java/eclipse-europa/europa-workspace/bop-med/web"
>> 
>>       path="/bop-med" reloadable="true"
>> 
>>       workDir="work\Catalina\localhost\bop-med">
>> 
>>       
>> 
>>       <ResourceLink global="jdbc/medical" name="jdbc/medical"
>> 
>>             type="javax.sql.DataSource"/>
>> 
>>       
>> 
>>       <Resource name="jdbc/medical" auth="Container"
>> 
>>                 type="javax.sql.DataSource" username="user"
>> 
>>                 password="pass"
>> 
>>                 driverClassName="com.ibm.db2.jcc.DB2Driver"
>> 
>>                 url="jdbc:db2://srv:50000/medical"
>> 
>>                 maxActive="8" maxIdle="4"/>
>> 
>> </Context>
>> 
>>  
>> 
>>             In application web.xml
>> 
>>  
>> 
>>       <resource-ref>
>> 
>>             <description>
>> 
>>                   jdbc/medical
>> 
>>             </description>
>> 
>>             <res-ref-name>jdbc/medical</res-ref-name>
>> 
>>             <res-type>javax.sql.DataSource</res-type>
>> 
>>             <res-auth>Container</res-auth>
>> 
>>       </resource-ref>
>> 
>>  
>> 
>> Any suggestions?
>> 
>>  
>> 
>> Thanks in advance,
>> 
>>  
>> 
>> Tom Henricksen
>> Consultant
>> Advanced Technologies Group, Inc.
>> 
>> 1601 48th Street, Suite 220
>> 
>> West Des Moines, IA 50265
>> 
>> *  Office:     (515) 221-9344 Ext 138
>> 
>> *  Fax:         (515) 221-1266
>> * Email:     tomh@a-t-g.com
>> 
>>  
>> 
> 
> 


Mime
View raw message