Aglet开发环境四篇

2024-09-08

Aglet开发环境 篇1

20世纪90年代以来, Agent技术得到迅速的发展, 已成为信息技术领域研究的热点。当待搜索的城市环境是分布式的时候, 用来在城市当中的许多个节点中间完成各种特殊任务的正是移动Agent。现在, 最新的网络上不同信息资源的收集方法就是移动Agent的应用。而基于移动代理的城市环境信息系统能有效地解决面临降低环境空间数据采集成本、提高城市环境信息的共享程度和范围等问题提供了良好的基础条件, 适应了城市环境信息系统的社会化和大众化的要求。

1 移动Agent的优势

在城市环境信息采集系统运行平台的选择上, 对多种平台进行综合分析, 最终决定采用Aglets (属于IBM) 作为系统移动Agent的整体运行控制平台。同时, 将层次型模块化结构结合到运行控制平台中, 这样使得系统结构清楚, 方便后期的扩展和维护。在数据的存储方面, 采用关系型数据库和文档数据库两种结构相互结合, 这样做的目的是可以最大化的便携地对各种不同数据进行分别的查询和存储, 同时可以将Aglets在技术方面的优势发挥到最大, 满足了在异构环境和分布式环境下对数据收集的特定要求。

1.1 Aglet迁移机制

Mobile Agent (简称MA) 的核心技术之一就是迁移机制[1]。将MA和一般的在分布式计算机系统中的代码迁移进行比较, MA更能够满足现代网络技术的要求。在MA模式下, 当遇到一些特殊情况时, Agent可以在获得资源后自动地迁移到分布环境的远程主机上并且执行。Agent具有可以执行服务的代码, 但是并不需要要执行这项服务本身所需要的全部的资源。MA不仅可以自己自动地迁移, 同时还可以和其他Agent一起工作, 相互协作。MA的迁移机制可以将状态和代码迁移到资源的所在地, 同时用访问本地资源的方式来执行, 这样可以极大的减少数据传输在网络上的开销。当前分布式环境在大信息量数据应用方面需要的正是这种迁移方式。城市环境信息是一项包含了许多领域方面信息的一个综合信息体, 这其中包括了城市污染源信息、城市的环境质量监测方面数据、城市的自然地理、城市的社会经济、城市环境管理信息 (包括项目规划、环保产业、污染控制、生态保护、环境监理等方面) 、环境信息内容极为丰富, 其来源也十分广泛。由于不同城市已经具备不同程度上的信息化基础, 做到上述信息的统一是非常困难的, 应用Aglet的迁移机制, 可以有效地实现数据的统一性, 这对实现数据的统一, 进行数据的统计有很大的意义。

1.2 Aglet消息机制

各种平台之间能够进行通信是Aglet系统的一个重要属性。通过引入了基于对象的消息框架结构, 使得Aglet完成了此项功能。它具有可扩展性、本地的独立性、同/异步性。

通过消息使得Aglet之间可以进行通信。如图1所示, 可以看到Aglet之间是不能直接访问的, 这主要是出于对模型安全方面的考虑;只有通过一级Proxy对象才可以实现它们之间的互相访问。同时这样还可以使Aglet位置变得相对的透明。具体来说, 本地Aglet要想同远端的Aglet进行通信, 它只需要在本地环境中生成远端Aglet的代理对象, 而并不需要知道对方的具体位置和网络通信方面的处理方法等。

1.3 信息收集设计模式[2]

1.3.1 Master-Slave (主从)

Agent执行并行任务指的是将一个任务分配给两台计算机分别去做, 具体指的是将定义好的主Agent把任务委托给从Agent的一个过程。当从Agent在执行任务的时候, 主Agent可以做其他事情。具体步骤是在aglet平台环境下, 由主Aglet创建从Aglet;然后从Aglet开始初始化它的任务;接着从A-glet自主移动到远程的主机上, 同时开始执行;最后, 从A-glet只需把任务的结果发送给主Aglet, 从Aglet自我销毁。

