在上面介绍利用JSR94的api使用的章节中,我们使用的具体引擎的实现是一个商业产品,如果想了解Drools的使用,这里有一份入门的参考文章:http://blog.csdn.net/tigerflower/archive/2006/09/06/1185922.aspx。由于关于blaze的文章很少,这里根据经验,简单介绍一下它的实现。 blaze是由blazeSoft公司提供的产品,由于是商业产品,因此专门IDE非常强大,现在流行的版本是Blaze Advisor5.5和Blaze Advisor6.x.。blaze的开发模式有编程式开发的好处,也有声明式开发的好处。在开发的IDE,你看到 ...
上面说到,目前在市场上留下多种规则引擎的产品,同样有多种的规则引擎语言,存在兼容性的问题。因此,我们必须提供一个统一的,标准的接口,来实现规则引擎的具体实现与业务应用系统之间的解耦,就像JDBC能够适应多种数据库一样,JSR 94也就顺势而生。当然,由于在语言级的标准路还很长,因此JSR 94只是在java中接口级别的标准。它的出现可以避免在更换实现产品时,必须重写应用程序逻辑和API调用的噩梦。JSR 94的官方网站为:http://jcp.org/en/procedures/jcp2 SR94 的规则引擎API介绍 我们先来看看包内主要的类,如图jsr94.bmp。 我们可以看到,包 ...
最近刚刚接触JAVA的规则引擎,一般的系统而言,业务不是非常复杂,而且变化少,因此很少采用什么规则引擎,最近接触了一个规则引擎的系统,是使用BlazeSoft公司的Blaze来实现的,自己对它正在了解中,把具体的实现相关的知识,写下来,以待进一步的整理。 本系列文章主要先人云亦云地介绍一下规则引擎的背景知识(本人了解规则引擎不多),接着介绍JSR94的API和具体的实现,以及blaze自己提供的java api的简单介绍和实现,然后介绍一下BlazeSoft公司的blaze的搭建、开发和部署,以及在java环境中的集成,简单介绍一下Blaze使用的规则语言,srl的语法。 规则引擎的简介 ...
一篇很好的介绍swing下的线程问题的文章,原理跟各个方面都提及到了进行swing编程不可能不遇上线程问题 Swing API的设计目标是强大、灵活和易用。特别地,我们希望能让程序员们方便地建立新的Swing组件,不论是从头开始还是通过扩展我们所提供的一些组件。   出于这个目的,我们不要求Swing组件支持多线程访问。相反,我们向组件发送请求并在单一线程中执行请求。   本文讨论线程和Swing组件。目的不仅是为了帮助你以线程安全的方式使用Swing API,而且解释了我们为什么会选择现在这样的线程方案。   本文包括以下内容:    单线程规则:Swing线程在 ...
今天在在web.xml里加入了过滤类,错误信息如下: May 11, 2006 11:42:13 AM org.apache.catalina.core.StandardContext start SEVERE: Error filterStart May 11, 2006 11:42:13 AM org.apache.catalina.core.StandardContext start SEVERE: Context startup failed due to previous errors   2005-11-20 14:19:37 org.apache.cat ...
1.多线程中有主内存和工作内存之分, 在JVM中,有一个主内存,专门负责所有线程共享数据;而每个线程都有他自己私有的工作内存, 主内存和工作内存分贝在JVM的stack区和heap区。 2.线程的状态有'Ready', 'Running', 'Sleeping', 'Blocked', 和 'Waiting'几个状态, 'Ready' 表示线程正在等待CPU分配允许运行的时间。 3.线程运行次序并不是按照我们创建他们时的顺序来运行的,CPU处理线程的顺序是不确定的,如果需要确定,那么必须手工介入,使用setPriority()方法设置优先级。 4.我们无从知道一个线程什么时候运行,两个 ...
Check to see if the current operating system is a Windows OS: public static boolean isWindows() { return System.getProperty("os.name").indexOf("Windows") != -1; } Check to see if the current Java Virtual Machine is made by Microsoft: public static boolean isMSJVM() { re ...
在接触spring 和hibernate的时候就不断看到有人提到大名鼎鼎的jive论坛了,可一直没有时间深入研究,现在下载了源代码,好好研究研究......
Java中ThreadLocal的设计与使用. Linuxmine收集整理作者:linux 宝库(http://www.linuxmine.com) 时间:2006-09-02 收藏本站 早在Java 1.2推出之 时,Java平台中就引入了一个新的支持:java.lang.ThreadLocal,给我们在编写多线程程序 时提供了一种新的 http://www.linuxmine.com/44172.html   早在Java 1.2推出之时,Java平台中就引入了一个新的支持:java.lang.ThreadLocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简 ...
最近使用hibernate开发公司内部使用的软件工程管理和代码同步纪录的软件 遇到一个跨7个表查询的功能,查询比较复杂,弃用基于实体查询,转用本地sql查询 建立一个视图:vw_medcfiles 视图有depot_path,changlist_no字段 depot_path有重复值时,取changlist_no最大的纪录。 后来我用语句: select * from vw_medcfiles v where (V.depot_path,v.changelist_no) in ( SELECT t1.depot_path,max(t1.changeli ...
文章转自http://www.blogjava.net/caixuetao/articles/60631.html假设要通过stuName查询一个学生Student记录,可以如下: DetachedCriteria dc = DetachedCriteria.forClass(Student.class); dc.add(Restrictions.like("stuName", stuName, MatchMode.ANYWHERE)); 如果要通过Student的Team的teamName查询一个Student记录,很多人都会这么写: DetachedCriter ...
一个笔记: 1 关于marshal类:(对映射文件的处理) Marshaller类用来将一个Java类转换为XML数据。UnMarshaller类转换一个XML文档成Java对象。 对映射文件处理的简单例子的代码片断: Marshaller marshaller; Mapping _mapping; PrintWriter writer; MyClass myObject; ……………… // 创建marshaller对象并载入Mapping映射规则 marshaller = new Marshaller( writer ); marshaller.setMapping( _m ...
jefferson
搜索本博客
我的相册
146ea884-8fa7-3be1-9c20-cf86f19af8a0-thumb
P2110296
共 45 张
最近加入圈子
存档
最新评论