From f05a65bdc268a3714fd3197e25819fa98522aaee Mon Sep 17 00:00:00 2001 From: wenshao Date: Sat, 14 May 2011 16:10:49 +0000 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81PasswordCallback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://code.alibabatech.com/svn/druid/trunk@85 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../alibaba/druid/pool/DruidDataAbstractSource.java | 5 +++++ .../druid/bvt/pool/PasswordCallbackTest.java | 13 +++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 src/test/java/com/alibaba/druid/bvt/pool/PasswordCallbackTest.java diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java index f95f7c56f4..d59a6be197 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataAbstractSource.java @@ -320,6 +320,11 @@ public abstract class DruidDataAbstractSource implements DataSource, DataSourceP public void setPasswordCallback(PasswordCallback passwordCallback) { this.passwordCallback = passwordCallback; } + + public void setPasswordCallback(String passwordCallbackClassName) throws Exception { + Class clazz = Thread.currentThread().getContextClassLoader().loadClass(passwordCallbackClassName); + this.passwordCallback = (PasswordCallback) clazz.newInstance(); + } public NameCallback getUserCallback() { return userCallback; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/PasswordCallbackTest.java b/src/test/java/com/alibaba/druid/bvt/pool/PasswordCallbackTest.java new file mode 100644 index 0000000000..1e51b1c907 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/pool/PasswordCallbackTest.java @@ -0,0 +1,13 @@ +package com.alibaba.druid.bvt.pool; + +import junit.framework.TestCase; + +import com.alibaba.druid.pool.DruidDataSource; + +public class PasswordCallbackTest extends TestCase { + public void test_0 () throws Exception { + DruidDataSource dataSource = new DruidDataSource(); + dataSource.setUrl("jdbc:mock:"); + dataSource.setPasswordCallback(passwordCallback) + } +}