Please be clear about your problem. I don't understand it.
Querying for 1000 rooms in 1 sec is not that slow imo. (XML (de-)serializing, roundtrip to server, Java object creation).
WTF you are doing? Why would you need 10000000000000000 (public) rooms?
And especially, why would you want to query all of them?