设为首页 收藏本站
查看: 697|回复: 0

[经验分享] Hadoop错误解决

[复制链接]

尚未签到

发表于 2016-12-7 08:47:51 | 显示全部楼层 |阅读模式
public RulesEngine2(String rulesFile) throws RulesEngineException {
super();
try {
PackageBuilderConfiguration kcfg = new PackageBuilderConfiguration();
JavaDialectConfiguration javaConf = (JavaDialectConfiguration) kcfg
.getDialectConfiguration("java");
//不知道是干吗用的
javaConf.setCompiler(JavaDialectConfiguration.JANINO);

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory
.newKnowledgeBuilder(kcfg);
kbuilder.add(ResourceFactory.newFileResource(rulesFile),
ResourceType.DRL);
Collection<KnowledgePackage> pkgs = kbuilder.getKnowledgePackages();
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(pkgs);
ksession = kbase.newStatefulKnowledgeSession();
} catch (Exception e) {
throw new RulesEngineException(
"Could not load/compile rules file: " + rulesFile, e);
}
}


二、

Janino

简介




引用:http://tech.techweb.com.cn/archiver/tid-190424.html
       Janino
是一种内嵌的开源Java编译器。Janino并不是一种提供给开发人员编译程序的编译器,而是Java程序在运行时编译Java代码的编译器。


      
对使用过JSP的Java开发人员来说,Java源代码(通常内嵌于
JSP中)动态编译成类文件是很熟悉的技术。但却未必知晓此技术的复杂性。而造成它比较笨拙的原因在于需要安装JDK(非JRE)。由于JDK并非免费,
于是又出现了license的问题。此外,对于不同的平台,需进行不同的平台配置并部署相应的类文件。对简化版的程序也同样需要复杂的操作。


      
尽管存在以上的问题,一些开源内库如Jasper仍基于JDK,且能提供很好的程序执行功能。基于Java的构建工具Ant同样面临在编译Java代码时需克服过于复杂的问题。基于以上所述,动态编译Java代码通常被认为是没有办法的办法,且在实际应用中表现欠佳。


 


       Janino
采用如下的方式来解决这些问题:


1.
   

Janino如同普通的应用程序一样,运行在JVM上,而不是将编译的工作间接转交给javac(或是等同的Java编译器)来完成。同时也不需要额外的配置或安装JDK。


2. 
由于Janino直接从JVM获得classes类文件,而不是通过应用程序获取class文件和.jar文件。这意味着无需考虑权限问题或是构建路径的配置。


3
        

Janino提供一种简单易用的方式来编译表达、脚本和classes类文件。开发人员无需关心加载动态生成代码的技术细节,因为Janino自动实现了它。在最简单的层面,传递一个包含Java代码的字符串即可返回一个对象。


Janino被更广范的应用于那些比较复杂、杂乱且与平台相关的Java应用程序的源码编译。Janino通过动态编译代码,从而提高了程序的性能。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-310731-1-1.html 上篇帖子: [Hadoop] TopK的一个简单实现 下篇帖子: Hadoop Replication策略
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表