What features of the j2ee environment do you want to use?
Why would j2ee be more appropriate than say jini + javaspaces?
If you used j2ee, why do you think you need another kind of container?
Have you considered mbeans?
The J2EE-compliant deployment environment is a given. JNDI, JMX are leverageable I think. Possibly also JMS; see below.
For the backend, a tuplespace might work - I've evaluated Javaspaces and IBM's TSpaces and come up with possible embeddings, but neither have enough flexibility to meet the requirements perfectly. An alternative is unbundling of the data model (ie. tuples), persistence, access and publish-subscribe mechanisms which could improve both functionality and scalability. So I'll also be taking a look at JMS.
I like the idea of containers providing lifecycle management with the associated message interception, etc. to the objects they contain. As far as I can tell, J2EE containers manage instances of a single J2EE Bean class. I'd like to manage a single "problem space" which I guess would be the J2EE bean, but also allow for configuration of multiple agents associated with the space. So that's why I wonder whether J2EE containers are appropriate, and even if that's the case, whether I need to provide a custom container.
My problem is that despite a fair bit of J2EE background reading and some hands on, I don't have a good mental model of the J2EE technologies onto which I can map my logical architecture. Any and all help is appreciated.