The useDataSourceFactory should be set as an attribute of jndiConfig element. So your datasource configuration should shange as follows.
<datasource>
<name>IPL_DS_IDB</name>
<description>My custom datasource</description>
<jndiConfig useDataSourceFactory="true">
<name>IPL_DS_DB</name>
<environment>
<property name="java.naming.factory.initial">com.sun.jndi.rmi.registry.RegistryContextFactory</property>
<property name="java.naming.provider.url">rmi://localhost:10002</property>
</environment>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<url>jdbc:mysql://192.168.1.5:3306/idb</url>
<username>wso2user_idb</username>
<password>XXXXXXX</password>
<driverClassName>com.mysql.jdbc.Driver</driverClassName>
<maxActive>50</maxActive>
<maxWait>60000</maxWait>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>