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:[EMAIL PROTECTED]
Sent: Thursday, March 27, 2008 10:54 AM
To: [email protected]
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" <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED]
> Sent: Wednesday, March 26, 2008 9:09 PM
> To: [email protected]
> 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:[EMAIL PROTECTED]
> Sent: Wed 3/26/2008 4:23 PM
> To: [email protected]
> 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" <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED]
>>
>>
>>
>
>