在rmi中放置c3p0配置和getConnection方法的位置

时间:2012-06-13 07:25:52

标签: java rmi c3p0

我正在制作基于rmi的客户端服务器应用程序。

在服务器端,它由一个运行rmi(用于绑定注册表)的java文件和实现的所有必需接口组成,这些接口调用其他类,这些类用于基于各种服务器的操作(包括与数据库的连接)。

现在怀疑是

我应该在哪里放置用于配置 ComboPoolDataSource Instance 的代码和 getConnection()方法,以便在我配置时完成配置运行java rmi文件,我可以从任何其他java文件中调用 .getConnection()

2 个答案:

答案 0 :(得分:0)

您可以将它放在执行绑定的启动类中,也可以放在单例类中。

答案 1 :(得分:0)

At First ...创建代码以在包含静态方法或变量的类中启动连接,如下所示..

        private static ComboPooledDataSource cpds = new ComboPooledDataSource();
        public static void MakePool()
        {
               try 
               {
                 cpds=new ComboPooledDataSource();
                 cpds.setDriverClass("com.mysql.jdbc.Driver");
                 cpds.setJdbcUrl("jdbc:mysql://localhost:3306/att_db");
                 cpds.setUser("root");
                 cpds.setPassword("dragon");
                 cpds.setMaxPoolSize(MaxPoolSize);
                 cpds.setMinPoolSize(MinPoolSize);
                 cpds.setAcquireIncrement(Accomodation);
             } 
             catch (PropertyVetoException ex) 
             {
                 //handle exception...not important.....
              }

}
public static Connection getConnection()
{
           return cpds.getConnection();
}

完成后,创建另一个用于服务器操作的类....

并从池中获取连接...

         try{

               con=DatabasePool.getConnection();
               // DatabasePool is the name of the Class made earlier....
               .
               .
               .
               .  // Server operations as u wanted.....
               .
               .
             }
             catch(SQL EXCEPTION HERE)
             {
                  .....
             }
             finally
             {     
               if(con!=null)
               {
                      con.close();      
               }
             }