Search in sources :

Example 6 with JMXConnection

use of com.googlecode.jmxtrans.connections.JMXConnection in project jmxtrans by jmxtrans.

the class ServerTests method testConnectionRepoolingSkippedOnError_andErrorClosingConnectionIsIgnored.

@Test
public void testConnectionRepoolingSkippedOnError_andErrorClosingConnectionIsIgnored() throws Exception {
    @SuppressWarnings("unchecked") GenericKeyedObjectPool<JmxConnectionProvider, JMXConnection> pool = mock(GenericKeyedObjectPool.class);
    Server server = Server.builder().setHost("host.example.net").setPort("4321").setLocal(true).setPool(pool).build();
    MBeanServerConnection mBeanConn = mock(MBeanServerConnection.class);
    JMXConnection conn = mock(JMXConnection.class);
    when(conn.getMBeanServerConnection()).thenReturn(mBeanConn);
    doThrow(new IOException()).when(conn).close();
    when(pool.borrowObject(server)).thenReturn(conn);
    Query query = mock(Query.class);
    IOException e = mock(IOException.class);
    when(query.queryNames(mBeanConn)).thenThrow(e);
    try {
        server.execute(query);
        fail("No exception got throws");
    } catch (IOException e2) {
        if (e != e2) {
            fail("Wrong exception thrown (" + e + " instead of mock");
        }
    }
    verify(conn).close();
    verify(pool, never()).returnObject(server, conn);
    InOrder orderVerifier = inOrder(pool);
    orderVerifier.verify(pool).borrowObject(server);
    orderVerifier.verify(pool).invalidateObject(server, conn);
}
Also used : JMXConnection(com.googlecode.jmxtrans.connections.JMXConnection) InOrder(org.mockito.InOrder) JmxConnectionProvider(com.googlecode.jmxtrans.connections.JmxConnectionProvider) IOException(java.io.IOException) MBeanServerConnection(javax.management.MBeanServerConnection) Test(org.junit.Test)

Example 7 with JMXConnection

use of com.googlecode.jmxtrans.connections.JMXConnection in project jmxtrans by jmxtrans.

the class JMXConnectionTest method nullConnectorIsNotClosed.

@Test
public void nullConnectorIsNotClosed() throws IOException {
    MBeanServerConnection mBeanServerConnection = mock(MBeanServerConnection.class);
    JMXConnection jmxConnection = new JMXConnection(null, mBeanServerConnection);
    jmxConnection.close();
}
Also used : JMXConnection(com.googlecode.jmxtrans.connections.JMXConnection) MBeanServerConnection(javax.management.MBeanServerConnection) Test(org.junit.Test)

Aggregations

JMXConnection (com.googlecode.jmxtrans.connections.JMXConnection)7 MBeanServerConnection (javax.management.MBeanServerConnection)7 Test (org.junit.Test)6 JmxConnectionProvider (com.googlecode.jmxtrans.connections.JmxConnectionProvider)3 IOException (java.io.IOException)3 InOrder (org.mockito.InOrder)3 ObjectName (javax.management.ObjectName)2 ImmutableList (com.google.common.collect.ImmutableList)1 UnknownHostException (java.net.UnknownHostException)1 JMXConnector (javax.management.remote.JMXConnector)1