@Test(timeout = 60000)
public void testSerializability() throws Exception {

    ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(mcf, new ConnectionManagerAdapter(), info);
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(bos);
    oos.writeObject(factory);
    oos.close();
    byte[] byteArray = bos.toByteArray();
    ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(byteArray));
    ActiveMQConnectionFactory deserializedFactory = (ActiveMQConnectionFactory) ois.readObject();
    ois.close();
    Connection con = deserializedFactory.createConnection("defaultUser", "defaultPassword");
    ActiveMQConnection connection = ((ActiveMQConnection) ((ManagedConnectionProxy) con).getManagedConnection().getPhysicalConnection());
    assertEquals(100, connection.getPrefetchPolicy().getQueuePrefetch());
    assertNotNull("Connection object returned by ActiveMQConnectionFactory.createConnection() is null", con);
    connection.close();
}