Loong声明式服务使用方法

本文介绍了如何使用loong的webconsolebundle-plugin打包项目资源文件,并通过声明式服务实现组件的初始化和生命周期管理。详细阐述了如何定义服务元数据、配置服务接口以及使用Maven进行打包的过程。

  使用loong的webconsolebundle-plugin打包项目中的资源文件

<plugin>
		<groupId>org.trustie.loong.modules.loong-webconsole</groupId>
		<artifactId>loong-webconsolebundle-plugin</artifactId>
		<version>1.0.0</version>
		<extensions>true</extensions>
		<configuration>
			<attchFiles>
				plugin.xml,
				resources
			</attchFiles>
		</configuration>
</plugin>
 

 

Loong声明式服务使用

 

先定义一个metadata.xml文件

 

<?xml version="1.0" encoding="utf-8"?>
<DService>
	<!-- tree -->
	<component name="TreeNodeProvider" structure="true" immediate="false"
		classname="com.cvicse.inforguard.utmp.analysis.storage.business.impl.TreeNodeImpl">
		<service />
		<lifecycle valid="starting" invalid="stopping" />
		<reference field="m_baseDao" />
		<reference field="m_machineRoomDao" />
		<reference field="m_mibSrv" />
	</component>

	<!-- create instance -->
	<instance component="TreeNodeProvider" name="TreeNodeProviderInstance" />
</DService>

 这样声明了一个叫TreeNodeProvider的服务。服务要有一个接口。服务中引用的其他服务使用reference来表示 field后面直接家类属性。其中该属性定义的是接口类型。例如referenc 中m_baseDao。其类型为IBaseDao

 

其中lifecycle 中starting 和invalid 定义的是该服务被初始化后执行valid 后面定义的starting()方法。服务被停止执行invalid后面定义的stopping()方法

 

public class TreeNodeImpl implements ITreeNode {
	/**
	 * Dao对象
	 */
	private IBaseDao m_baseDao;

	/**
	 * 机房Dao
	 */
	private IMachineRoomDao m_machineRoomDao;

	/**
	 * 资产定位信息模板
	 */
	private IMib m_mibSrv;
 
    ......
}

 使用Maven打包,其代码为:

 

......
<plugin>
	<groupId>org.apache.felix</groupId>
	<artifactId>maven-bundle-plugin</artifactId>
	<version>2.0.0</version>
	<extensions>true</extensions>
	<configuration>
		<instructions>
			<Bundle-SymbolicName>
				${pom.artifactId};singleton:=true
			</Bundle-SymbolicName>
			<Bundle-Version>
				${project.version}
			</Bundle-Version>
			<Private-Package>
				com.cvicse.inforguard.utmp.analysis.storage,
				com.cvicse.inforguard.utmp.analysis.storage.business,
				com.cvicse.inforguard.utmp.analysis.storage.business.impl,
				com.cvicse.inforguard.utmp.analysis.storage.asset.service.impl
			</Private-Package>
			<Include-Resource>
				metadata.xml
			</Include-Resource>
		</instructions>
	</configuration>
</plugin>
<!-- loong的声明式服务打包插件 -->
<plugin>
	<groupId>org.trustie.loong.modules.loong-dservice</groupId>
	<artifactId>loong-dservice-plugin</artifactId>
	<version>1.2.1</version>
	<executions>
		<execution>
			<goals>
				<goal>dservice-bundle</goal>
			</goals>
		</execution>
	</executions>
</plugin>
......
数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究(Matlab代码实现)内容概要:本文围绕“数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究”展开,提出了一种结合数据驱动与分布鲁棒优化方法的建模框架,用于解决电热综合能源系统在不确定性环境下的优化调度问题。研究采用两阶段优化结构,第一阶段进行预决策,第二阶段根据实际场景进行调整,通过引入1-范数和∞-范数约束来构建不确定集,有效刻画风电、负荷等不确定性变量的波动特性,提升模型的鲁棒性和实用性。文中提供了完整的Matlab代码实现,便于读者复现和验证算法性能,并结合具体案例分析了不同约束条件下系统运行的经济性与可靠性。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及工程技术人员,尤其适合从事综合能源系统、鲁棒优化、不确定性建模等相关领域研究的专业人士。; 使用场景及目标:①掌握数据驱动的分布鲁棒优化方法在综合能源系统中的应用;②理解1-范数和∞-范数在构建不确定集中的作用与差异;③学习两阶段鲁棒优化模型的建模思路与Matlab实现技巧,用于科研复现、论文写作或工程项目建模。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现细节,重点关注不确定集构建、两阶段模型结构设计及求解器调用方式,同时可尝试更换数据或调整约束参数以加深对模型鲁棒性的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值