这种方法具有实时性、并行性的特点, 同时可以减少网络上代码的传输量;这样做也不会使用远程节点上更多资源, 而且还将代码进行了大量的重用;还可以通过把它与Itinerary方式相结合的方法来实现多台主机之间的访问。

1.3.2 Itinerary (巡路)

Aglet之所以能够独立访问多台主机, 主要是基于Itinerary。巡路同时还能够处理很多不同的异常。当发生的目的地不存在异常的时候, 它会自动把它发送到下一个新的目的地。一个Itinerary对象和一个Aglet对象的连接, 需要建立一个目的地的访问顺序列表。Aglet对象参照这个列表, 将它本身发送到下一个已经存在的目的地上, 同时, Itinerary对象也一同被发送, 这些可以通过go方法来实现。Aglet所有访问的路线可以通过Itinerary来隐藏, 这样就提高了程序的模块化, 为Aglet的传输提供了一个统一的接口。它所用的方法也能够被其他Aglets所使用和共享。具体过程如图2所示。

2 城市环境信息收集系统的实现

每台运行着Aglet的主机都是的系统中平台, 每台主机的操作系统和网络环境不尽相同, 系统可以通过在调度机上运行, 来对市自然地理、社会经济、环境质量监测数据、污染源信息、环境管理信息 (包括项目规划、环保产业、污染控制、生态保护、环境监理等方面) 的信息进行采集[3]。通过消息机制 (Aglet平台提供) , 可以将当前主机的信息采集到调度机上, 同时将其存储到数据库, 如图3所示。

查询模块:本模块主要是用于登录系统, 为各个城市系统之间提供一个交流平台。提出查询请求后, 可以看到环境管理工作中需要处理大量数据, 收集到的城市的各种环境数据信息等。查询模块在环境信息采集系统中具有重要的作用。当待查询的数据与图形对象无关时, 该查询可以直接在外部属性数据库上来完成。可以实现属性数据和空间数据的双向查询是应用此系统建立环境信息系统的最大优势。可以点击所要查询的点、线或多边形来查询相应的属性数据, 同时也可以定制查询符合条件的对象的属性数据。

存储模块:当用户发出某些查询请求, 这时, 调度机和目标主机之间建立了通信, 同时利用JDBC技术将采集后的结果发送到数据库中进行保存。存储模块为界面模块和信息收集模块建立了桥梁。空间数据存储的数据结构是一种基于空间索引和空间实体相结合的结构。空间数据存储主要包括点、线、面3种类型。空间的图形对象通过空间索引与存放其坐标的表建立联系。通过对图件的分层管理可以方便地对数据进行调用、更新和管理。空间的数据结构是以层结构方式进行存放的。

环境信息收集模块:根据查询的请求, 来对远程节点的信息进行综合查询。本系统最核心模块就是环境信息收集模块。应用信息收集方法设计模式, 当信息收集模块访问多台目标主机时, 如果有一些主机不是直接连结的, 则模块可以根据一定的路由算法, 实现动态路由, 进而指导信息收集模块如何遍历城市所有节点数据, 从而最终找到所需要的数据内容。

基于Aglet的环境信息收集系统能够有效地提高数据的采集率。在中国吉林设置5个点进行了系统的测试, 如图4所示, 分别在吉林市的4个城区, 如表1所示。设置了采集点, 这4个采集点是根据地区的人口稠密程度、工业工厂数量、农田活动等等的不同有针对性进行的设置。在收集信息的内容如表2所示, 主要是两个方面, (1) 城市的大气污染情况, (2) 城市的水污染情况。如表3所示, 可以看到, 传统的数据采集主要是人工进行数据的发送, 而发送的内容的有效性不能够很好的保证。造成了大量的人力、物力的浪费。而基于A-glet的环境信息收集系统, 根据需要采集信息的设定, 程序会自动收集所需要的信息。通过比较传统的数据的平均有效率仅为21.88%, 而使用此采集系统平均有效率为69.18%。

