In non-JavaEE settings, make sure pooling is correctly done and that LocalSession instantiates a new low-level Session through a pool.
Currently it hits SQLRepository.getSession but this should be a pooled factory instead.
Make sure also that there is a transaction manager available.
-> Use geronimo-transaction and geronimo-connector to provide a JTA/JCA framework when non is available in the container.