Ejemplo n.º 1
0
 private void InvalidateConnection()
 {
     lock (this)
     {
         _hzInstance = null;
     }
 }
Ejemplo n.º 2
0
 internal virtual void Shutdown()
 {
     lock (this)
     {
         if (_hzInstance != null)
         {
             _hzInstance.shutdown();
             _hzInstance = null;
             _shutdown   = true;
         }
     }
 }
Ejemplo n.º 3
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: private synchronized com.hazelcast.core.HazelcastInstance tryEnsureConnection() throws HazelcastInstanceNotActiveException
        private HazelcastInstance TryEnsureConnection()
        {
            lock (this)
            {
                if (_shutdown)
                {
                    throw new HazelcastInstanceNotActiveException("Shutdown");
                }

                if (_hzInstance == null)
                {
                    _hzInstance = _connector.connectToHazelcast();
                }
                return(_hzInstance);
            }
        }
Ejemplo n.º 4
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: synchronized <T> T apply(System.Func<com.hazelcast.core.HazelcastInstance,T> function) throws HazelcastInstanceNotActiveException
        internal virtual T Apply <T>(System.Func <HazelcastInstance, T> function)
        {
            lock (this)
            {
                HazelcastInstance hzInstance = TryEnsureConnection();

                try
                {
                    return(function(hzInstance));
                }
                catch (com.hazelcast.core.HazelcastInstanceNotActiveException e)
                {
                    InvalidateConnection();
                    throw new HazelcastInstanceNotActiveException(e);
                }
            }
        }
Ejemplo n.º 5
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: synchronized void perform(System.Action<com.hazelcast.core.HazelcastInstance> operation) throws HazelcastInstanceNotActiveException
        internal virtual void Perform(System.Action <HazelcastInstance> operation)
        {
            lock (this)
            {
                HazelcastInstance hzInstance = TryEnsureConnection();

                try
                {
                    operation(hzInstance);
                }
                catch (com.hazelcast.core.HazelcastInstanceNotActiveException e)
                {
                    InvalidateConnection();
                    throw new HazelcastInstanceNotActiveException(e);
                }
            }
        }
Ejemplo n.º 6
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void shouldReconnectIfHazelcastConnectionInvalidated() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void ShouldReconnectIfHazelcastConnectionInvalidated()
        {
            // given
            HazelcastConnector connector  = mock(typeof(HazelcastConnector));
            HazelcastInstance  hzInstance = mock(typeof(HazelcastInstance));

            when(connector.ConnectToHazelcast()).thenReturn(hzInstance);

            RobustHazelcastWrapper hzWrapper = new RobustHazelcastWrapper(connector);

            // when
            hzWrapper.Perform(hz =>
            {
            });

            // then
            verify(connector, times(1)).connectToHazelcast();

            // then
            try
            {
                hzWrapper.Perform(hz =>
                {
                    throw new com.hazelcast.core.HazelcastInstanceNotActiveException();
                });
                fail();
            }
            catch (HazelcastInstanceNotActiveException)
            {
                // expected
            }

            // when
            hzWrapper.Perform(hz =>
            {
            });
            hzWrapper.Perform(hz =>
            {
            });

            // then
            verify(connector, times(2)).connectToHazelcast();
        }