3 结语

Aglets技术非常适合应用在城市环境信息系统, 它通过对各种不同的数据的采集, 能够有效地将各种不同格式的数据统一起来。Aglets技术可以直观、快速、准确地响应城市环境信息的变化, 方便、及时地收集平台所需要的数据, 从而辅助环境管理和决策工作。采用Aglets和Java面向对象的程序语言结合的方式, 使系统有更好的移植性, 更便于实际应用。

摘要:论述了在城市环境信息系统中使用Aglet技术, 重点研究了对各种复杂数据进行采集的有关问题, 并基于Aglets开发平台设计了采集系统。该系统结构设计合理、功能完善、使用方便, 能够高效准确地采集、存储各种环境信息, 实现各种数据格式的统一。

关键词:信息采集,Aglets技术,巡路路由,城市环境

参考文献

[1]王道胜.移动Agent在分布式计算中的研究与应用[J].电脑学习, 2005, 03.

[2]金响红, 项明.基于移动代理的P2P网络资源发现方法研究[J].微型电脑应用, 2004, 03.

创优环境 提升开发 篇2

新现象之一:产业准入门槛越来越高,招商引资规模日益扩大,经济发展质量越来越好。近年来,在环保优先方针指导下,沿江地区确立了在开发中保护、在保护中开发的总体思路,积极转变经济增长方式,对产业布局、环境功能区划、项目引进和污染防治等,设置了最为严格的准入条件和准入标准,不断提高环保门槛。据统计,提高环保门槛3年来,沿江地区共否定各类项目近千个,总投资规模超过300亿元。

新现象之二:环境资源成本的价值越来越高,产业竞争力越来越强。几年来,环境资源价格的改革,虽提高了资源环境成本,但并没有导致区域竞争力的下降,相反由于发挥了价格杠杆对环保资源的配置作用,促进了沿江地区产业集聚和结构优化。2005年,沿江8市实际利用外资123.8亿美元,成为FDI最集中和水平最高的区域。

新现象之三:政府投入的力度越来越大,占全社会环保总投资的比例却越来越小。在创优生态环境中,各地不断强化政府主导作用,努力增加财政支出的份额。据统计,去年沿江8市财政安排的环保专项资金达3.2亿元,江阴、常熟等地出台了补贴政策。这些资金相对于巨额的环保治理总投资虽然是杯水车薪,但政府投入的意义重大而深远,它对引导社会资本、对政府从“经营者”转化为服务者和监管者发挥了积极作用。

新现象之四:污染产业比重越来越小,GDP持续增长、效益越来越好。据统计,2000年至2005年,沿江8个省辖市GDP占全省比例由76.5%升至80.2%,外商直接投资由92.5%上升到93.9%,出口总额由95.6%上升到97.4%,而二氧化硫排放强度下降了35.6%和40.7%,呈现出了GDP持续上升和 COD不断下降的可喜局面。

创优生态环境的实践生动诠释了科学发展的核心内涵,为我国探索沿江、沿河、沿海开发和保护提供了有益的借鉴和启迪。

——环保优先不会影响经济率先,更能促进“两个率先”。多年来,保护环境与发展经济是一对矛盾,“经济上去、环境下来”的现象普遍存在。坚持“环保优先”则是沿江地区协调这一矛盾冲突使之出现“拐点”的根本,由此不仅没有降低流域的环境质量,而且获得了治理与修复环境的新契机,带动了沿江产业优化升级,实现了由“牺牲环境换取发展”向“创优环境提升发展”的历史跨越。

——环境保护既要靠政府,更要靠市场。在市场经济条件下,沿江地区以政府投入为引导,把环境作为一种有价值的公共资源进行经营,逐步建立起“政府主导、市场推进、公众参与”的环保投融资新机制,探索出了一条区域功能和环境价值同时提升、环境优势与经济优势相得益彰的可持续发展之路。

