Examples of CircuitBreaker


Examples of org.fishwife.jrugged.CircuitBreaker

    }

    @Test
    public void testCreateDuplicateCircuitBreaker() {
        String name = "testCreate";
        CircuitBreaker createdBreaker = factory.createCircuitBreaker(name, config);
        CircuitBreaker secondBreaker = factory.createCircuitBreaker(name, config);

        assertSame(createdBreaker, secondBreaker);
    }
View Full Code Here

Examples of org.fishwife.jrugged.CircuitBreaker

    }

    @Test
    public void testFindCircuitBreakerBean() {
        String breakerName = "testFind";
        CircuitBreaker createdBreaker = factory.createCircuitBreaker(breakerName, config);
        CircuitBreakerBean foundBreaker = factory.findCircuitBreakerBean(breakerName);
        assertNotNull(foundBreaker);
        assertEquals(createdBreaker, foundBreaker);
    }
View Full Code Here

Examples of org.fishwife.jrugged.CircuitBreaker

    public void testFindInvalidCircuitBreakerBean() {
        String breakerName = "testFindInvalid";

        // Create a map with an invalid CircuitBreaker (non-bean) in it, and jam it in.
        ConcurrentHashMap<String, CircuitBreaker> invalidMap = new ConcurrentHashMap<String, CircuitBreaker>();
        invalidMap.put(breakerName, new CircuitBreaker());
        ReflectionTestUtils.setField(factory, "circuitBreakerMap", invalidMap);

        // Try to find it.
        CircuitBreakerBean foundBreaker = factory.findCircuitBreakerBean(breakerName);
        assertNull(foundBreaker);
View Full Code Here

Examples of org.fishwife.jrugged.CircuitBreaker

    }

    @Test
    public void testBreakerWithoutMBeanExporter() {
        factory.setMBeanExportOperations(null);
        CircuitBreaker createdBreaker = factory.createCircuitBreaker("testCreateWithoutMBeanExporter", config);
        assertNotNull(createdBreaker);
    }
View Full Code Here

Examples of org.fishwife.jrugged.CircuitBreaker

    }

    @Test
    public void testBreakerWithMBeanExporter() {
        factory.setMBeanExportOperations(mockMBeanExporter);
        CircuitBreaker createdBreaker = factory.createCircuitBreaker("testCreateWithoutMBeanExporter", config);
        assertNotNull(createdBreaker);
    }
View Full Code Here

Examples of org.qi4j.library.circuitbreaker.CircuitBreaker

    public static CircuitBreaker newDataSourceCircuitBreaker( int threshold, long timeout )
    {
        @SuppressWarnings( "unchecked" )
        Specification<Throwable> in = in( ConnectException.class );
        return new CircuitBreaker( threshold, timeout, not( rootCause( in ) ) );
    }
View Full Code Here

Examples of org.qi4j.library.circuitbreaker.CircuitBreaker

        @Override
        public void assemble( ModuleAssembly module )
            throws AssemblyException
        {
            // START SNIPPET: cb-assembly
            CircuitBreaker circuitBreaker = newDataSourceCircuitBreaker( 5 /* threshold */,
                                                                         1000 * 60 * 5 /* 5min timeout */ );
            new DataSourceAssembler().
                withDataSourceServiceIdentity( DS_SERVICE_ID ).
                identifiedBy( DS_ID ).
                visibleIn( Visibility.layer ).
View Full Code Here

Examples of org.qi4j.library.circuitbreaker.CircuitBreaker

                Thread.currentThread().setContextClassLoader( cl );
            }
        }

        // Check if circuitbreaker is used
        final CircuitBreaker circuitBreaker = importedServiceDescriptor.metaInfo( CircuitBreaker.class );
        if ( circuitBreaker != null ) {

            DataSource wrappedDataSource = DataSources.wrapWithCircuitBreaker( importedServiceDescriptor.identity(), pool, circuitBreaker );
            circuitBreakers.put( pool, circuitBreaker );
            return wrappedDataSource;
View Full Code Here

Examples of org.qi4j.library.circuitbreaker.CircuitBreaker

    @Override
    public final boolean isAvailable( DataSource instance )
    {
        if ( pools.containsValue( instance ) ) {
            CircuitBreaker circuitBreaker = circuitBreakers.get( instance );
            if ( circuitBreaker != null ) {
                return circuitBreaker.isOn();
            } else {
                return true;
            }
        } else {
            return false;
View Full Code Here

Examples of org.qi4j.library.circuitbreaker.CircuitBreaker

    @Override
    public Object invoke( Object proxy, Method method, Object[] args )
            throws Throwable
    {
        CircuitBreaker circuitBreaker = serviceCircuitBreaker.circuitBreaker();
        try
        {
            if( !circuitBreaker.isOn() )
            {
                throw circuitBreaker.lastThrowable();
            }

            Object result = next.invoke( proxy, method, args );
            circuitBreaker.success();
            return result;
           
        } catch( Throwable throwable )
        {
            circuitBreaker.throwable( throwable );
            throw throwable;
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.