[ 
https://issues.apache.org/jira/browse/CASSANDRA-8241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14206161#comment-14206161
 ] 

Robert Stupp commented on CASSANDRA-8241:
-----------------------------------------

ecj.jar is just the java compiler - there are no more dependencies required. I 
think the Eclipse compiler is fine and used by other projects (e.g. Tomcat).

OTOH we could also support both javac + ecj since ecj supports the Java 
Compiler API - but that would add complexity in dev + ops. So I'm not sold on 
that.

Not sure whether pulling in some source template makes code generation easier 
to read/maintain since we have several replacements that use variable argument 
lists. But I try that.

Sure - allowing user-provided source code integration is painful. We can add 
some support to help users not to accidentally add bad code. Just thought about 
some library/tool that users can use (just created CASSANDRA-8289 for that).

> Use javac instead of javassist
> ------------------------------
>
>                 Key: CASSANDRA-8241
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8241
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Robert Stupp
>            Assignee: Robert Stupp
>              Labels: udf
>             Fix For: 3.0
>
>         Attachments: 8241-ecj.txt, udf-java-javac.txt
>
>
> Using JDK's built-in Java-Compiler API has some advantages over javassist.
> Although compilation feels a bit slower, Java compiler API has some 
> advantages:
> * boxing + unboxing works
> * generics work
> * compiler error messages are better (or at least known) and have line/column 
> numbers
> The implementation does not use any temp files. Everything's in memory.
> Patch attached to this issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to