——环保创优不仅是环保部门的工作,更是全社会的工作。创优生态环境的成果,不仅鼓舞了环境保护领域,而且影响和振奋了整个经济社会领域。创优生态环境的历程告诉我们,在实施途径上要整合资源,打破条块分割,形成社会合力;在总体部署上要统筹规划、齐头并进、分线作战;在工作要求上要形成横向到边,纵向到底,上下贯通,点、线、面结合的立体创建网络,保障各项创建工作的顺利推进。

(作者单位:省委研究室、省环保厅)

Aglet开发环境 篇3

服务器端:PC机(win7),Ubuntu10.04操作系统,Vmware8.0.4 客户机端 :ARM11开发板(6410)一根交叉网线

二、Ping通电脑和开发板

用一根交叉网线连接电脑和开发板,给开发板上电,一定要是交叉网线,普通网线不行,一般买开发板时会送一根交叉网线。在开发板输入ifconfig,查看开发板的ip地址,我的ip为192.168.0.232

设置本地连接和虚拟机ip为同一网段

在虚拟机上输入ping 192.168.0.118,在win7下的cmd输入ping192.168.0.232,验证是否能ping通

如果ping不通,先把防火墙关闭,再把网络设置为家庭网络。Ping通后进行下一步

三、Ping通虚拟机和开发板

开发虚拟机,我用的是vmware8.0.2,ubuntu10.0.4 在控制面板里面桥接vmnet1和本地连接,右击网桥,设置ip,设置方法和本地连接一样,并把ipv6前面的勾去掉。

完成后设置Vmware,右击自己的虚拟机,点击settings

设置Network Adapter选项,选择custom:Specific virtual network的CMNET1(H Ost-only)

修改虚拟机的ip地址,在network connections里编辑 Auto Ethernet这个网络

把ip设置成和网桥一样。点击apply

不出意外,现在应该虚拟机和开发板能相互ping通了,现在离成功又进了一步。

四、安装nfs服务器程序

用以下命令安装nfs服务器程序软件包,在命令执行过程中,默认启动SUNRPC服务和nfs服务,并创建/etc/exports和、etc /default/nfs-kernel-server配置文件,等待用户完成nfs安装后,配置将要共享的资源。

可以使用netstat命令检查nfs端口是否已经打开:

以上截图可看出,nfs和SUNRPC端口已处于监听状态,不过,客户端此时还无法访问到nfs服务器,还需对nfs服务器进行配置,将共享资源授权给特定用户之后,客户端才能成功访问。

五、启动和停止nfs服务

虽然完成nfs安装后会自动启动nfs,但要调整共享资源还得重新启动nfs服务,以使配置生效。

1、命令方式手动启动和停止nfs服务

启动nfs服务:

停止nfs服务:

重启nfs服务:

查看nfs服务当前状态,若nfs服务正在运行则返回“nfsd running”。否则返回“nfsd not running”。

2、使用图形工具启动和停止nfs服务(此项好像在10.04中没有?)在Ubuntu中同样可以使用services-admin图形界面工具管理nfs服务。若想随机启动时启动nfs服务,可以点击【系统】|【系统 管理】|【服务】命令,打开【服务设置】对话框,勾选【文件夹共享服务(nfs-kernel-server)】选项,单击【关闭】按钮完成设置。

六、nfs服务器配置

nfs服务是根据一个―名单‖为用户开放共享资源的。

1、nfs服务配置文件

在Ubuntu Linux系统中,/etc/exports是nfs服务器的全局配置文件。配置文件中一行即为一条配置项,用于指明网络中―哪些客户端‖共享―哪些目录资源‖。导出资源配置项格式如下:.......其中,表示服务器中导出的共享资源路径,注意:必须是绝对路径名; 表示客户端主机标识,可以用主机名、组、通配符、网段方式指定,如果是多个主机标识,需要使用空格隔开; 表示赋予每个客户端主机的访问权限。

