На самом деле не так уж сложно запустить Tomcat в сеансе отладки Eclipse (просто поместите все Bootstrap.jar в проект и добавьте системные свойства в параметры JVM). Я сделал это много раз, хотя бы для того, чтобы вскрыть кишки этого кошачьего. Как только это будет сделано, вы можете прервать исключение приведения класса к фабрике соединений JNDI, и тогда вы сможете увидеть, вызывается ваша фабрика или нет.
Из того, что я помню, Tomcat использует источник данных DBCP. На самом деле переупаковано в com.apache.tomcat.dbcp.dbcp.DataSource (IIRC).
Так что я не удивлюсь, если это то, что вы получите в результате своего поиска.
Оглядываясь назад, теперь я понимаю, что также забыл упомянуть, что если какой-либо базовый класс (например, драйвер JDBC), необходимый для создания экземпляра вашего CEDataSource, отсутствует, вы также получаете это ClassCastException. Справедливо, но вы всегда сосредотачиваетесь на самом классе, а не на других банках ...