The server does not appear to release broken connections. My typical development pattern is to keep reloading my war file in tomcat until the permgen space runs out, and then I kill and restart tomcat. After a few days of this, the server stops responding, and I see the following in the server logs:
[odb:server:fatal] com.objectdb.o.UserException: Too many open connections (100) at com.objectdb.o.MSG.d(MSG.java:61) at com.objectdb.o.SMR.O(SMR.java:469) at com.objectdb.o.SMR.N(SMR.java:406) at com.objectdb.o.SMR.L(SMR.java:271) at com.objectdb.o.SMR.n(SMR.java:166) at com.objectdb.o.TOL.run(TOL.java:115) at com.objectdb.Server.runCommand(Server.java:200) at com.objectdb.Server.run(Server.java:107) at com.objectdb.Server.main(Server.java:66)
It would be useful to have a configuration setting that would tell the server to close connections after a period of inactivity.
Also, how does the client deal with broken connections or server restarts. Does the client have an internal connection pool that checks the health of a connection and reconnects if needed? It would be useful to have configuration settings to control the connection pool (min/max connections, etc...).