把需要导出的目录全部放在/etc/exports文件是一个良好的习惯,这可以对nfs的管理更明确和清晰。尽量将声明的详细具体,从而阻止不速之客进入nfs服务系统。

2、使用图形工具配置nfs服务(Ubuntu10.04中好像没找着)配置nfs服务器除了可以使用文本编辑工具直接修改/etc/exports文件,然后重新启动nfs服务,完成整个配置任务外。还可以采用Ubuntu Linux系统提供的nfs服务图形配置工具——shares-admin进行快速、便捷的配置。

步骤:单击【系统】|【系统管理】|【共享的文件夹】命令,打开【共享的文件夹】对话框。选择【添加】按钮打开【Share Folder】对话框进行设置,有很多种配置方式。配置完后你会发现。/etc/exports配置文件的内容是完全跟图形界面下的配置对应的。如果只修改了/etc/exports文件,并不总是要重启nfs服务。可以使用exportfs工具重新读取/etc/exports,就可以加载输出的目录。exportfs工具语法如下:

exportfs [-aruv]-a : 全部挂载(或卸载)/etc/exports的设置。

-r : 重新挂载/etc/exports的设置,更新/etc/exports和/var/lib/nfs/xtab里面的内容。-u : 卸载某一个目录。

-v : 在输出的时候,把共享目录显示出来。

在nfs已经启动的情况下,如果又修改了/etc/exports文件,可以执行命令: $ exportfs-ra 系统日志文件/var/lib/nfs/xtab中可以查看共享目录访问权限,不过只有已经被挂载的目录才会出现在日志文件中。

七、连接nfs服务器

通过上面的配置后,客户机便可通过简单的mount命令将nfs共享资源挂载到本地来了,之后可以如同操作本地文件系统一样使用。

1、查看nfs服务器的共享资源

在客户机连接nfs共享资源前,通常要用showmount命令查看一下nfs服务器上的共享资源情况,了解是否有权限访问。showmount命令查看 某台nfs服务器上都有哪些nfs共享资源。showmount命令包含在nfs-kernel-server软件包中,一般语法格式 是:showmount [dehv] nfssrvname 其中nfssrvname表示nfs服务器主机名,也可用IP地址各选项如下:-d :显示客户端所挂载的共享目录-e: 显示nfs服务的导出共享目录列表-h: 显示帮助信息-v: 显示版本

单独使用showmount命令,将显示本地主机/etc/exports配置文件中的共享配置项。

2、挂载共享资源

可以通过mount命令在客户机端挂载nfs服务器端的共享资源。mount命令的一般语法格式是:

mount nfssrvname:/Share-Directory /mnt-Point 其中,nfssrvname表示nfs服务器主机名,也可用IP地址;Share-Directory表示nfs服务器导出的共享资源目录,必须用 绝对路径,与nfssrvname用“:”号隔开;mnt-Point表示共享资源将挂载到客户端主机上的位置,在挂载前一定要确保挂载目录已经存在。

如果nfs服务器上没有给予授权,客户端仍强行挂载某些共享目录,则会被拒绝,执行失败。

3、卸载共享资源

在使用完nfs服务器共享资源后,建议即刻卸载nfs文件系统。卸载命令umount一般语法格式是:

umount /mnt-Point 其中mnt-Point表示共享资源在客户端的挂载点。

注意:当有用户在使用某个已加装的共享目录上的文件时(在挂载点下要退出才能卸载),则不能卸载在文件系统。如果用户确认无误,可使用“umount-f”命令强行卸载共享的目录。

4、测试是否成功,自己挂自己

在folinux文件夹中看到挂载过来的share文件夹中的good文件

如果失败输入exportfs –rv

如果再失败应该是防火墙的问题,输入sudo ufw disable关闭防火墙,进行到这里不出意外应该可以挂载成功了。

