Hi Michael,

That is the expected behavior. If you don't provide a repository id in the session parameters, the TCK gets the list of repositories first. That requires a local service factory. It then sets up a session, which requires its own local session factory. The TCK does that for each test to make sure that each test starts with empty caches (and to be able to run each test interdependently).

Because OpenCMIS does not control the life cycle of a session (there is no close() method or something similar), it cannot destroy the local session factory.


Florian


Hi,

Currently when running tests via AbstractRunner the service factory is
initialized multiple times.
Below are 2 stacktraces from running 1 test.
The binding is created once from SessionFactoryImpl.getRepositories and
once from SessionImpl.connect.
Also the factory is never destroyed.

at

org.apache.chemistry.opencmis.client.bindings.spi.local.CmisLocalSpi.<init>(CmisLocalSpi.java:89)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at

org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingsHelper.getSPI(CmisBindingsHelper.java:82)
at

org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingImpl.clearAllCaches(CmisBindingImpl.java:230)
at

org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingImpl.<init>(CmisBindingImpl.java:141)
at

org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingImpl.<init>(CmisBindingImpl.java:62)
at

org.apache.chemistry.opencmis.client.bindings.CmisBindingFactory.createCmisLocalBinding(CmisBindingFactory.java:244)
at

org.apache.chemistry.opencmis.client.runtime.CmisBindingHelper.createLocalBinding(CmisBindingHelper.java:118)
at

org.apache.chemistry.opencmis.client.runtime.CmisBindingHelper.createBinding(CmisBindingHelper.java:61)
at

org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:107)
at

org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:96)
at

org.apache.chemistry.opencmis.tck.impl.AbstractSessionTest.run(AbstractSessionTest.java:153)
at

org.apache.chemistry.opencmis.tck.impl.AbstractCmisTestGroup.run(AbstractCmisTestGroup.java:109)
at

org.apache.chemistry.opencmis.tck.runner.AbstractRunner.run(AbstractRunner.java:275)


at

org.apache.chemistry.opencmis.client.bindings.spi.local.CmisLocalSpi.<init>(CmisLocalSpi.java:89)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at

org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingsHelper.getSPI(CmisBindingsHelper.java:82)
at

org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingImpl.clearAllCaches(CmisBindingImpl.java:230)
at

org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingImpl.<init>(CmisBindingImpl.java:141)
at

org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingImpl.<init>(CmisBindingImpl.java:62)
at

org.apache.chemistry.opencmis.client.bindings.CmisBindingFactory.createCmisLocalBinding(CmisBindingFactory.java:244)
at

org.apache.chemistry.opencmis.client.runtime.CmisBindingHelper.createLocalBinding(CmisBindingHelper.java:118)
at

org.apache.chemistry.opencmis.client.runtime.CmisBindingHelper.createBinding(CmisBindingHelper.java:61)
at

org.apache.chemistry.opencmis.client.runtime.SessionImpl.connect(SessionImpl.java:703)
at

org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.createSession(SessionFactoryImpl.java:90)
at

org.apache.chemistry.opencmis.client.runtime.repository.RepositoryImpl.createSession(RepositoryImpl.java:62)
at

org.apache.chemistry.opencmis.tck.impl.AbstractSessionTest.run(AbstractSessionTest.java:153)
at

org.apache.chemistry.opencmis.tck.impl.AbstractCmisTestGroup.run(AbstractCmisTestGroup.java:109)
at

org.apache.chemistry.opencmis.tck.runner.AbstractRunner.run(AbstractRunner.java:275)

Michael

Reply via email to