Thanks, Pavel. I'll follow the discussion there. On Sun, Sep 13, 2020 at 5:27 AM Pavel Tupitsyn <[email protected]> wrote:
> Sorry, IgniteClient.cluster() was added for Ignite 2.9, which is not yet > released. > ClientCache.size() works too. > > I've started a discussion on the dev list [1] regarding a dedicated ping > API. > > [1] > http://apache-ignite-developers.2346864.n4.nabble.com/Thin-Client-ping-operation-td49181.html > > On Sat, Sep 12, 2020 at 9:33 PM Scott Prater <[email protected]> wrote: > >> Hello, Pavel -- >> >> There isn't a method cluster() in the IgniteClient java class. I came up >> with a different workaround: I retrieve the number of cached entries on >> the heap, and check that it's greater than -1 and no exception is thrown. >> That's not ideal, but should work, as long as ClientCache.size() never >> returns a negative number. Ideally I would use something like >> clientCacheObject.ping(), which would simply send a request to the node or >> cluster, and get back a response (or not). >> >> -- Scott >> >> >> On Sat, Sep 12, 2020 at 9:33 AM Scott Prater <[email protected]> wrote: >> >>> Correct, something like a ping. But the state() method should serve the >>> purpose, too. Thanks! >>> >>> On Sat, Sep 12, 2020 at 2:30 AM Pavel Tupitsyn <[email protected]> >>> wrote: >>> >>>> Hello Scott, >>>> >>>> ClientCache.getName() is a local operation, it simply returns a cached >>>> string. >>>> >>>> IgniteClient.cluster().state() is a good way to check the connectivity >>>> - >>>> it sends a lightweight request to the server. >>>> >>>> As I understood, you are asking for something like IgniteClient.ping(), >>>> right? >>>> >>>> Thanks, >>>> Pavel >>>> >>>> On Sat, Sep 12, 2020 at 2:25 AM Scott Prater <[email protected]> wrote: >>>> >>>>> Hello, >>>>> >>>>> I'm a new Ignite user, and with just a little bit of exposure, I'm >>>>> quite impressed with it -- it did not take me long to get a >>>>> single standalone remote node up and running and start using it as a >>>>> durable memory key-value store. >>>>> >>>>> I created a connection pool for ClientCache in Java, using Apache >>>>> Commons Pool 2. So far it's working well, but I had to fudge overriding >>>>> the commons-pool2 "validateObject()" method, which is a method to test >>>>> that >>>>> your pooled object is still alive and well: I used >>>>> clientCache.getName().equals("MY_CACHE") as a test, but I have no idea if >>>>> this indicates whether the connection to my remote cache is active or not. >>>>> >>>>> In some future release, could you add a "isConnected()" method or >>>>> similar to ClientCache or IgniteClient (if it makes more sense there), for >>>>> ease of testing connections and determining when to discard bad client >>>>> objects? >>>>> >>>>> thanks, >>>>> >>>>> -- Scott >>>>> >>>>> >>>>> >>>> >>>>
