[ 
https://issues.apache.org/jira/browse/MAPREDUCE-750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12729907#action_12729907
 ] 

Aaron Kimball commented on MAPREDUCE-750:
-----------------------------------------

This patch creates this public API. The {{sqoop.conn.factories}} parameter has 
been added to mapred-default.xml. This parameter defaults to the 
{{DefaultManagerFactory}} implementation supplied in Sqoop, which contains much 
of the logic previously in {{ConnManager}}. 

The names of additional classes implementing {{ManagerFactory}} may be added to 
the config parameter. The ConnFactory implementation will instantiate all such 
{{ManagerFactory}} implementations. When {{ConnFactory.getManager()}} is 
called, it will consult the {{accept()}} all {{ManagerFactory}} implementations 
in order, returning the first non-null value returned by an {{accept()}} method 
(similar to the delegation mechanism used by the Serializations framework).


> Extensible ConnManager factory API
> ----------------------------------
>
>                 Key: MAPREDUCE-750
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-750
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: contrib/sqoop
>            Reporter: Aaron Kimball
>            Assignee: Aaron Kimball
>         Attachments: MAPREDUCE-750.patch
>
>
> Sqoop uses the ConnFactory class to instantiate a ConnManager implementation 
> based on the connect string and other arguments supplied by the user. This 
> allows per-database logic to be encapsulated in different ConnManager 
> instances, and dynamically chosen based on which database the user is 
> actually importing from. But adding new ConnManager implementations requires 
> modifying the source of a common ConnFactory class. An indirection layer 
> should be used to delegate instantiation to a number of factory 
> implementations which can be specified in the static configuration or at 
> runtime.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to