Hi Caio, I don't think it's possible currently. We have plans on introducing Compute functionality into C++ client, but it is not there yet and you can't access cache entities from the JNI using public API.
Best Regards, Igor On Fri, Sep 2, 2016 at 2:04 PM, Caio Nishibe <[email protected]> wrote: > Hi Igor, > > my cluster has 34 server nodes and 1 client node. Biometric data > (fingerprint templates) is spread across a distributed cache (about 50 > million fingerprint templates). The client node creates an identification > task, which has to compare an input fingerprint against all stored > templates. This task creates one job per cluster node, so each node > performs > comparisons against its local cache entries. > > The comparison algorithm is written in C++, so for this reason I need to > call a JNI method for each entry comparison, transfering the templates from > Java Ignite cache to my C++ dll. This is time consuming and not performed > well. > > What I'm trying to do is to emulate a C++ Compute Grid capability. I'm > asking if it's possible to create a Java job, which calls my C++ dll > through JNI and the dll access directly the Ignite cache to perform the > comparisons, eliminating the transfer time. I know that the C++ client > could > access the cache using a ScanQuery, but I was not able to instantiate a C++ > client inside my Java job since, as far as I know, It's not possible to > instantiate a new JVM inside a JNI call. > > Best Regards, > > Caio > > > > -- > View this message in context: http://apache-ignite-users. > 70518.x6.nabble.com/Access-cache-entries-in-C-via-JNI- > call-tp7462p7478.html > Sent from the Apache Ignite Users mailing list archive at Nabble.com. >
