package ddth.dasp.common.hazelcastex.impl; import java.util.List; import org.apache.commons.pool.BasePoolableObjectFactory; public class HazelcastClientPoolableObjectFactory extends BasePoolableObjectFactory<AbstractHazelcastClient> { private List<String> hazelcastServers; public String hazelcastUser, hazelcastPassword; public HazelcastClientPoolableObjectFactory(List<String> servers, String username, String password) { hazelcastServers = servers; hazelcastUser = username; hazelcastPassword = password; } /** * {@inheritDoc} */ @Override public void activateObject(AbstractHazelcastClient hazelcastClient) throws Exception { // hazelcastClient.init(); } /** * {@inheritDoc} */ @Override public void destroyObject(AbstractHazelcastClient hazelcastClient) throws Exception { hazelcastClient.destroy(); } /** * {@inheritDoc} */ @Override public AbstractHazelcastClient makeObject() throws Exception { AbstractHazelcastClient hazelcastClient = new PoolableHazelcastClient(); hazelcastClient.setHazelcastServers(hazelcastServers).setHazelcastUsername(hazelcastUser) .setHazelcastPassword(hazelcastPassword); hazelcastClient.init(); return hazelcastClient; } /** * {@inheritDoc} */ @Override public void passivateObject(AbstractHazelcastClient hazelcastClient) throws Exception { // EMPTY // hazelcastClient.destroy(); } /** * {@inheritDoc} */ @Override public boolean validateObject(AbstractHazelcastClient hazelcastClient) { try { return hazelcastClient.ping(); } catch (Exception e) { return false; } } }