<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
						http://www.springframework.org/schema/jdbc  http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">

	
 		<!-- **************************************************************************************** --> 
		<!--                                S : MS-SQL Datasource Setting                              -->
		<!-- **************************************************************************************** -->

	<bean id="dataSource-mssql" class="org.springframework.jndi.JndiObjectFactoryBean">  
		<property name="jndiName">  
			<value>#{conf['jdbcMS.jndiName']}</value>  
		</property>  
	</bean>

	<bean id="dataSourcePool-mssql" class="org.apache.commons.pool.impl.GenericObjectPool">
	    <property name="minEvictableIdleTimeMillis"    value="300000"                   />
	    <property name="timeBetweenEvictionRunsMillis" value="60000"                    />
	    <property name="minIdle"                       value="#{conf['dbMS.minIdle']}"  />
	    <property name="maxIdle"                       value="10"                       />
	    <property name="testOnBorrow"                  value="true"                     />
	    <property name="testOnReturn"                  value="true"                     />
	    <property name="testWhileIdle"                 value="true"                     />
	    <property name="maxActive"                     value="#{conf['dbMS.maxActive']}"/>
	    <property name="maxWait"                       value="-1"                       />	    
	  </bean>
	  
	  
	  <bean id="connectionFactory-mssql" class="org.apache.commons.dbcp.DataSourceConnectionFactory">
	    <constructor-arg><ref bean="dataSource-mssql"/></constructor-arg>
	  </bean>
	  
	  <bean id="poolableConnectionFactory-mssql" class="org.apache.commons.dbcp.PoolableConnectionFactory">
	    <constructor-arg index="0"><ref bean="connectionFactory-mssql"/></constructor-arg>
	    <constructor-arg index="1"><ref bean="dataSourcePool-mssql"/></constructor-arg>
	    <constructor-arg index="2"><null/></constructor-arg>
	    <constructor-arg index="3"><null/></constructor-arg>
	    <constructor-arg index="4"><value>false</value></constructor-arg>
	    <constructor-arg index="5"><value>true</value></constructor-arg>
	  </bean>

	  <bean id="pooledDataSource-mssql" class="org.apache.commons.dbcp.PoolingDataSource" depends-on="poolableConnectionFactory-mssql">
	  	<constructor-arg><ref bean="dataSourcePool-mssql"/></constructor-arg>
	  </bean>

	  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	    <property name="dataSource" ref="pooledDataSource-mssql"/>
	  </bean>
	  
	<bean id="lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" />
	
    <bean id="mssqlSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="pooledDataSource-mssql" />
		<property name="configLocation">
			<value>
				classpath:/i2c/sqlmap/config/sqlmap-config${server-type}.xml
			</value>
		</property>
		<property name="mapperLocations">
			<array>
				<value>classpath*:/egovframework/sqlmap/config/#{'dbMS.type'}/*.xml</value>
				<value>classpath*:/i2c/sqlmap/#{conf['dbMS.type']}/**/*.xml</value>
				<value>classpath*:/i2c/biz/**/#{conf['dbMS.type']}/*.xml</value>
				<value>classpath*:/i2c/cmm/**/#{conf['dbMS.type']}/*.xml</value>				                 
				<value>classpath:/com/i2sema/**/#{conf['dbMS.type']}/*.xml</value>			
			</array>
		</property>
	</bean>

	<bean id="MssqlSqlSessionTemplate" name="MssqlSqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
	    <constructor-arg ref="mssqlSqlSessionFactory"/>
	</bean>
    	
	
	<!-- **************************************************************************************** --> 
	<!--                                E : MS-SQL Datasource Setting                              -->
	<!-- **************************************************************************************** -->
	
</beans>
