[jira] [Commented] (KAFKA-6914) Kafka Connect - Plugins class should have a constructor that can take in parent ClassLoader

2018-05-24 Thread Sriram KS (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489653#comment-16489653
 ] 

Sriram KS commented on KAFKA-6914:
--

[~ewencp] The case i have is I am building a Uber jar which contains all of 
Kafka Connect and its dependent jars so that i can run it as a jar application. 
I use Spring Boot maven plugin to create the Uber jar.

This app i am creating is a Spring boot jar application .

Need : to run the Kafka Connect as a jar application instead of sh.

Reason : the environment i have for deployment is Openshift managed and only 
template available is jar

Solution : wrote a wrapper for Distributed.java exactly having the same code in 
it , but manage the application parameters like properties and other 
dependencies using Spring.

Issue : The classLoader which Plugins class creates is Delegation Class Loader 
which in turn has parent class assigned as System.getClassLoader()  and Spring 
boot has constraint around it because of its own classLoading assumptions

[https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html]

Current Solution : Reimplemented Plugins and Delegating ClassLoader so that i 
create an instance of DelegatingClassLoader by passing on a Parent Class Loader 
which is Spring Boot class Loader

Easy Solution : having a new constructor in Plugin which can taken in a parent 
ClassLoader for the Delegating ClassLoader it creates

> Kafka Connect - Plugins class should have a constructor that can take in 
> parent ClassLoader
> ---
>
> Key: KAFKA-6914
> URL: https://issues.apache.org/jira/browse/KAFKA-6914
> Project: Kafka
>  Issue Type: Bug
>Reporter: Sriram KS
>Priority: Major
> Fix For: 1.1.1
>
>
> Currently Plugins class has a single constructor that takes in map of props.
> Please make Plugin class to have a constructor that takes in a classLoader as 
> well and use it to set DelegationClassLoader's parent classLoader.
> Reason:
> This will be useful if i am already having a managed class Loader environment 
> like a Spring boot app which resolves my class dependencies using my 
> maven/gradle dependency management.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (KAFKA-6914) Kafka Connect - Plugins class should have a constructor that can take in parent ClassLoader

2018-05-18 Thread Sriram KS (JIRA)

 [ 
https://issues.apache.org/jira/browse/KAFKA-6914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sriram KS updated KAFKA-6914:
-
Fix Version/s: 1.1.1

> Kafka Connect - Plugins class should have a constructor that can take in 
> parent ClassLoader
> ---
>
> Key: KAFKA-6914
> URL: https://issues.apache.org/jira/browse/KAFKA-6914
> Project: Kafka
>  Issue Type: Bug
>Reporter: Sriram KS
>Priority: Major
> Fix For: 1.1.1
>
>
> Currently Plugins class has a single constructor that takes in map of props.
> Please make Plugin class to have a constructor that takes in a classLoader as 
> well and use it to set DelegationClassLoader's parent classLoader.
> Reason:
> This will be useful if i am already having a managed class Loader environment 
> like a Spring boot app which resolves my class dependencies using my 
> maven/gradle dependency management.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (KAFKA-6914) Kafka Connect - Plugins class should have a constructor that can take in parent ClassLoader

2018-05-17 Thread Sriram KS (JIRA)
Sriram KS created KAFKA-6914:


 Summary: Kafka Connect - Plugins class should have a constructor 
that can take in parent ClassLoader
 Key: KAFKA-6914
 URL: https://issues.apache.org/jira/browse/KAFKA-6914
 Project: Kafka
  Issue Type: Bug
Reporter: Sriram KS


Currently Plugins class has a single constructor that takes in map of props.

Please make Plugin class to have a constructor that takes in a classLoader as 
well and use it to set DelegationClassLoader's parent classLoader.

Reason:

This will be useful if i am already having a managed class Loader environment 
like a Spring boot app which resolves my class dependencies using my 
maven/gradle dependency management.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)