javaapacheapache-commonsapache-commons-pool

Add objects to object pool


I am trying to add objects to object pool. I am using apache commons pool for this.

My code as is as follows:

public ObjectPool<OAuthConsumer> consumerPool;

public ObjectPool<OAuthConsumer> consumerPool;


public void buildConsumerPool(){

    //setting the config path
    PropertyHandler.setConfigPath("/twitter.properties");

    //fetching required tokens for all apps
    String consumerKeySet = PropertyHandler.getProperty("consumerKey");
    String consumerSecretSet = PropertyHandler.getProperty("consumerSecret");
    String accessTokenSet = PropertyHandler.getProperty("accessToken");
    String tokenSecretSet = PropertyHandler.getProperty("tokenSecret");

    String[] splitconsumerKeys = consumerKeySet.split(",");
    String[] splitconsumerSecret = consumerSecretSet.split(".");
    String[] splitaccessToken = accessTokenSet.split(",");
    String[] splittokenSecret = tokenSecretSet.split(".");

    //creating consumer objects for each app
    for (int numberOfAccounts = 0; numberOfAccounts < splitconsumerKeys.length; numberOfAccounts++) {

            String consumerKey = splitconsumerKeys[numberOfAccounts];
            String consumerSecret = splitconsumerSecret[numberOfAccounts];
            String accessToken = splitaccessToken[numberOfAccounts];
            String tokenSecret = splittokenSecret[numberOfAccounts];
            OAuthConsumer consumer = new CommonsHttpOAuthConsumer(consumerKey, consumerSecret);
            consumer.setTokenWithSecret(accessToken, tokenSecret);

    }

Now i want to add consumer objects to the pool i created before. How do i do that?


Solution

  • Check this link for more info on using pools GenericObjectPool

    Another post which might help is this

    You need to associate a factory with your ObjectPool to create objects. Hope this helps.