`
terry0501
  • 浏览: 315166 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Diamond 配置生成

 
阅读更多
/**
* ===============================================================================
* The Shenma Internet Financial Information Software License
*
* Copyright (c) 2017 Shenma Internet Financial Information Service Co., Ltd.
*
* @Company:  xushenjk www.xushen.com
*
* @Project: shenma-samp-server

* @Author:  Kaiyun.Fu
* @Created at 2017年12月2日下午9:06:52
* ===============================================================================
*/

package com.shenm.account.server.test;

import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.EncodedResource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.PropertiesLoaderUtils;
import org.springframework.core.io.support.ResourcePatternResolver;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.Properties;

/**
*
* @author gaohailiang
* @Created at 2017年12月2日下午9:06:52
*/
@Slf4j
public class ResourceTest {

@Test 
     public void testClasspathAsteriskPrefix()throws IOException{

         ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver();
        
         //将加载多个绝对匹配的所有Resource 
         //将首先通过ClassLoader.getResource("META-INF")加载非模式路径部分 
         //然后进行遍历模式匹配 
         // classpath*:*-test.properties
         //Resource[] resources = (Resource[]) resolver.getResources("classpath*:META-INF/INDEX.LIST");  
        // Resource[] resources = (Resource[]) resolver.getResources("classpath*:*-test.properties");  
         Resource[] resources = resolver.getResources("classpath*:application-*.properties");
         for(Resource resource:resources){
        log.info(resource.getFilename());
         }
        // Assert.assertTrue(resources.length > 1);   
         //将加载多个模式匹配的Resource 
        // resources = (Resource[]) resolver.getResources("classpath*:META-INF/*.LIST"); 
       //  Assert.assertTrue(resources.length > 1);    
         
     } 

private static final String SAMP = "shenma-samp";
private static final String EVN = "application-production";

/**
  * 配置文件转Json 用于上传到配置中心
* @throws IOException
*/
@Test
public void printJson() throws IOException{
ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("classpath*:"+EVN+".properties");
        
// Properties propertie = new Properties();

         List<Properties> properties = new ArrayList<Properties>();
for (Resource rsrc : resources) {
log.info("Filename = "+rsrc.getFilename());
log.info("Description="+rsrc.getDescription());
// if(!rsrc.getDescription().contains(SAMP)){
// log.info(rsrc.getFilename()+ "不是  SAMP 工程配置文件,不解析.--"+rsrc.getDescription());
// continue;
// }
EncodedResource enrsrc = new EncodedResource(rsrc);
Properties tmpProperties = PropertiesLoaderUtils.loadProperties(enrsrc);
properties.add(tmpProperties);
}
List<XdiaConfig> list = new ArrayList<XdiaConfig>();
for (Properties p : properties) {
Enumeration<?> enu = p.propertyNames();
while (enu.hasMoreElements()) {
String key = (String) enu.nextElement();
XdiaConfig xc = new XdiaConfig(key, p.getProperty(key), key);
list.add(xc);
//propertie.setProperty(key, p.getProperty(key));
}
}
log.info("配置中心初始化全量Key Value:"+ JSON.toJSONString(list));
}
}

class XdiaConfig {

private String key;

private String value;

private String description;

/**
* @param key
* @param value
*/
public XdiaConfig(String key, String value, String description) {
super();
this.key = key;
this.value = value;
this.description = description;
}

public String getKey() {
return key;
}

public void setKey(String key) {
this.key = key;
}

public String getValue() {
return value;
}

public void setValue(String value) {
this.value = value;
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description;
}

}

spring 配置

<bean id="xDiamondConfig"
class="io.github.xdiamond.client.spring.XDiamondConfigFactoryBean">
<property name="serverHost" value="${com.shenma.xdiamond.serverHost}" />
<property name="serverPort" value="${com.shenma.xdiamond.serverPort}" />
<property name="groupId" value="${com.shenma.xdiamond.groupId}" />
<property name="artifactId" value="${com.shenma.xdiamond.artifactId}" />
<property name="version" value="${com.shenma.xdiamond.version}" />
<property name="bSyncToSystemProperties" value="${com.shenma.xdiamond.bSyncToSystemProperties}"/>
<property name="profile" value="${com.shenma.xdiamond.profile}" />
<property name="secretKey" value="${com.shenma.xdiamond.secretKey}"></property>
</bean>

分享到:
评论

相关推荐

    Lattice厂家开发软件Diamond安装文件 License

    - 编程与配置:生成编程文件并烧录到 FPGA 中。 总之,Lattice Diamond 软件结合了有效的 License 文件,为 FPGA 开发提供了强大的支持。通过正确安装和使用,开发者能够充分利用 Lattice FPGA 的潜能,实现高效的...

    美国钻石公司数据采集卡DIAMOND-MM-32-AT 技术手册

    板卡配置图详细展示了DIAMOND-MM-32-AT的具体布局,包括各种端口的位置、方向和连接方式。这对于安装和使用该设备非常有帮助。 #### I/O头针脚定义与描述 这部分提供了DIAMOND-MM-32-AT所有外部接口的详细说明,...

    Diamond晶体结构绘制软件教程

    #### 三、Diamond软件安装与配置 1. **软件安装**:根据用户手册的指引完成软件的安装过程。Diamond软件兼容多种操作系统,并且包含必要的渲染引擎(如POV-Ray)。 2. **在线更新**:通过网络自动检测并安装最新版本...

    Extreme 交换机命令文档

    本文档主要针对BlackDiamond Extreme交换机的命令行接口(CLI)进行深入讲解,帮助用户理解和掌握如何通过命令行配置和管理交换机。 一、基础配置 在BlackDiamond Extreme交换机中,命令行配置是主要的管理和配置...

    Lattice Synthesis Engine for Diamond User Guide

    它会分析设计中的逻辑门、触发器、连线等元素,生成最适合目标FPGA架构的配置。 在Lattice Diamond中,用户可以设定各种综合参数,例如最大时钟频率、最小化功耗或最小化面积。这些参数的调整将直接影响最终的实现...

    通用WAP网站生成系统(PowerDiamond) v.1

    为了减少WAP网站的建设,企业可以使用Power Diamond通用WAP网站生成系统自动生成静态WAP网站,本系统只需要在XML文件中配置相关的参数,即可生成符合WML语法规范的.wml文件,将企业的信息在手机上广泛传播。

    ## 通用WAP网站生成系统PowerDiamond v.1

    可以使用Power Diamond通用WAP网站生成系统自动生成静态WAP网站,本系统只需要在XML文件中配置相关的参数,即可生成符合WML语法规范的.wml文件,将企业的信息在手机上广泛传播,与现有系统无缝整合,自动将页面内容...

    LATICE CPLD 生成VME文件指导教程

    Lattice CPLD 生成 VME 文件指导教程 在 FPGA/CPLD 设计中,经常需要将编译后的 Jed 文件转换为 VME 文件,以便在不同的应用场合中使用。本指导教程将详细介绍 Lattice CPLD 生成 VME 文件的步骤。 Step 1: 将 Jed...

    3.9.0.99.2_Programmer.zip

    在实际应用中,用户首先需要使用Lattice Diamond的集成开发环境完成FPGA设计,包括逻辑综合、布局布线等步骤,然后生成相应的配置文件(如.bit或.sof文件)。接下来,通过Lattice Diamond Programmer将这个配置文件...

    Diamond加密算法

    2. **资源文件**:DIAMOND.DAT 和 DLOCK.DAT 可能是用于算法的配置文件或预生成的加密数据,它们可能包含密钥、初始化向量或其他与加密过程相关的参数。 3. **批处理文件**:MPJ4.ASC、VALIDATE.BAT 和 MAKDLOCK....

    Lattice生成黑匣子的方法

    - **运行TranslateDesign**:在Lattice Diamond软件中,运行TranslateDesign命令来完成黑匣子文件的生成。 - **查找黑匣子文件**:在工程目录下,打开与工程同名的文件夹,如`machxo2_71lvds_mini`,找到生成的`.ngo...

    multisim仿真及diamond(简单秒表及带暂停复位秒表)

    在Diamond中,用户可以使用硬件描述语言(如VHDL或Verilog)编写代码,通过综合、布局布线等步骤,最终生成可烧录到FPGA芯片上的位流文件。 在这个特定的项目中,"简单秒表及带暂停复位秒表"可能是利用FPGA实现的一...

    houdini-diamondsquare:Houdini SOP中地形生成的菱形平方算法

    Diamond-Square Houdini SOP 这是我的到 Houdini SOP 的端口。 有关实现的更多详细信息,请参阅原始插件的页面(例如,它包装、迭代等)。 该端口也像原始端口一样。 要编译 SOP 并将其安装到本地 Houdini 目录, ...

    lattice ddr3控制器 开发手册

    - **自动化引脚配置生成**:工具根据用户输入的设计参数,自动生成符合 DDR3 SDRAM 控制器 IP 核心要求的引脚配置。 - **Excel 文件输出**:生成的引脚配置以 Excel 文件形式输出,方便用户查看和编辑。 - **LPF ...

    licensecsdn1.zip

    Lattice Diamond是Lattice公司提供的集成开发环境(IDE),它集成了许多关键功能,包括设计输入、逻辑综合、时序分析、布局布线、硬件仿真以及配置文件生成等。通过这个IDE,开发者可以方便地进行FPGA设计流程,从...

    毕业设计MATLAB_使用菱形正方形算法生成分形景观.zip

    在这个毕业设计中,重点是使用MATLAB来实现菱形正方形算法(Diamond-Square Algorithm),这是一种生成二维分形景观的常用方法。 【描述】"毕业设计MATLAB源码资料"提示我们这个项目主要关注的是代码实现部分,即...

    参考资料-基于单片机的cpldfpga被动串行下载配置的实现.zip

    6. **编程工具**:通常需要使用专门的软件工具,如Xilinx的Vivado或Lattice的Diamond,来生成CPLD/FPGA的配置文件,这些文件然后由单片机读取并发送到目标设备。 7. **应用实例**:这样的配置方式常用于实验室环境...

    BmpToMif(Mif文件生成器)

    这些参数的设置确保了生成的MIF文件能够正确匹配目标FPGA的硬件配置。 使用BmpToMif的过程大致如下: 1. 下载并解压BmpToMif.rar文件,得到BmpToMif工具。 2. 运行工具,选择输入的BMP或TXT文件。 3. 设置MIF文件的...

    mc8051软ip,小脚丫平台,mxo2-4000hc,lattice芯片,diamond工程

    “Diamond工程”指的是Lattice的Diamond软件工具链,它是为Lattice FPGA和CPLD设计而开发的一套综合工具,包括设计输入、逻辑综合、布局布线、配置文件生成以及仿真等功能。设计师可以使用Diamond来开发和调试基于...

Global site tag (gtag.js) - Google Analytics