JBOSS Rule日记(-)

本文介绍了JBoss Rule的基本概念,包括规则文件的扩展名.drl、规则的结构组成、左侧条件(LHS)支持的方式如column和eval等、右侧动作(RHS)的操作如modify和assert等,并解释了属性集中的不同类型如no-loop和salience的作用。

JBOSS Rule

1. 规则扩展名drl

2. 规则结构

rule "name"
    ATTRIBUTES
    when
        LHS
    then
        RHS
end
 

name--必须,规则名字

ATTRIBUTES--可选,用来简单描述规则行为,后续分解

LHS--即规则条件,后续分解

RHS--规则动作,后续分解

3. LHS支持几种方式,column, eval, and, or, group

4. RHS规则动作,有几种快捷操作

modify(obj)--修改规则引擎中对象

assert(new obj())--生成新对象

retract(obj)--从规则引擎中删除对象

assertLogic(new obj())--生成对象如果没有匹配则自动删除

5. ATTRIBUTE集中类型:no-loop,salience,agenda-group,auto-focus,activation-group,duration

no-loop缺省值false,为true时候为如果条件因为规则改变会再次触发这条规则

salience缺省0,数字越高代表规则优先级越高

agenda-group省略

auto-focus省略

activation-group省略

duration没有缺省值

多源动态最优潮流的分布鲁棒优化方法(IEEE118节点)(Matlab代码实现)内容概要:本文介绍了基于Matlab代码实现的多源动态最优潮流的分布鲁棒优化方法,适用于IEEE118节点电力系统。该方法结合两阶段鲁棒模型与确定性模型,旨在应对电力系统中多源输入(如可再生能源)的不确定性,提升系统运行的安全性与经济性。文中详细阐述了分布鲁棒优化的建模思路,包括不确定性集合的构建、目标函数的设计以及约束条件的处理,并通过Matlab编程实现算法求解,提供了完整的仿真流程与结果分析。此外,文档还列举了大量相关电力系统优化研究案例,涵盖微电网调度、电动汽车集群并网、需求响应、储能配置等多个方向,展示了其在实际工程中的广泛应用价值。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事能源系统优化工作的工程师。; 使用场景及目标:①用于研究高比例可再生能源接入背景下电力系统的动态最优潮流问题;②支撑科研工作中对分布鲁棒优化模型的复现与改进;③为电力系统调度、规划及运行决策提供理论支持与仿真工具。; 阅读建议:建议读者结合提供的Matlab代码与IEEE118节点系统参数进行实操演练,深入理解分布鲁棒优化的建模逻辑与求解过程,同时可参考文中提及的其他优化案例拓展研究思路。
### 详解 `jboss-deployment-structure.xml` 文件的作用与配置 `jboss-deployment-structure.xml` 是 JBoss EAP 或 WildFly 等基于 JBoss Modules 架构的应用服务器中用于控制模块依赖关系和类加载行为的重要配置文件。该文件允许开发者在不修改 `MANIFEST.MF` 和 `jboss-web.xml` 的前提下,精确控制模块依赖、隐藏某些类路径资源、覆盖默认模块版本等,从而避免类冲突和依赖管理混乱的问题。 #### 模块依赖管理 在 JBoss 中,模块(Module)是组织类和资源的基本单位,每个模块都有一个唯一的名称和版本。通过 `jboss-deployment-structure.xml` 可以显式声明部署单元(如 WAR、EAR)所需的模块依赖。例如,若应用依赖特定版本的 `org.hibernate` 模块,可在配置文件中添加如下内容: ```xml <jboss-deployment-structure> <deployment> <dependencies> <module name="org.hibernate" slot="main" /> </dependencies> </deployment> </jboss-deployment-structure> ``` 此配置确保部署的应用程序使用指定模块,而不是服务器默认提供的版本,避免因版本不一致导致的运行时错误。 #### 隐藏服务器提供的模块 某些情况下,应用可能自带某些库(如日志框架、JPA 提供商等),不希望使用服务器提供的模块。此时可以使用 `<exclusions>` 标签排除特定模块,防止其被自动引入: ```xml <dependencies> <module name="org.apache.log4j" /> <exclusions> <module name="org.jboss.logging" /> </exclusions> </dependencies> ``` 该配置会阻止 JBoss 自动加载 `org.jboss.logging` 模块,确保应用使用其自带的日志实现。 #### 控制子部署的类加载行为 对于 EAR 包中的多个子部署(如多个 WAR 或 EJB JAR),可以通过 `<sub-deployment>` 标签分别控制其类加载策略。例如,可以为每个子部署设置独立的类加载器,防止类冲突: ```xml <sub-deployments-isolated>true</sub-deployments-isolated> ``` 此配置确保每个子部署使用独立的类加载器,避免共享类导致的冲突问题。 #### 覆盖默认模块版本 JBoss 提供了多个版本的模块供部署使用,若需使用非默认版本的模块,可在 `<module>` 标签中指定 `slot` 属性。例如,使用 `org.jboss.as.web` 的 `1.1` 版本而非默认的 `main` 版本: ```xml <module name="org.jboss.as.web" slot="1.1" /> ``` 该配置确保部署时加载指定版本的模块,避免因版本差异引发的兼容性问题。 #### 示例完整配置 以下是一个典型的 `jboss-deployment-structure.xml` 文件示例,展示了模块依赖、排除和子部署隔离的配置方式: ```xml <jboss-deployment-structure> <deployment> <sub-deployments-isolated>true</sub-deployments-isolated> <dependencies> <module name="org.hibernate" slot="main" /> <module name="org.apache.log4j" /> <exclusions> <module name="org.jboss.logging" /> </exclusions> </dependencies> </deployment> </jboss-deployment-structure> ``` 此配置适用于需要使用自定义 Hibernate 和 Log4j 实现,同时避免使用 JBoss 提供的 `org.jboss.logging` 模块的场景。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值