在开发板上输入

[root@FORLINX6410]# mount 192.168.0.118:/mnt/share /mnt会出现下面的提示: svc: failed to register lockdv1 RPC service(errno 111).mount: mounting 192.168.0.118:/mnt/share on /mnt failed: Connection refused 正确应该输入

NCV5开发环境快速入门 篇4

开发工具要求和设置:

1. Eclipse3.2.0 2. JDK1.5 3. NC_Eclipse开发插件(nc.uap.mde.Plug-in和un.uap.mde.editor Plug-in)

安装“代理组件生成工具”,此生成工具是一个Eclipse插件,因此它的安装和普通的Eclipse插件安装完全相同。其中包括两套插件:一套是MDE基础插件,另一套是MDE多页面编辑器插件。插件安装完成后在eclipse插件列表中显示如下:

安装完后,打开一个工作空间。打开:窗口

打开透视图

其他,显示如下视图: 可以看到有两个透视图:MDE Development,MDE编辑器透视图。

如果能看到这两个透视图就说明你的插件安装成功了。

4. 设置NCHome:

打开:窗口

首选项,在左边的列表中选择java

MDE Development,在右边的界面上设置NC Home路径(注意该路径必须为已存在路径)。

ModuleSelection页签的选择会影响编译,将程序需要的模块全部选上

NCHome文件下的目录结构还要遵循一定规则,即NCHome下一层目录是modules文件夹,modules文件下面是所有的模块文件夹,每个模块文件夹的命名以其内的module.xml的模块名来命名。模块文件夹下就是META-INF文件夹,META-INF下包括了本模块所有的配置文件(module.xml, *.module),其目录结构如下图,其中../NC_UAP_Modules就是NCHOME的路径。

新建Module Project 1.选择MDE Developent 2. 建立项目名称、模块名称、模块配置文件

3. 新建的工程目录下有如下目录:src/public(模块的公共代码,整个系统公共的代码),src/private(接口的实现代码,模块的私有代码),src/gen(系统生成的代码),src/test(模块的测试代码),src/client(客户端代码)META-INF

4. 如果NC_HOME下的类发生变化,请更新类路径

5.中间件配置:Navigate-> Go to-> Type 找到“ufmiddle.start.tomcat.StartDirectServer”,然后 Run , new Nc Application。如下图:

program arguments设置如下:

${FIELD_NC_HOME}/ierp/bin/prop.xml-Dnc.server.location=${FIELD_NC_HOME}-DEJBConfigDir=${FIELD_NC_HOME}/ejbXMLs-DExtServiceConfigDir=${FIELD_NC_HOME}/ejbXMLs VM arguments设置如下:

-Dnc.server.location=${FIELD_NC_HOME}-DExtServiceConfigDir=${FIELD_NC_HOME}/ejbXMLs Working directory 选择Other 内容为 ${FIELD_NC_HOME}

-DEJBConfigDir=${FIELD_NC_HOME}/ejbXMLs 6.Jstarter设置: Navigate-> Go to-> Type 找到“nc.starter.test.JStarter”,然后 Run , new Java Application。如下图:

如果启动Jstarter时报错,那应该在Java Build Path 中添加“jdk1.5.0_07jrelibplugin.jar”。

注:环境运行时,要先启动中间件,然后再启动Jstarter。

以上开发环境已经配置好了。

转换工程Module Project 1.选择具体工程,进行转换(convert to Module Project)

2.设置模块名

