Before trying to delegate the cache to JBoss, did you think about how can you try to cache information yourself ?
You told that you have a lot of BMP Entity.
Maybe some of them can be cached directly in memory (if they don't change everytime ...).
You can try to do a manually cache (with a helper class for example).
It's just an idea ! After I don't really know if JBoss can do some cache for your BMP (because it is a BMP and not a CMP lol).
Good luck !