Problema com DataSource JNDI -> Unable to get managed connection

Pessoal ,
Tenho um Web Service em um servidor JBOSS que faz conexão com o banco Oracle usando um datasource ws.xml a aplicação funciona um bom tempo sem problemas.
Mais inesperadamente ele perde a conexão e começa a apresentar um o erro:
ERROR 00:00:30 [Banco] :Unable to get managed connection for lote; - nested throwable: (javax.resource.ResourceException: Unable to get managed connection for lote)
O erro só para de ocorrer depois que faço undeploy e deploy novamente do datasource ws.xml.

Se alguem souber os possíveis motivos de estar apresentando esse erro ou como posso resolver.

Segue abaixo o codigo do arquivo ws.xml :


<?xml version="1.0" encoding="UTF-8"?>

<datasources>
	<local-tx-datasource>
		<jndi-name>lote</jndi-name>
		<connection-url>jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=ON)(ADDRESS_LIST=(LOAD_BALANCE=ON)(ADDRESS=(PROTOCOL=TCP)(HOST=XXXX)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=XXXX)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=xxxx)))</connection-url>
		<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
		<user-name>XXXX</user-name>
		<password>XXXX</password>
		<exception-sorter-class-name>
			org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
		</exception-sorter-class-name>
		<!--
			should only be used on drivers after 3.22.1 with "ping" support
			<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
		-->
		<!--
			sql to call when connection is created <new-connection-sql>some
			arbitrary sql</new-connection-sql>
		-->
		<!--
			sql to call on an existing pooled connection when it is obtained from
			pool - MySQLValidConnectionChecker is preferred for newer drivers
			<check-valid-connection-sql>some arbitrary
			sql</check-valid-connection-sql>
		-->

		<min-pool-size>5</min-pool-size>
		<max-pool-size>500</max-pool-size>
		<idle-timeout-minutes>1</idle-timeout-minutes>
		<track-statements />

		<!--
			corresponding type-mapping in the standardjbosscmp-jdbc.xml
			(optional)
		-->
		<!--metadata>
			<type-mapping>mySQL</type-mapping>
		</metadata-->
	</local-tx-datasource>		
</datasources>

Segue abaixo o codigo fonte da classe que chama a conexão



import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class Banco {
	private Connection conn = null;
	private boolean conectado = false;

	private Integer codCid;

	public Integer getCodCid() {
		return codCid;
	}

	public Banco(Integer codigoCidade) {
		this.codCid = codigoCidade;
		try {
			conectar("lote_" + codigoCidade.toString(), codigoCidade);
			conectado = true;
		} catch (NamingException e) {
			try {
				conectar("lote", codigoCidade);
				conectado = true;
			} catch (NamingException ei) {
				conectado = false;	
				ei.printStackTrace();
			} catch (SQLException ei) {				
				conectado = false;				
				ei.printStackTrace();

			}
		} catch (SQLException e) {			
			e.printStackTrace();			

		}
	
	}

	private void conectar(String dsnome, Integer codigoCidade)
			throws NamingException, SQLException {
		InitialContext ctx = null;
		DataSource ds = null;
		ctx = new InitialContext();
		ds = (DataSource) ctx.lookup("java:comp/env/jdbc/" + dsnome);
		conn = (ds.getConnection());

	}

	public Connection conn() {
		return conn;
	}

	public void fecharBanco() {
		if (this.isConectado() && this.conn() != null)
			try {
				this.conn().close();
				this.conectado = false;
			} catch (SQLException e) {
				e.printStackTrace();
			}
	}

	public boolean isConectado() {
		return conectado;
	}

}

Obrigado