打开MDE Development透视图,在该透视图下新建一个Module Project,注意在建Module Project的时候会让你填写Module Name(模块名),这时每个部门就可以定义按照设计的规范(总体组的规划)定义自己的模块名,在配置文件下有module.xml,该文件中定义自己模块的名称,,组件的配置文件不要在此写,他是一个总控文件,如果其它工程的开发所在的模块都是该模块,那么他建立的配置文件应当是xx.module。一个Module 工程建好后,工程下会有一个META-INF目录,该目录下会有在Module.xml命名的文件,同时还会有一个NC_HOME目录,一个新的模块名建好后,会在NC_HOME下生成相应的目录结构,之后所有以本模块名建的子工程的*.module文件和主工程的module.xml文件都会拷贝一份到NC_HOME下的该模块名目录中去。META-INF目录下的文件是工程(或叫项目)”私有”的,即你只关心META-INF目录下的文件;而NC-HOME目录下的文件是随代码配套的配置文件,该目录并不是存在于工程目录下,它实际上是根据设置的NCHOME路径连接到了文件系统的NCHOME目录的一个快捷方式。一个原则就是:只能修改工程下的META-INF目录下的文件,而不要去修改NCHOME下的文件。

配置文件是和代码同步,否则程序运行错误

使用工具生成EJB代码

下面开始介绍如何通过本工具生成公共代理代码,本工具是从属于编辑器的,因此要使用本工具就必须要先打开编辑器,打开编辑器的方式很简单。如下图所示:

双击工程下的META-INF下的*.module就可以打开MDE组件编辑器。如果打开方式默认为其他编辑器,则可以在右键菜单中“打开方式”中选择MDE组件编辑器。

本编辑器一共有3页,公共代理生成工具就是“代理组件生成页面”,下面介绍整个页面内容。

代理公共组件名:就是代理对外提供的名称,注意要以nc.itf.包名开头.组件代码生成路径:就是代理生成类的存放路径。本路径是 <当前工程绝对路径>/src/gen。事务:CMT, BMT, NONE三种选择.默认CMT 远程:默认选中

支持别名: 默认选中 单例: 默认选中

左边的待选列表是当前打开文件里的所有私有组件,即:

之间的组件。右边的选择列表是用户所要发布成公共代理组件的私有组件。

当界面都设置好后,点击“生成”按钮就可以生成代理XML文件和代理组件的代码。

如果生成成功,则会看到本工程内有三个地方发生变化。

1.工程下的META-INF下多了一个文件,该文件的文件名是打开文件的文件名拼上”_proxy”。这个文件中记录了用户所选择的私有组件信息。

2.NC_HOME/modules/<模块名>/META-INF/下也生成了这个文件的备份。

3.在工程下src/gen下生成了两个java包,一个是nc.itf…,另一个是nc,impl…。这两个java包就是最终要的公共代理组件的代码。

下图是生成成功后的效果:

2.5.注意事项

这里有几点要强调:

1.只能使用工程下的META-INF下的文件(一般都是*.module文件)来生成代理组件,NC_HOME/modules/<模块名>/META-INF下的文件不能用来生成代理组件。

2.打开的文件是一个XML文件,XML文件中包含了多个组件,每个组件都有一个实现类,即:。代理组件的生成要依靠所选私有组件的实现类及其该实现类的接口和所依赖的其他类。因此要保证所选私有组件的实现类都要在本工作空间内可见,并且它们的接口和依赖关系的类都要存在(即:这些实现类没有编译错误。)。

3.每个MDE工程都有一个模块名(注:可以多个工程同模块名,因为一个模块对应多个工程)。每个工程下META-INF下的文件在NC_HOME/modules/<模块名>/META-INF/下有一个备份。每当在工程下META-INF下生成一个文件都会自动在NC_HOME/modules/<模块名>/META-INF/下生成一个同名文件,同样如果删除一个文件,NC_HOME/modules/<模块名>/META-INF/下也会自动删除同名文件。

4.保证与当前工程同模块名的NCHOME下的/META-INF下的所有文件所依赖的类和接口都要在本工作空间内可见。

5.如果在生成过程中弹出标有”class not find”字样的提示框,请检查NCHOME下本模块名下的文件所关联的类是否都在本工作空间内可见,并且要检查工程之间需要的引用是否存在。

上一篇:体育与健康课教学下一篇:高校计算机人才培养论文