[ 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)