`

URL(I)/XMLBuilder/flex横方块/amCharts..工作日志

阅读更多
  简单记录一下今天的工作日志:
1、 URL/uri的区别:
  这个问题之前也困惑过、搜索过但仍没有彻底弄清楚,^_^ ^_^ 发现网上的解释也大多是照搬概念。
    URL(Uniform Resource Location):统一资源定位器,格式为:{协议<服务方式>/粗放资源的主机IP地址<端口>/主机资源具体位置}。
    URL的最大缺点是: 当信息资源的存放地点发生变化时,必须对URL作相应的改变

   URI(universal Resource Identifier):统一资源标识符,格式为:{访问资源的命名机制/存放资源的主机名/资源自身的名称}

2、自定义一个类XMLBuilder, 专用于操作XML。Java API中操作XML的常用类有如下:
   DocumentBuilderFactory, DocumentBuilder, Document, SAX, XPath,
   xPathFactory, XPathExpression(提供了对编译后的xpath表达式的访问),
   xPathConstants, Node, NamedNodeMap, NodeList,Attribute

   打算有时间的话写一个操作XML的工具类,会熟悉上述API的用法。

3、 flex中制作长方条用来显示使用率等(flex4中)
    组件:HpercenterBar.mxml
   <borderContainer xmlns... ...>
      <s:layout>
        <s:HorizontalLayout verticalAlign="middle"/></s:layout>
      <s:Rect precentwidth="xx" precentHigh="yyy" alpha="zzz">
         <s:fill>
          <s:solidColor color="xx"/>
         </s:fill>
      </s:Rect>
  然后在dataGrid中使用
   <mx:itemRenderer>
    <fx:component>
       ...
    </fx:component>
  </mx:itemRenderer>


4、 Flex常用效果组件的使用
    animateProperty动画效果
    blur模糊效果
    wipeUp/wipeRight/wipeDown/wipeLeft擦出效果
    zoom缩放效果(注意其与resize的区别)
    glow发光效果
    Irist效果:通过扩展或收缩集中在目标上的巨型遮罩为效果目标设置动画
    pause效果:实现在制定时间内不执行任何操作的功能,如果作为sequence效果的子项,可以创建2个其他效果之间的暂停

5、负载均衡器(LoadBalancer)
    随集群一起部署, 提供如下功能:
    #允许应用程序或服务在多个物理(或逻辑)主机之间水平伸缩,但用户通过统一的URL进行访问
    #使用户与主机故障或服务器崩溃隔离(与会话持久性结合使用时)。
    #通过对用户隐藏内部网络来提高安全性

    LoadBalancer的特征:
    实现了分布式session管理,这也是实现Web服务器集群的关键,由于Web应用被分布到多台服务器上运行,因此保存在Session中的共享数据必须完全保持一致。Apusic LoadBalancer没有使用共享数据库来保存Session数据,共享数据库模式下,由于Session的变化是很频繁的,对数据库将造成很大的压力,最终将成为整个系统的瓶颈,Apusic LoadBalancer使用一种分布式Session服务,每个服务器管理自己所产生的Session。当Web应用从一台服务器迁移到另一台服务器时,Session也会自动进行迁移,这样使得对Session的管理被均匀地分布到所有的服务器上,任何一台服务器失效并不会使Session丢失。对应用开发者来说,要保证分布式Session能够正常工作,在Session中只能保存实现了java.io.Serializable的数据,否则 Session将无法完成迁移。

   负载均衡策略:
   a)随机选择策略
   b)Round-Robin策略
   c)权重策略

   Apusic LoadBalancer使用了内存复制技术,将每个后置服务器的Session备份在自己的缓存中,即后台某个节点处理完客户端请求时,将当前Session复制到负载均衡器中。所以使用Apusic LoadBalance时,集群中每个节点必须开启SessionService中的复制服务。

   失效转移:
   采用Apusic LoadBalancer时,由于Session缓存在Apusic LoadBalancer的缓存中,当主节点失效时,Apusic LoadBalancer从缓存取出当前的Session,将Session带到下一个节点进行处理,确保Session的可用性

   配置负载均衡:
   Apusic负载均衡器是用Apusic应用服务器实现的,也就是说,负载均衡器和其他金蝶Apusic应用服务器6.0实例没有本质区别,不同的是它上面没有安装应用系统,并且使用不同的配置文件,它只是专门提供负载均衡服务。客户通过访问负载均衡器的Web服务,来访问整个集群的资源。用户请求到达负载均衡器后,负载均衡器将它分配到某个金蝶Apusic应用服务器6.0实例上,让这个实例为此用户请求提供服务。

 
  Apusic的session复制策略:
  当采用第三方负载均衡器时,金蝶Apusic应用服务器6.0同样采用内存复制技术,与Apusic LoadBalancer不同的是,我们已经不能用第三方负载均衡器来备份状态,因此,采用了使用IP多播技术,通过IP多播和Java序列化/反序列化技术在集群中的金蝶Apusic应用服务器实例之间进行内存复制,这时候,需要开启金蝶Apusic应用服务器6.0的集群服务。Apusic集群支持两种Session复制策略:多点复制,配对复制,用户可以根据自己的需要选择不同的复制策略。默认情况下为配对复制。


6、 改ofc2为amCharts时遇到诡异错误(在组件中使用pieChart):
    TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at com.amcharts::AmPieChart/calculatePercents()[D:\projects\flex\amChartsSourcesGumbo\src\com\amcharts\AmPieChart.as:912]
at com.amcharts::AmPieChart/updateData()[D:\projects\flex\amChartsSourcesGumbo\src\com\amcharts\AmPieChart.as:844]
at com.amcharts.chartClasses::AmChart/commitProperties()[D:\projects\flex\amChartsSourcesGumbo\src\com\amcharts\chartClasses\AmChart.as:260]
at mx.core::UIComponent/validateProperties()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:7772]
at mx.managers::LayoutManager/validateProperties()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:572]
at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:730]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1072]

     诡异之处在于: 同样的图表在application页面中能正确显示,然而其不能在组件中正确显示。

     关于调试的技巧: 使用try...catch 捕获查看其异常信息、 通过异常中的信息calculatePercents()而在数据源方面进行测试后发现异常的根源是在于数据上, 如何解决?
   待尝试方案:

    a)将arrayCollection类型的数据源替换为array或者其他amChart所支持的类型

    b)在工程中新建flex模块进行试验(怀疑amCharts在单个application中能正确显示而在项目中不能显示是因为项目中采取的是加载模块...)


7、 两种访问操作系统的方式SSH/VNC初探

——————————————8月10日——————————————————
1、 flex缩放效果
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#03BF7A, #075F96]">
   <mx:Zoom id="Zoom1" originX="0" originY="0" zoomHeightFrom=".4" zoomHeightTo="1" zoomWidthFrom=".4" zoomWidthTo="1" duration="1000" />
   <mx:Zoom id="Zoom2" originX="0" originY="0" zoomHeightFrom="1" zoomHeightTo=".4" zoomWidthFrom="1" zoomWidthTo=".4" duration="1000" />
   <mx:Image x="442" y="76" source="images/C.jpg" mouseDownEffect="{Zoom1}" mouseUpEffect="{Zoom2}" width="318" height="316"/>
   <mx:Label x="476" y="33" text="Flex制作Zoom缩放效果" width="273" fontWeight="bold" fontSize="24" color="#F7F9FB"/>
</mx:Application>


2、 关于常用的两个技巧的优劣讨论:
    a>在几乎所有的参数传递,返回值与传递值都是用一个通用的数据结构,该数据结构是一棵树,

并且每棵树上还有一个hashtable存放一些键值对
    b>需用到所有常量都写在一个类,public static final那种然后需要用到这些常量的类继承该类

3、amcharts的另类破解法(gtalk上附url)
   a>
需要继承AmChart的类,将宽、高、透明度设成0,例如:

public class Serial extends AmSerialChart
{
  override protected function createChildren():void{
   super.createChildren();
   if(_amchartsLink){
    _amchartsLink.alpha=0;
    _amchartsLink.width=0;
    _amchartsLink.height=0;
   }
   return;
  }
b>使用其他的组件将其覆盖


4、 在IDE中新建flex工程,运行flex application不出现东东? 探索...ing

5、 flex中路径问题:
   方式一: <mx:ModuleLoader url='"{ApplicationContext.getContextRoot

()}"+"/resource/swf/module/MonitorCenterModule.swf"'/> ——错误

  方式二:<mx:ModuleLoader url="{ApplicationContext.getContextRoot

()}/resource/swf/module/MonitorCenterModule.swf"/>——错误

  打印的ApplicationContext.getContextRoot()值为:
  http://localhost:8080/apusic-cloud

  方式三: <mx:ModuleLoader url="http://localhost:8080/apusic-

cloud/resource/swf/module/MonitorCenterModule.swf"/>——正确 

  方式四: <mx:ModuleLoader url='{ApplicationContext.getContextRoot()

+"resource/swf/module/MonitorCenterModule.swf"}'/>——错误

  方式五(函数式):
  private var correctUrl:String;
   private function initTest():void{

correctUrl = ApplicationContext.getContextRoot()

+"/resource/swf/module/MonitorCenterModule.swf";
Alert.show(correctUrl);
}
   在页面初始化时使用creationComplete="initTest()"
   <mx:ModuleLoader width="100%" height="100%" url="{correctUrl}"/>--仍然错误

   补充——打印correctUrl的值为:
   http://localhost:8080/apusic-cloud/resource/swf/module/MonitorCenterModule.swf

6、 /根
   ../上一级目录

7、 修复comboBox在popButton上移动的小bug

8、 google上搜索 amcharts mx module 帮助定位问题所在

9、 flex模块化的目的和方法

  
分享到:
评论

相关推荐

    java-xmlbuilder-0.4-API文档-中文版.zip

    赠送jar包:java-xmlbuilder-0.4.jar; 赠送原API文档:java-xmlbuilder-0.4-javadoc.jar; 赠送源代码:java-xmlbuilder-0.4-sources.jar; 赠送Maven依赖信息文件:java-xmlbuilder-0.4.pom; 包含翻译后的API文档...

    java-xmlbuilder-1.1-API文档-中文版.zip

    赠送jar包:java-xmlbuilder-1.1.jar; 赠送原API文档:java-xmlbuilder-1.1-javadoc.jar; 赠送源代码:java-xmlbuilder-1.1-sources.jar; 赠送Maven依赖信息文件:java-xmlbuilder-1.1.pom; 包含翻译后的API文档...

    java-xmlbuilder-0.4-API文档-中英对照版.zip

    赠送jar包:java-xmlbuilder-0.4.jar; 赠送原API文档:java-xmlbuilder-0.4-javadoc.jar; 赠送源代码:java-xmlbuilder-0.4-sources.jar; 赠送Maven依赖信息文件:java-xmlbuilder-0.4.pom; 包含翻译后的API文档...

    java-xmlbuilder-1.1-API文档-中英对照版.zip

    赠送jar包:java-xmlbuilder-1.1.jar; 赠送原API文档:java-xmlbuilder-1.1-javadoc.jar; 赠送源代码:java-xmlbuilder-1.1-sources.jar; 赠送Maven依赖信息文件:java-xmlbuilder-1.1.pom; 包含翻译后的API文档...

    xmlbuilder2:用于node.js的XML构建器

    xmlbuilder2 用于的XML构建器。 安装: npm install xmlbuilder2 用法: xmlbuilder2是DOM节点的包装,它添加了可链接的功能,使创建和使用XML文档更加容易。 例如下面的XML文档: &lt;? xml version = " 1.0 " ...

    xmlbuilder插件

    var xml = XMLBuilder.create('rootElement') .ele('childElement', { attr1: 'value1' }) .txt('Some text content') .end(); console.log(xml); ``` 这段代码会生成如下 XML: ```xml ...

    xmlbuilder-js:用于node.js的XML构建器

    **XMLBuilder-js:在Node.js中的XML构造利器** XMLBuilder-js是专为Node.js环境设计的一个强大工具,它使得在JavaScript中创建、构建和操作XML文档变得轻而易举。这个库提供了一种灵活且直观的方式来构建XML结构,...

    java-xmlbuilder-1.1.jar中文-英文对照文档.zip

    注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...

    java-xmlbuilder-0.4.jar中文-英文对照文档.zip

    注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...

    java-xmlbuilder-1.1.jar

    javaweb常用jar包,javaee框架常用jar包,亲测可用,若需其他版本可给我留言

    android手机开发利器B4a最新库文件(截止到20170424)

    Basic4Android最新最全类库,包含B4a上市后截止到2017.04.24的库文件。希望对大家有帮助。以下为文件列表。 2012/08/09 周四 01:55 35,901 ABExtDrawing.jar 2012/08/09 周四 01:55 191,079 ABExtDrawing.xml ...

    java-xmlbuilder-0.4.jar

    java运行依赖jar包

    java-xmlbuilder:XML Builder是一种实用程序,它允许使用相对稀疏的Java代码来构造简单的XML文档

    java-xmlbuilder XML Builder是一种实用程序,它允许使用相对稀疏的Java代码来构造简单的XML文档。 它允许您快速而轻松地创建XML文档,否则您可能会想使用串联字符串,而又不想面对编码的乏味和冗长。 在内部,...

    hadoop-2.10.0jar.zip

    java-xmlbuilder-0.4.jar jaxb-api-2.2.2.jar jaxb-impl-2.2.3-1.jar jcip-annotations-1.0-1.jar jersey-core-1.9.jar jersey-json-1.9.jar jersey-server-1.9.jar jets3t-0.9.0.jar jettison-1.1.jar jetty-6.1.26...

    xml.rar_c xml_解析xml

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在软件开发、网络通信、数据存储等领域。本文将深入探讨C语言环境...理解这些接口的工作原理和使用方法是关键,以便在C程序中有效地处理XML数据。

    ASP.NET 折线图

    xmlBuilder.Append("[values.IndexOf(value)] + "\"&gt;" + value + "&lt;/point&gt;"); } xmlBuilder.Append("&lt;/chart&gt;"); return xmlBuilder.ToString(); } ``` 生成XML后,我们需要将其发送到客户端。这通常通过...

    xml文件生成与解析

    xmlBuilder.append("&lt;element attr1='value1'&gt;"); xmlBuilder.append("Content"); xmlBuilder.append("&lt;/element&gt;"); xmlBuilder.append("&lt;/root&gt;"); ``` 生成XML字符串后,可以将其写入文件或者在网络上传输。 接...

    一个对XmlDocument的DocumentElement 以及其属性Attributes进行访问的类库函数

    在`XmlBuilder.cs`源代码文件中,我们可能会看到实现这些功能的相关方法和类。通过阅读和理解这个文件,开发者可以更好地掌握如何使用这个类库来处理XML文档的DocumentElement和Attributes,从而提升XML操作的效率和...

    用C#把文件转换为XML

    xmlBuilder.Append($"&lt;item&gt;{string.Join("&lt;/item&gt;&lt;item&gt;", fields)}&lt;/item&gt;"); } } xmlBuilder.Append("&lt;/root&gt;"); File.WriteAllText(xmlFilePath, xmlBuilder.ToString()); Console.WriteLine($"已成功...

    使用jdom.jar生成xml

    public class XmlBuilder { public static void main(String[] args) { try { // 创建DocumentBuilderFactory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // 创建...

Global site tag (gtag.js) - Google Analytics