Yes, but now MySQL server plugin doesn't use the expire time of token received 
from client.
Server plugin should check if the token is expired, I will do this work in the 
issue named DIRKRB-688.

Thanks,
Frank

-----Original Message-----
From: Colm O hEigeartaigh [mailto:cohei...@apache.org] 
Sent: Friday, January 26, 2018 1:41 AM
To: Zeng, Frank <frank.z...@intel.com>
Cc: kerby@directory.apache.org
Subject: Re: directory-kerby git commit: DIRKRB-685 Add MySQL plugin for new 
authentication mechanism.

Actually this could be OK if the intention was to drop the decimal place after 
dividing by 1000?

Colm.

On Thu, Jan 25, 2018 at 2:09 AM, Zeng, Frank <frank.z...@intel.com> wrote:

> Hi Colm,
>
> So sorry for that, I will fix it.
>
> Thanks,
> Frank
>
> -----Original Message-----
> From: Colm O hEigeartaigh [mailto:cohei...@apache.org]
> Sent: Wednesday, January 24, 2018 11:35 PM
> To: kerby@directory.apache.org; Zeng, Frank <frank.z...@intel.com>
> Subject: Re: directory-kerby git commit: DIRKRB-685 Add MySQL plugin 
> for new authentication mechanism.
>
> Hi Frank,
>
> Just a minor comment:
>
> +        final Date now = new Date(new Date().getTime() / 1000 * 
> + 1000);
>
> Here the time is divided by 1000 and then multiplied again by 1000...
>
> Colm.
>
> On Wed, Jan 24, 2018 at 3:03 AM, <zengl...@apache.org> wrote:
>
> > Repository: directory-kerby
> > Updated Branches:
> >   refs/heads/has-project d37016227 -> 9e370a760
> >
> >
> > DIRKRB-685 Add MySQL plugin for new authentication mechanism.
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
> > Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/
> > commit/9e370a76
> > Tree:
> > http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/9e370a76
> > Diff:
> > http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/9e370a76
> >
> > Branch: refs/heads/has-project
> > Commit: 9e370a760bcba6d978c4fc15203f0530094793d7
> > Parents: d370162
> > Author: zenglinx <frank.z...@intel.com>
> > Authored: Wed Jan 24 11:02:53 2018 +0800
> > Committer: zenglinx <frank.z...@intel.com>
> > Committed: Wed Jan 24 11:02:53 2018 +0800
> >
> > ----------------------------------------------------------------------
> >  .../client/mysql/MySQLHasClientPlugin.java      |  68 +++++++++++
> >  .../server/mysql/MySQLHasServerPlugin.java      | 112
> +++++++++++++++++++
> >  ...org.apache.hadoop.has.client.HasClientPlugin |  15 --- 
> > ...org.apache.hadoop.has.server.HasServerPlugin |  15 --- 
> > .../org.apache.kerby.has.client.HasClientPlugin |  16 +++ 
> > .../org.apache.kerby.has.server.HasServerPlugin |  16 +++
> >  .../plugins/TestHasClientPluginRegistry.java    |  44 ++++++++
> >  .../plugins/TestHasServerPluginRegistry.java    |  43 +++++++
> >  8 files changed, 299 insertions(+), 30 deletions(-)
> > --------------------------------------------------------------------
> > --
> >
> >
> > http://git-wip-us.apache.org/repos/asf/directory-kerby/
> > blob/9e370a76/has/has-plugins/src/main/java/org/apache/
> > kerby/has/plugins/client/mysql/MySQLHasClientPlugin.java
> > --------------------------------------------------------------------
> > -- diff --git a/has/has-plugins/src/main/java/org/apache/kerby/has/
> > plugins/client/mysql/MySQLHasClientPlugin.java
> > b/has/has-plugins/src/main/
> > java/org/apache/kerby/has/plugins/client/mysql/MySQLHasClientPlugin.
> > ja
> > va
> > new file mode 100644
> > index 0000000..675f295
> > --- /dev/null
> > +++ b/has/has-plugins/src/main/java/org/apache/kerby/has/
> > plugins/client/mysql/MySQLHasClientPlugin.java
> > @@ -0,0 +1,68 @@
> > +/**
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements.  See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership.  The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License.  You may obtain a copy of the License at
> > + *
> > + *     http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing, 
> > +software
> > + * distributed under the License is distributed on an "AS IS" 
> > +BASIS,
> > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > implied.
> > + * See the License for the specific language governing permissions 
> > +and
> > + * limitations under the License.
> > + */
> > +package org.apache.kerby.has.plugins.client.mysql;
> > +
> > +import org.apache.kerby.has.client.AbstractHasClientPlugin;
> > +import org.apache.kerby.kerberos.kerb.type.base.AuthToken;
> > +import org.slf4j.Logger;
> > +import org.slf4j.LoggerFactory;
> > +
> > +import java.util.Date;
> > +
> > +public class MySQLHasClientPlugin extends AbstractHasClientPlugin {
> > +    private static final Logger LOG = LoggerFactory.getLogger(
> > MySQLHasClientPlugin.class);
> > +
> > +    /**
> > +     * {@inheritDoc}
> > +     */
> > +    @Override
> > +    public String getLoginType() {
> > +        return "MySQL";
> > +    }
> > +
> > +    @Override
> > +    protected void doLogin(AuthToken authToken) {
> > +
> > +        //Get the ak info from env
> > +        String userName = System.getenv("userName");
> > +        String password = System.getenv("password");
> > +
> > +        String mysqlUrl = System.getenv("mysqlUrl");
> > +        String mysqlUser = System.getenv("mysqlUser");
> > +        String mysqlPasswd = System.getenv("mysqlPasswd");
> > +
> > +        LOG.debug("Get the mysql login info successfully.");
> > +
> > +        authToken.setIssuer("has");
> > +        authToken.setSubject(userName);
> > +
> > +        final Date now = new Date(new Date().getTime() / 1000 * 1000);
> > +        authToken.setIssueTime(now);
> > +        // Set expiration in 60 minutes
> > +        Date exp = new Date(now.getTime() + 1000 * 60 * 60);
> > +        authToken.setExpirationTime(exp);
> > +
> > +        authToken.addAttribute("user", userName);
> > +        authToken.addAttribute("secret", password);
> > +        authToken.addAttribute("mysqlUrl", mysqlUrl);
> > +        authToken.addAttribute("mysqlUser", mysqlUser);
> > +        authToken.addAttribute("mysqlPasswd", mysqlPasswd);
> > +
> > +        authToken.addAttribute("passPhrase", userName + password);
> > +    }
> > +}
> >
> > http://git-wip-us.apache.org/repos/asf/directory-kerby/
> > blob/9e370a76/has/has-plugins/src/main/java/org/apache/
> > kerby/has/plugins/server/mysql/MySQLHasServerPlugin.java
> > --------------------------------------------------------------------
> > -- diff --git a/has/has-plugins/src/main/java/org/apache/kerby/has/
> > plugins/server/mysql/MySQLHasServerPlugin.java
> > b/has/has-plugins/src/main/
> > java/org/apache/kerby/has/plugins/server/mysql/MySQLHasServerPlugin.
> > ja
> > va
> > new file mode 100644
> > index 0000000..7c58b21
> > --- /dev/null
> > +++ b/has/has-plugins/src/main/java/org/apache/kerby/has/
> > plugins/server/mysql/MySQLHasServerPlugin.java
> > @@ -0,0 +1,112 @@
> > +/**
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements.  See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership.  The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License.  You may obtain a copy of the License at
> > + *
> > + *     http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing, 
> > +software
> > + * distributed under the License is distributed on an "AS IS" 
> > +BASIS,
> > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > implied.
> > + * See the License for the specific language governing permissions 
> > +and
> > + * limitations under the License.
> > + */
> > +package org.apache.kerby.has.plugins.server.mysql;
> > +
> > +import org.apache.commons.dbutils.DbUtils;
> > +import org.apache.kerby.has.server.AbstractHasServerPlugin;
> > +import org.apache.kerby.has.server.HasAuthenException;
> > +import org.apache.kerby.kerberos.kerb.type.base.AuthToken;
> > +import org.slf4j.Logger;
> > +import org.slf4j.LoggerFactory;
> > +
> > +import java.sql.ResultSet;
> > +import java.sql.Connection;
> > +import java.sql.SQLException;
> > +import java.sql.DriverManager;
> > +import java.sql.PreparedStatement;
> > +
> > +public class MySQLHasServerPlugin extends AbstractHasServerPlugin {
> > +    private static final Logger LOG = LoggerFactory.getLogger(
> > MySQLHasServerPlugin.class);
> > +
> > +     /**
> > +     * {@inheritDoc}
> > +     */
> > +    @Override
> > +    public String getLoginType() {
> > +        return "MySQL";
> > +    }
> > +
> > +    /**
> > +     * {@inheritDoc}
> > +     */
> > +    @Override
> > +    public void doAuthenticate(AuthToken userToken, AuthToken authToken)
> > +        throws HasAuthenException {
> > +        String user = (String) userToken.getAttributes().get("user");
> > +        String secret = (String)
> > + userToken.getAttributes().get("secret");
> > +
> > +        String mysqlUrl = (String) userToken.getAttributes().get(
> > "mysqlUrl");
> > +        mysqlUrl = mysqlUrl.replace("jdbc:mysql:", "jdbc:mysql:thin:");
> > +        String mysqlUser = (String) userToken.getAttributes().get(
> > "mysqlUser");
> > +        String mysqlPasswd = (String) 
> > + userToken.getAttributes().get(
> > "mysqlPasswd");
> > +        Connection connection = startConnection(mysqlUrl, 
> > + mysqlUser,
> > mysqlPasswd);
> > +
> > +        ResultSet res = null;
> > +        PreparedStatement preStm = null;
> > +        try {
> > +            String stm = "SELECT COUNT(*) FROM `has_user` WHERE 
> > + user_name
> > = ? AND pass_word = ?";
> > +            preStm = connection.prepareStatement(stm);
> > +            preStm.setString(1, user);
> > +            preStm.setString(2, secret);
> > +            res = preStm.executeQuery();
> > +            if (res.next() && res.getInt(1) > 0) {
> > +              LOG.debug("UserName: " + user);
> > +            } else {
> > +                LOG.error("Authentication failed.");
> > +                throw new HasAuthenException("Authentication failed.");
> > +            }
> > +        } catch (SQLException e) {
> > +            LOG.error("Failed.");
> > +            LOG.error("Error code: " + e.getErrorCode());
> > +            LOG.error("Error message: " + e.getMessage());
> > +            throw new HasAuthenException("Authentication failed." +
> > e.getMessage());
> > +        } finally {
> > +            DbUtils.closeQuietly(preStm);
> > +            DbUtils.closeQuietly(res);
> > +            DbUtils.closeQuietly(connection);
> > +        }
> > +
> > +        authToken.setIssuer(userToken.getIssuer());
> > +        authToken.setSubject(user);
> > +        authToken.setExpirationTime(userToken.getExpiredTime());
> > +
> > +        authToken.addAttribute("userName", user);
> > +        authToken.addAttribute("passPhrase", user + secret);
> > +    }
> > +
> > +    /**
> > +     * Start the MySQL connection.
> > +     */
> > +    private Connection startConnection(String url, String user,
> > +                                       String password) throws
> > HasAuthenException {
> > +        Connection connection;
> > +        try {
> > +            Class.forName("org.drizzle.jdbc.DrizzleDriver");
> > +            connection = DriverManager.getConnection(url, user,
> > password);
> > +            if (!connection.isClosed()) {
> > +                LOG.info("Succeeded in connecting to MySQL.");
> > +            }
> > +        } catch (ClassNotFoundException e) {
> > +            throw new HasAuthenException("JDBC Driver Class not 
> > + found. ",
> > e);
> > +        } catch (SQLException e) {
> > +            throw new HasAuthenException("Failed to connecting to MySQL.
> > ", e);
> > +        }
> > +
> > +        return connection;
> > +    }
> > +}
> >
> > http://git-wip-us.apache.org/repos/asf/directory-kerby/
> > blob/9e370a76/has/has-plugins/src/main/resources/META-INF/
> > services/org.apache.hadoop.has.client.HasClientPlugin
> > --------------------------------------------------------------------
> > -- diff --git 
> > a/has/has-plugins/src/main/resources/META-INF/services/
> > org.apache.hadoop.has.client.HasClientPlugin
> > b/has/has-plugins/src/main/
> > resources/META-INF/services/org.apache.hadoop.has.client.HasClientPl
> > ug
> > in
> > deleted file mode 100644
> > index 09697dc..0000000
> > --- a/has/has-plugins/src/main/resources/META-INF/services/
> > org.apache.hadoop.has.client.HasClientPlugin
> > +++ /dev/null
> > @@ -1,15 +0,0 @@
> > -# Licensed to the Apache Software Foundation (ASF) under one or 
> > more -# contributor license agreements.  See the NOTICE file 
> > distributed with -# this work for additional information regarding 
> > copyright
> ownership.
> > -# The ASF licenses this file to You under the Apache License, 
> > Version
> > 2.0 -# (the "License"); you may not use this file except in 
> > compliance with -# the License.  You may obtain a copy of the License at -#
> > -#     http://www.apache.org/licenses/LICENSE-2.0
> > -#
> > -# Unless required by applicable law or agreed to in writing, 
> > software -# distributed under the License is distributed on an "AS 
> > IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
> > express or
> implied.
> > -# See the License for the specific language governing permissions 
> > and -# limitations under the License.
> > -
> >
> > http://git-wip-us.apache.org/repos/asf/directory-kerby/
> > blob/9e370a76/has/has-plugins/src/main/resources/META-INF/
> > services/org.apache.hadoop.has.server.HasServerPlugin
> > --------------------------------------------------------------------
> > -- diff --git 
> > a/has/has-plugins/src/main/resources/META-INF/services/
> > org.apache.hadoop.has.server.HasServerPlugin
> > b/has/has-plugins/src/main/
> > resources/META-INF/services/org.apache.hadoop.has.server.HasServerPl
> > ug
> > in
> > deleted file mode 100644
> > index 09697dc..0000000
> > --- a/has/has-plugins/src/main/resources/META-INF/services/
> > org.apache.hadoop.has.server.HasServerPlugin
> > +++ /dev/null
> > @@ -1,15 +0,0 @@
> > -# Licensed to the Apache Software Foundation (ASF) under one or 
> > more -# contributor license agreements.  See the NOTICE file 
> > distributed with -# this work for additional information regarding 
> > copyright
> ownership.
> > -# The ASF licenses this file to You under the Apache License, 
> > Version
> > 2.0 -# (the "License"); you may not use this file except in 
> > compliance with -# the License.  You may obtain a copy of the License at -#
> > -#     http://www.apache.org/licenses/LICENSE-2.0
> > -#
> > -# Unless required by applicable law or agreed to in writing, 
> > software -# distributed under the License is distributed on an "AS 
> > IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
> > express or
> implied.
> > -# See the License for the specific language governing permissions 
> > and -# limitations under the License.
> > -
> >
> > http://git-wip-us.apache.org/repos/asf/directory-kerby/
> > blob/9e370a76/has/has-plugins/src/main/resources/META-INF/
> > services/org.apache.kerby.has.client.HasClientPlugin
> > --------------------------------------------------------------------
> > -- diff --git 
> > a/has/has-plugins/src/main/resources/META-INF/services/
> > org.apache.kerby.has.client.HasClientPlugin
> > b/has/has-plugins/src/main/
> > resources/META-INF/services/org.apache.kerby.has.client.HasClientPlu
> > gi
> > n
> > new file mode 100644
> > index 0000000..cc3cac3
> > --- /dev/null
> > +++ b/has/has-plugins/src/main/resources/META-INF/services/
> > org.apache.kerby.has.client.HasClientPlugin
> > @@ -0,0 +1,16 @@
> > +# Licensed to the Apache Software Foundation (ASF) under one or 
> > +more # contributor license agreements.  See the NOTICE file 
> > +distributed with # this work for additional information regarding 
> > +copyright
> ownership.
> > +# The ASF licenses this file to You under the Apache License, 
> > +Version
> > +2.0 # (the "License"); you may not use this file except in 
> > +compliance with # the License.  You may obtain a copy of the License at #
> > +#     http://www.apache.org/licenses/LICENSE-2.0
> > +#
> > +# Unless required by applicable law or agreed to in writing, 
> > +software # distributed under the License is distributed on an "AS 
> > +IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
> > or implied.
> > +# See the License for the specific language governing permissions 
> > +and # limitations under the License.
> > +
> > +org.apache.kerby.has.plugins.client.mysql.MySQLHasClientPlugin
> >
> > http://git-wip-us.apache.org/repos/asf/directory-kerby/
> > blob/9e370a76/has/has-plugins/src/main/resources/META-INF/
> > services/org.apache.kerby.has.server.HasServerPlugin
> > --------------------------------------------------------------------
> > -- diff --git 
> > a/has/has-plugins/src/main/resources/META-INF/services/
> > org.apache.kerby.has.server.HasServerPlugin
> > b/has/has-plugins/src/main/
> > resources/META-INF/services/org.apache.kerby.has.server.HasServerPlu
> > gi
> > n
> > new file mode 100644
> > index 0000000..dfb9637
> > --- /dev/null
> > +++ b/has/has-plugins/src/main/resources/META-INF/services/
> > org.apache.kerby.has.server.HasServerPlugin
> > @@ -0,0 +1,16 @@
> > +# Licensed to the Apache Software Foundation (ASF) under one or 
> > +more # contributor license agreements.  See the NOTICE file 
> > +distributed with # this work for additional information regarding 
> > +copyright
> ownership.
> > +# The ASF licenses this file to You under the Apache License, 
> > +Version
> > +2.0 # (the "License"); you may not use this file except in 
> > +compliance with # the License.  You may obtain a copy of the License at #
> > +#     http://www.apache.org/licenses/LICENSE-2.0
> > +#
> > +# Unless required by applicable law or agreed to in writing, 
> > +software # distributed under the License is distributed on an "AS 
> > +IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
> > or implied.
> > +# See the License for the specific language governing permissions 
> > +and # limitations under the License.
> > +
> > +org.apache.kerby.has.plugins.server.mysql.MySQLHasServerPlugin
> >
> > http://git-wip-us.apache.org/repos/asf/directory-kerby/
> > blob/9e370a76/has/has-plugins/src/test/java/org/apache/kerby/has/plu
> > gi
> > ns/
> > TestHasClientPluginRegistry.java
> > --------------------------------------------------------------------
> > --
> > diff --git
> > a/has/has-plugins/src/test/java/org/apache/kerby/has/plugins/
> > TestHasClientPluginRegistry.java b/has/has-plugins/src/test/ 
> > java/org/apache/kerby/has/plugins/TestHasClientPluginRegistry.java
> > new file mode 100644
> > index 0000000..55f0f70
> > --- /dev/null
> > +++ b/has/has-plugins/src/test/java/org/apache/kerby/has/plugins/
> > TestHasClientPluginRegistry.java
> > @@ -0,0 +1,44 @@
> > +/**
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements.  See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership.  The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License.  You may obtain a copy of the License at
> > + *
> > + *     http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing, 
> > +software
> > + * distributed under the License is distributed on an "AS IS" 
> > +BASIS,
> > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > implied.
> > + * See the License for the specific language governing permissions 
> > +and
> > + * limitations under the License.
> > + */
> > +package org.apache.kerby.has.plugins;
> > +
> > +import org.apache.kerby.has.client.HasClientPluginRegistry;
> > +import org.apache.kerby.has.common.HasException;
> > +import org.junit.Assert;
> > +import org.junit.Test;
> > +
> > +import java.util.Set;
> > +
> > +public class TestHasClientPluginRegistry {
> > +
> > +  @Test
> > +  public void testInit() {
> > +    Set<String> pluginsNames = HasClientPluginRegistry.
> > registeredPlugins();
> > +    Assert.assertTrue(pluginsNames.size() > 0);  }
> > +
> > +  @Test
> > +  public void testCreatePlugin() throws HasException {
> > +    Assert.assertTrue(HasClientPluginRegistry.createPlugin("MySQL")
> > + !=
> > null);
> > +    Set<String> pluginNames = HasClientPluginRegistry.
> > registeredPlugins();
> > +    for (String name : pluginNames) {
> > +      HasClientPluginRegistry.createPlugin(name);
> > +    }
> > +  }
> > +}
> > +
> >
> > http://git-wip-us.apache.org/repos/asf/directory-kerby/
> > blob/9e370a76/has/has-plugins/src/test/java/org/apache/kerby/has/plu
> > gi
> > ns/
> > TestHasServerPluginRegistry.java
> > --------------------------------------------------------------------
> > --
> > diff --git
> > a/has/has-plugins/src/test/java/org/apache/kerby/has/plugins/
> > TestHasServerPluginRegistry.java b/has/has-plugins/src/test/ 
> > java/org/apache/kerby/has/plugins/TestHasServerPluginRegistry.java
> > new file mode 100644
> > index 0000000..d727b12
> > --- /dev/null
> > +++ b/has/has-plugins/src/test/java/org/apache/kerby/has/plugins/
> > TestHasServerPluginRegistry.java
> > @@ -0,0 +1,43 @@
> > +/**
> > + * Licensed to the Apache Software Foundation (ASF) under one
> > + * or more contributor license agreements.  See the NOTICE file
> > + * distributed with this work for additional information
> > + * regarding copyright ownership.  The ASF licenses this file
> > + * to you under the Apache License, Version 2.0 (the
> > + * "License"); you may not use this file except in compliance
> > + * with the License.  You may obtain a copy of the License at
> > + *
> > + *     http://www.apache.org/licenses/LICENSE-2.0
> > + *
> > + * Unless required by applicable law or agreed to in writing, 
> > +software
> > + * distributed under the License is distributed on an "AS IS" 
> > +BASIS,
> > + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > implied.
> > + * See the License for the specific language governing permissions 
> > +and
> > + * limitations under the License.
> > + */
> > +package org.apache.kerby.has.plugins;
> > +
> > +import org.apache.kerby.has.common.HasException;
> > +import org.apache.kerby.has.server.HasServerPluginRegistry;
> > +import org.junit.Assert;
> > +import org.junit.Test;
> > +
> > +import java.util.Set;
> > +
> > +public class TestHasServerPluginRegistry {
> > +
> > +  @Test
> > +  public void testInit() {
> > +    Set<String> pluginsNames = HasServerPluginRegistry.
> > registeredPlugins();
> > +    Assert.assertTrue(pluginsNames.size() > 0);  }
> > +
> > +  @Test
> > +  public void testCreatePlugin() throws HasException {
> > +    Assert.assertTrue(HasServerPluginRegistry.createPlugin("MySQL")
> > + !=
> > null);
> > +    Set<String> pluginNames = HasServerPluginRegistry.
> > registeredPlugins();
> > +    for (String name : pluginNames) {
> > +      HasServerPluginRegistry.createPlugin(name);
> > +    }
> > +  }
> > +}
> >
> >
>
>
> --
> Colm O hEigeartaigh
>
> Talend Community Coder
> http://coders.talend.com
>



--
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Reply via email to