clerezza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Minto van der Sluis <>
Subject QueryableTcProvider is not exposed as a service.
Date Mon, 07 Apr 2014 20:06:50 GMT
Hi Folks,

While trying to solve my issues with TcManager (which is solved by now)
I tried to bypass TcManager altogether. I tried to wire my code directly
to a TcProvider. Besides the now fixed missing TcManager instance I had
another reason.

TcManager creates a service for every graph. In my environment this
could prove to be quite expensive since it a can have a large number of
graphs (production already has nearly 3000). In bypassing TcManager I
hoped to prevent this (for me) unneeded dynamic behaviour.

For one bundle I was able to circumvent TcManager by directly wiring it
to the WeigthedTcProvider. Unfortunately for another bundle this was not
enough. That particular bundle also likes to execute queries. Which is
only possible through the QueryableTcProvider. My initial thought was to
use a typecast. But is appeared the the WeightedTcPovider was not
implementing it, even though the sources (TDB) said it did.

A debug session revealed that because I was using Blueprint a proxy
object was created. Now my only option is to drop Blueprint unless ...

Shouldn't TcProvider services that also implement QueryableTcProvider
expose this interface as a service as well? Like this I could wire my
bundle to the queryable interface instead.



View raw message