??xml version="1.0" encoding="utf-8" standalone="yes"?> 那么Q我们可不可以通过E序讄一定的旉Q当E序q行过该时长后自行l止或者进行其他操作呢? 查了大量资料后发玎ͼFuturecd能满个需求?/p> FuturecM重要Ҏ包括get()和cancel()?/p> get()获取数据对象Q如果数据没有加载,׃d直到取到数据Q?cancel()是取消数据加载?/p> 另外一个get(timeout)操作Q表C如果在timeout旉内没有取到就p|q回Q而不再阻塞?/p> 通过q些Ҏ卛_实现我们要求?/p> Java 代码CZQ?/p> final ExecutorService exec = Executors.newFixedThreadPool(1); Callable public String call() throws Exception { // 攑օ耗时操作代码?/p> int cash = 300; String name = "张三"; System.out.println(name + "现在? + cash + "元存?); User u = new User(name, cash); String[] arr = { "U程A", "U程B", "U程C", "U程D", "U程E", "U程F", "U程G", "U程H", "U程I", "U程J" }; for (int i = 0; i < 10; i++) { MyThread th = new MyThread(arr[i], u, (int) (Math.random() * 1000 - 500)); th.start(); } //耗时代码块结?/p> Thread.sleep(1000 * 5); return "U程执行完成"; } }; try { Future String obj = future.get(1000 * 1, TimeUnit.MILLISECONDS); // d处理时旉设ؓ1 U?/p> System.out.println("d成功q回:" + obj); } catch (TimeoutException ex) { System.out.println("处理时?..."); System.exit(0); } catch (Exception e) { System.out.println("处理p|."); e.printStackTrace(); } exec.shutdown(); // 关闭U程?/p> 耗时的代码块攑օ标注的地方后Q即可满求?/p> System.out.println("处理p|."); e.printStackTrace(); System.out.println("处理p|."); e.printStackTrace(); 在该CZE序中,当运行超时后Q执行的是退出程序的操作?/p> 也可以根据需要放入其他代码进行相x作?/p> 例如可以讄当处理超时时忽?该错误l向下执?/p>
]]>
]]>
]]>
]]>
]]>
]]>
]]>
]]>
是在服务?/a>端v作用,当用forward()?Servlet engine传递HTTPh从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文g,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获?参数自动传? 但forward()无法重定向至有frame的jsp文g,可以重定向至有frame的html文g,同时forward()无法在后面带参数传?比如servlet?name=frank,q样不行,可以E序内通过response.setAttribute("name",name)来传至下一个页面?/p>
重定向后览器地址栏URL不变?/p>
例:在servlet中进行重定向 通常在servlet中用,不在jsp中用?/p>
2. response.sendRedirect() 是在用户的浏览器端工?sendRedirect()可以带参C?比如servlet?name=frank传至下个面,同时它可以重定向至不同的L?sendRedirect()可以重定向有frame.的jsp文g. 重定向后在浏览器地址栏上会出现重定向面的URL 例:在servlet中重定向 ׃response是jsp面中的隐含对象Q故在jsp面中可以用response.sendRedirect()直接实现重定位?/p>
注意Q?/strong> (1) 使用response.sendRedirectӞ前面不能有HTML输出Q?/p>
qƈ不是l对的,不能有HTML输出其实是指不能有HTML被送到了浏览器。事实上现在的server都有cache机制Q一般在8KQ我是说 JSP SERVERQ,q就意味着Q除非你关闭了cacheQ或者你使用了out.flush()强制hQ那么在使用sendRedirect之前Q有量的HTML输出也是允许的?/p>
(2) response.sendRedirect之后Q应该紧跟一句return?/p>
我们已经知道response.sendRedirect是通过览器来做{向的Q所以只有在面处理完成后,才会有实际的动作。既然你已经要做转向了,那么后的输出q有什么意义呢Q而且有可能会因ؓ后面的输出导致{向失败?/p>
比较Q?/strong> (1) Dispatcher.forward()是容器中控制权的转向Q在客户端浏览器地址栏中不会昄{向后的地址Q?/p>
(2) response.sendRedirect()则是完全的蟩转,览器将会得到蟩转的地址Qƈ重新发送请求链接。这P从浏览器的地址栏中可以看到跌{后的链接地址?/p>
前者更加高效,在前者可以满需要时Q尽量用RequestDispatcher.forward()Ҏ?/p>
注:在有些情况下Q比如,需要蟩转到一个其?a class="channel_keylink" target="_blank">服务?/a>上的资源Q则必须使用HttpServletResponse.sendRequest()Ҏ?/em>public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{ response.setContentType("text/html; charset=gb2312"); ServletContext sc = getServletContext(); RequestDispatcher rd = null; rd = sc.getRequestDispatcher("/index.jsp"); //定向的页面 rd.forward(request, response);}public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html; charset=gb2312");
response.sendRedirect("/index.jsp");
}
]]>
JVM调优
一QJVM调优之串行垃圑֛?br />
也就是默认配|,完成10万request用时153U。JVM参数配置如下Q?br />
$JAVA_ARGS.=“-Dresin.home=$SERVER_ROOT-server
-Xms2048M-Xmx2048M-Xmn512M
-XX:PermSize=256M-XX:MaxPermSize=256M
-XX:MaxTenuringThreshold=7-XX:GCTimeRatio=19
-Xnoclassgc-Xloggc:log/gc.log
-XX:+PrintGCDetails-XX:+PrintGCTimeStamps”;
q种配置一般在resin启动24时内似乎没有大问题Q网站可以正常访问,但查看日志发玎ͼ在接q?4时ӞFullGC执行来频J,大约每隔3分钟有一ơFullGC,每次FullGCpȝ会停?U左叻I作ؓ一个网站来_用户{待6U恐怕太长了Q所以这U方式有待改善。MaxTenuringThreshold=7表示一个对象如果在救助I间Ud7ơ还没有被回收就攑օq老代QGCTimeRatio=19表示java可以?%的时间来做垃圑֛Ӟ1/Q?+19Q?1/20=5%.
二:JVM调优之ƈ行回?br />
完成10万request用时117U,配置如下Q?br />
$JAVA_ARGS.=“-Dresin.home=$SERVER_ROOT-server-Xmx2048M
-Xms2048M-Xmn512M-XX:PermSize=256M-XX:MaxPermSize=256M
-Xnoclassgc-Xloggc:log/gc.log-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps-XX:+UseParallelGC-XX:ParallelGCThreads=20
-XX:+UseParallelOldGC-XX:MaxGCPauseMillis=500
-XX:+UseAdaptiveSizePolicy-XX:MaxTenuringThreshold=7
-XX:GCTimeRatio=19”;
q行回收我尝试过多种l合配置Q似乎都没什么用Qresin启动3时左右׃停顿Q时间超q?0U。也有可能是参数讄不够好的原因QMaxGCPauseMillis表示GC最大停时_在resin刚启动还没有执行FullGC时系l是正常的,但一旦执行FullGC,MaxGCPauseMillisҎ没有用,停顿旉可能过20U,之后会发生什么我也不再关心了Q赶紧重启resin,试其他回收{略?br />
三:JVM调优之ƈ发回?br />
完成10万request用时60U,比ƈ行回收差不多快一倍,是默认回收策略性能?.5倍,配置如下Q?br />
$JAVA_ARGS.=“-Dresin.home=$SERVER_ROOT-server
-Xms2048M-Xmx2048M-Xmn512M-XX:PermSize=256M
-XX:MaxPermSize=256M-XX:+UseConcMarkSweepGC
-XX:MaxTenuringThreshold=7-XX:GCTimeRatio=19
-Xnoclassgc-Xloggc:log/gc.log-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=0”;
q个配置虽然不会出现10U连不上的情况,但系l重?个小时左叻I每隔几分钟就会有5U连不上的情况,查看gc.log,发现在执行ParNewGC时有个promotionfailed错误Q从而{向执行FullGC,造成pȝ停顿Q而且会很频繁Q每隔几分钟有一ơ,所以还得改善。UseCMSCompactAtFullCollection是表是执行FullGC后对内存q行整理压羃Q免得生内存碎片,CMSFullGCsBeforeCompaction=N表示执行NơFullGC后执行内存压~?br />
四:JVM调优之增量回?br />
完成10万request用时171U,太慢了,配置如下Q?br />
$JAVA_ARGS.=“-Dresin.home=$SERVER_ROOT-server
-Xms2048M-Xmx2048M-Xmn512M-XX:PermSize=256M
-XX:MaxPermSize=256M-XX:MaxTenuringThreshold=7
-XX:GCTimeRatio=19-Xnoclassgc-Xloggc:log/gc.log
-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-Xincgc”;
g回收得也不太q净Q而且也对性能有较大媄响,不值得试?br />
五:JVM调优之ƈ发回收的I-CMS模式
和增量回收差不多Q完?0万request用时170U。配|如下:
$JAVA_ARGS.=“-Dresin.home=$SERVER_ROOT-server
-Xms2048M-Xmx2048M-Xmn512M-XX:PermSize=256M
-XX:MaxPermSize=256M-XX:MaxTenuringThreshold=7
-XX:GCTimeRatio=19-Xnoclassgc-Xloggc:log/gc.log
-XX:+PrintGCDetails-XX:+PrintGCTimeStamps
-XX:+UseConcMarkSweepGC-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=10-XX:-TraceClassUnloading”;
采用了sun推荐的参敎ͼ回收效果不好Q照h停顿Q数时之内׃频繁出现停顿Q什么sun推荐的参敎ͼ照样不好ѝ?br />
六:JVM调优之递增式低暂停攉?br />
又叫什么火车式回收Q完?0万request用时153U,配置如下Q?br />
$JAVA_ARGS.=“-Dresin.home=$SERVER_ROOT-server
-Xms2048M-Xmx2048M-Xmn512M-XX:PermSize=256M
-XX:MaxPermSize=256M-XX:MaxTenuringThreshold=7
-XX:GCTimeRatio=19-Xnoclassgc-Xloggc:log/gc.log
-XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+UseTrainGC”;
该配|效果也不好Q媄响性能Q所以没试?br />
七:相比之下Q还是ƈ发回收比较好Q性能比较高,只要能解决ParNewGCQƈ行回收年MQ时的promotionfailed错误׃切好办了Q查了很多文章,发现引vpromotionfailed错误的原因是CMS来不及回ӞCMS默认在年老代占到90%左右才会执行Q,q老代又没有够的I间供GC把一些活的对象从q轻代移到年老代Q所以执行FullGC.CMSInitiatingOccupancyFraction=70表示q老代占到U?0%时就开始执行CMS,q样׃会出现FullGC了。SoftRefLRUPolicyMSPerMBq个参数也是我认为比较有用的Q官方解释是softlyreachableobjectswillremainaliveforsomeamountoftimeafterthelasttimetheywerereferenced.Thedefaultvalueisonesecondoflifetimeperfreemegabyteintheheap,我觉得没必要{?U,所以设|成0.配置如下
$JAVA_ARGS.=“-Dresin.home=$SERVER_ROOT-server-Xms2048M
-Xmx2048M-Xmn512M-XX:PermSize=256M-XX:MaxPermSize=256M
-XX:SurvivorRatio=8-XX:MaxTenuringThreshold=7
-XX:GCTimeRatio=19-Xnoclassgc-XX:+DisableExplicitGC
-XX:+UseParNewGC-XX:+UseConcMarkSweepGC
-XX:+CMSPermGenSweepingEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=0
-XX:+CMSClassUnloadingEnabled-XX:-CMSParallelRemarkEnabled
-XX:CMSInitiatingOccupancyFraction=70
-XX:SoftRefLRUPolicyMSPerMB=0-XX:+PrintClassHistogram
-XX:+PrintGCDetails-XX:+PrintGCTimeStamps
-XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGCApplicationStoppedTime
-Xloggc:log/gc.log”;
上面q个配置内存上升的很慢,24时之内几乎没有停顿现象Q最长的只停滞了0.8s,ParNewGC?0U左x执行一ơ,每次回收U?.2U,看来问题应该暂时解决了?img src ="http://www.tkk7.com/gdws/aggbug/386541.html" width = "1" height = "1" />
]]>
scp 文g?nbsp; root@q程ip:/路径/
本地home目录下的test.tar的文件拷贝到q程L192.168.1.23?home/adm/目录下,则命令ؓQscp /home/test.tar root@192.168.1.23:/home/adm/ 回R后输入密码就可以?br />
scp提供了几个选项 在scp后加p?br />
-p 拯文g的时候保留源文g建立的时间?br />
-q 执行文g拯Ӟ不显CZQ何提C消息?br />
-r 拯整个目录
-v 拯文gӞ昄提示信息?br />
二、linux中cp强制覆盖拯
1Q?取消cp的alias,不是怹生效
#unalias cp
#cp a /test/a
2Q??\cp 执行cp命o时不走alias
#\cp a /test/a
3Q?Blinux最开始有自己的方?br />
]]>
长久以来Q由于地理空间信息行业的固有特点Q在q一领域中存在着多种不同的文件或数据库格式。当用户使用了某个公司的数据存储格式之后Q常常就被迫使用同一个公司的软gQ以讉K他们自己的数据。如果希望用其它公司的软gQ就往往要耗费大量的精力把数据从一U格式{换成另一U格式,或者设法去dq些专有格式。在q个q程中,可能D的问题包?
◆ 数据丢失:例如一U格式中记录的数据可能无法或很难转移到另一U格式中;
◆ _ֺ损失:例如把数据从一个双_ֺ的格式中转移到单_ֺ甚至整型的格式中;
◆ 数据冗余:同一份数据要创徏多种格式的拷?
◆ q时信息:当一个版本的数据更新后,未能及时更新其它格式的版本,D目成员使用q时的数据而导致不必要的错?
◆费成本:大量的时间和金钱耗费于毫无生产性的工作?/p>
?strong style="background-color: #ffff66; color: black">FDO
技术的帮助下,针对每种现有的数据存储格式,只要~写一D늨序,原有的数据存储“译”?strong style="background-color: #ffff66; color: black">FDO APIQ就可以提供l?strong style="background-color: #ffff66; color: black">FDO的应用程序访问。这?#8220;译”E序q?strong style="background-color: #ffff66; color: black">FDO Provider。只要安装了FDO ProviderQ应用程序就可以通过调用FDO接口来直接访问相应的数据存储Q而不再需要进行格式{换。因此,开发h员可以将更多的精力集中于应用E序逻辑Q而不是处理各U数据格式?/p>Autodesk不仅制订?strong style="background-color: #ffff66; color: black">FDO API的标准,q开发了一pd?strong style="background-color: #ffff66; color: black">FDO Provider提供l用戗目前已包括:
◆ 文g型数据源:SDF、SHP;
◆ 数据库型数据?ArcSDE、Oracle*、MS SQL Server*、MySQL、ODBC;
◆ Web数据?W合OGC规范的WMS/WFSQ只读);
◆ 光栅数据?多种常见的二l光栅格式和DEM格式*Q只读)?/p>
Z推广FDO技术的应用QAutodesk与OSGeo合作Q将FDO作ؓ一个开攄标准发布Qhttp://fdo.osgeo.org/Q,q将已有?strong style="background-color: #ffff66; color: black">FDO Provider作ؓ免费的开源品A献给CQ列表中?L除外Q?/p>
在OSGeo的推动下Q?strong style="background-color: #ffff66; color: black">FDO正在成ؓ讉K地理I间数据格式的统一的标准,q且已经由开源社区的开发h员(而非AutodeskQ提供了更丰富的FDO ProviderQ包括OSGeo FDO Provider for PostGIS和OSGeo FDO Provider for GDAL/OGR。这些ProviderE序都基于标准的FDO接口Q因此应用程序可以轻杄使用它们来扩展其支持的格式?/p>
另外Q由?strong style="background-color: #ffff66; color: black">FDO Provider本nq不必须是开源的Q因此对于原先私有数据格式的所有者,即在不公开该格式的情况下,也可以通过发布FDO Provider使得其它开发h员和应用软g可以讉K该格式中存储的数据。借助FDO ProviderQ应用Y件还可以讉K遵@OGCQOpen Geospatial ConsortiumQ标准的WMS/WFSQ网l地?要素服务Q站点,从而获取基于Web的公开的地图数据资源?/p>
有了FDOQ企业就不再局限于某一数据格式的Y件供应商Q而是可以自由的选择功能更强大、h格更低廉的Y件来讉K其自w的数据资源Q从而可以降低成本,提高生力?/p>
SDFI间数据格式
Autodesk不仅推出?strong style="background-color: #ffff66; color: black">FDO技术以讉K现有的地理空间数据格式,q开发了新的开攄I间数据格式SDFQSpatial Data FormatQ?strong style="background-color: #a0ffff; color: black">SDF格式是基于开源数据库格式sqliteQhttp://www.sqlite.org/Q,q且针对大型GIS数据集的存储q行了优化?/p>
SDF是一U易于用的文g型空间数据格式,它能够在一个文件中以表格的方式存储多种地理要素Q包括多U几何类型(炏V线、多边Ş和圆弧)以及兌的属性信息。与SHP相比Q它更ؓy便携Q用双_ֺ存储Q支持真正的圆弧对象Qƈ且支持v量数据存储(可存放超q?00GB的数据)Q性能优越?/p>
而与Oracle{真正的数据库系l相比,它的成本更低廉,更易于复制和传送,因此更适合于个人或型pȝ使用。?strong style="background-color: #ffff66; color: black">FDO技术,q能够轻杄?strong style="background-color: #a0ffff; color: black">SDF转换成其它格式,因此当企业规模发生变化,需求从型pȝq化到大型数据库pȝӞ可以很方便的?strong style="background-color: #a0ffff; color: black">SDF的数据迁U进入Oracleq样的数据库?/p>
DWF囑Ş技?/strong>
DWFQDesign Web FormatQ图形格式是一U专为网l应用而设计的矢量囑Ş格式Q可其UCؓ“|络时代的电子图U?#8221;。DWF与AutoCAD DWG看v来相|但也有很大的不同?/p>
首先QDWF是高度压~的格式Q体U小巧,因此更便于网l传?其次QDWF是专为图形浏览、审阅和打印而设计的Q它忠实的再C原始囑ŞQ但却不可进行更改(只能dҎQ,因此能够保证数据的安全可靠?最后,DWF是一U智能的囑Ş格式Q它不仅支持囑ֱ控制、电子量、三l模型和多页囄集,更重要的是它q包含了对象的属性数据?/p>
例如Q在一个DWF的地图文件中Q审思h员不仅可以选中一个地块,用电子方式测量它的面U,q可以查看其中包含的地块属性,例如产权所有者、绿化率和徏{密度。当发现错误Ӟ可以在图上添加电子批注,然后DWF文g发回l制图h员修攏V因此,在基于网l的囑Ş览和审ҎE中QDWF是最佳的数据格式?/p>
DWF对于Web应用也有非常重要的意义。我们不仅可以在安装了DWF Viewer插g的Internet Explorer软g中直接浏览DWF文gQ更重要的是Q由于DWF是一U流媒体格式Q这意味着可以在文件下载的q程中逐步昄其中的内容,而不是等到整个文件下载完成之后才昄其全部内宏V因此,ZDWF技术的Web应用能提供更好的用户体验?/p>
MapGuide Open Source
MapGuide Open Source是Autodesk开源的地理I间信息技术的集大成者。它l合利用了多U开源技术,提供了一个先q的WebGISq_Q用于集成多U数据源Q徏立一个基于Web的地理空间信息应用系l,地理空间数据发布到Internet/Intranetq行׃n。ƈ且,׃MapGuide Open Source是专门针对WebGIS应用开发的Q因此非常容易学习和使用Q性能也更为出艌Ӏ?/p>
MapGuide Open Source是由Autodesk独立开发的全新产品Qƈ?005q?1月发布。尽其名称与以前的Autodesk MapGuide 6.5怼Q但是新的MapGuide是完全重新开发的Q用了与以前截然不同的技术,因此实际上是两个完全不同的品。新的MapGuide包含两个版本:开源版本MapGuide Open Source和商业版本Autodesk MapGuide Enterprise 2007?/p>
q两个版本的内核完全相同Q绝大多数功能也一P但商业版本提供了更多的高U功能(例如用于Oracle和SQL Server?strong style="background-color: #ffff66; color: black">FDO ProviderQ,q且可以获得Autodesk公司提供的技术支持和服务?/p>
与以前的Autodesk MapGuide 6.5相比QMapGuide Open SourceQ也同样适用于商业版本)使用了最新的行技术,因此更加卓越。其主要的新Ҏ如?
◆ HTMLQAJAXQ和DWF两种览方式
MapGuide Open Source可集成服务器端的多种数据源,q过HTML方式或DWF方式发送到客户端。这两种方式提供了几乎完全相同的界面和功能,包括动态的囑Ş~放和^UR图层控制、选中要素q查看属性数据、Q动提C、图上测量和~冲区分析等?/p>
在HTML方式中,服务器端的地理空间数据被转换成光栅图像发送到览器,使用AJAXQAsynchronous JavaScript and XMLQ技术进行用户交互,而无需在客L安装M插g。而在DWF方式中,发送到客户端的是DWF格式的矢量数据,使用览器内嵌的DWF Viewerq行查看Q因此能够提供更快的用户响应速度、更好的~放和打印性能Q另外还可以DWF文g保存到本C备脱机浏览?/p>
◆使用FDO数据讉K技?/p>
MapGuide Open Source使用FDO作ؓ数据讉K的接口,因此它能够无~直接读取多U地理空间数据格式,包括SDF、SHP、ArcSDE{。另外,在Autodesk MapGuide Enterpriseq一商业产品中还提供了对Oracle和SQL Server的支持。作ZƄqOGC认证的品,MapGuide Open Sourceq支持通过WMS/WFS集成和发布Web地图数据?/p>
◆ 更强大的囑Şq_
MapGuide Open Sourceq具有更强大的图形显C性能Q包括支持真彩色、TrueType字体、地囄号库、透明填充和智能的文字标注功能。另外,它还提供了更方便的用户交互界面。很多在以前的MapGuide 6.5中需要通过开发h员编E实现的常用功能Q现在都可直接从MapGuide产品中获取?/p>
◆ I间应用服务?/p>
׃MapGuide Open Source是在服务器端q行I间数据的访问、查询和分析Q因此这p予它一U强大的Ҏ,作ؓ一个空间应用服务器Q以“机器到机?#8221;的方式与其它应用pȝq行交互?/p>
单来Ԍ当另一个应用YӞ不限于Web览器)按照事先U定的方式向MapGuide Open Source服务器发送一个请求时QMapGuide Open Source接受q个hQ执行其操作Q例如查询某个指定区域内的地理空间数据)Q然后将操作的结果以事先U定的格式发送给该应用YӞ然后该Y件就可以按照其自w的需求对q回的信息进行处理?/p>
MapGuide作ؓI间应用服务器的一个最C子,是加拿大的Nanaimo市用它与Google Earthq行集成。该|站Qhttp://earth.nanaimo.ca/Q可以将市政府的MapGuide服务器中的空间数据输Zؓkml格式QGoogle Earth的文件格式)。于是,当用户在Google Earth客户端中打开一个包含MapGuide服务器地址的kml文gӞGoogle Earth客户端就向该MapGuide服务器进行查询?/p>
而MapGuide服务器接收请求后Q就查询该地区的I间数据q生成kml格式q回lGoogle Earth客户端。然后,Google Earth客户端就可以昄来自MapGuide的空间数据ƈ叠加到它自n的卫星媄像上?/p>
因此QMapGuide不仅仅是一个Web地图q_Q更是一个基于Web的空间数据引擎。用MapGuideQ可以很Ҏ的ؓ其它应用pȝ提供I间查询和分析功能,或是分布于多个pȝ中的I间数据集成C个客L上进行浏览?/p>
MapGuide Open SourceQ以及Autodesk MapGuide EnterpriseQ提供了如此之多的强大功能,因此能够用于架设企业U的地理I间信息应用pȝ?/p>
另外QAutodeskq提供了与之配套的开发工具Autodesk MapGuide StudioQ用于收集和整理地图数据、创建地图显C样式,以及集成?net、Java或PHP开发的应用E序逻辑Qƈ在发布之前对整个pȝq行预览。Autodesk MapGuide Studio是一个独立的商业软gQ但Autodesk也提供了可下载的免费试用版本Qƈ且可向开发商合作伙伴提供用于开发的许可?/p>
此外QMapGuide Open Sourceq能够与桌面软gAutodesk Map 3D 2007协同使用Q以化地囑ֈ建到发布的流E。Autodesk Map 3D 2007是基于AutoCAD的地囑ֈ作与~辑软gQ商业品)Q它也同样?strong style="background-color: #ffff66; color: black">FDO数据讉K技术,因此能够直接讉K多种地理I间数据格式Q用AutoCAD工具q行~辑Qƈ创徏地图昄样式和制作专题地图。用Map 3D制作的地囑֏以直接输出到MapGuide Open Source服务器上q行发布Qƈ且保持在Map 3D中做好的昄样式?/p>
采用LGPL授权
与开源Y件中行的GPL授权不同QAutodesk在MapGuide Open Source以及大部?strong style="background-color: #ffff66; color: black">FDO Provider中用的是LGPL授权。与GPL相比QLGPL授权是一U更为宽杄授权?/p>
如果您在自己开发的软g产品中包含了ZLGPL授权的品(例如在MapGuide Open Source的基上开发的应用pȝQ,LGPLq不要求开放您新增的这些代码(与之相反QGPL授权要求开放您新增的所有代码)。您所开发的新Y件可以是开攄或者私有的Q可以是免费的或者收费的Q没有Q何限?但如果修改了其中原品的部分代码Q那么您必须明确的指Z改的部分Qƈ公布修改后的代码。因此,与采用GPL授权的开源YӞ例如MapServerQ相比,MapGuide Open Source更加适合于商业应用?/p>
事实上,Autodesk MapGuide Enterprise 2007是ZMapGuide Open Source的一个商业品,它包含MapGuide Open Source的所有功能?/p>
Z让更多用户从MapGuide Open Source受益QAutodesk此软g捐献lOSGeo基金会。用户可从OSGeo|站下蝲和用该产品及其源代码?/p>
q意味着MapGuide Open Source不再属于Autodesk所有,而是属于以OSGeoZ表的全体开源社区。但同时也需注意QAutodesk不对MapGuide Open Source的用h供技术支持和M保障Q这些用户需通过开源社取支持。Autodesk仅对Autodesk MapGuide Enterprise的用h供支持和服务?/p>
l语
通过本文的介l,我们要的览了Autodesk在地理空间信息领域的一pd开源技术和产品。用来自Autodesk的开源技术,能够与其它开源Y件或商业软g集成Q徏立v完善的基于Web的地理空间信息应用系l,从而ؓ最q泛的用户共享地理信息,同时帮助企业降低成本Q提高生产力。Autodesk与OSGeo协作Q不断的为地理空间信息的开源事业做A献?/p>
? FDO数据讉K技?/p>
? MapGuide Open Source 站点架构