There is absolutely no reason why Tomcat should go down when the database goes down. Applications may fail, and if they're poorly written, they may fail badly, but the Tomcat server doesn't have any database logic directly wired into it. While it does support connection pools, the actual pooling mechanism is simply constructed and located by Tomcat as a generic module, not actively controlled by it.
From the sound of it, what you're describing is a situation where there are a lot of database connections and when the DB server goes down, they all hang until they time out. But before you go tweaking Tomcat,
you should be asking why there are so many requests active at the same time and if there isn't a smarter way to be making requests. 150 requests at a single instant seems a bit much for most apps unless you're running a really heavy load.
A database request requires more than just Tomcat resources. Each one is typically going to consume a pair of network sockets as well and they, too are limited. In fact, I've seen situations where, thanks to poor error recovery, the OS ran out of sockets and the whole machine ended up being rebooted once every few days.