普元平台esb中怎么messagehander是怎么实现的

普元专家:企业如何打造可控IT环境
  随着TD业务推出、3G发牌,国内通信行业竞争日趋激烈,各大电信运营商业务逐渐趋同、利润空间受到挤压。而三网融合的推进,更将竞争范围扩展到互联网行业、广电行业。在可预想的未来市场,业务创新将层出不穷、竞争与合作也将更为频繁和激烈,因此,中国移动的业务支撑系统面临着与时俱进的发展考验。只有提供更为全面、强大、灵活、稳定的BOSS系统支撑能力,才能为中国移动打造区别于竞争对手的核心优势,立于不败之地。
  2011年,中国移动集团下属某省公司对BOSS业务支撑系统提出了更多具体的要求,譬如:需要落实对分散帐期的支撑要求;需要保证对铁通业务深度融合后的支撑能力;还需要根据集团的移动互联网战略,保证70%以上的业务办理由电子渠道实现支撑。
  其实,为了配合企业战略定位转型和经营理念落实,中国移动早在2008年就完成了面向未来NGBOSS的规划。NGBOSS规划明确了全新的系统架构,将原先的省级BOSS系统遵循P/C构建规划思路进行功能解耦,从而分别演进发展为面向客户运营的NG—CRM系统和面向产品运营的NG—BOSS系统。基于“逐步改造、平滑升级”的指导原则,中国移动采取了“先解耦、再整合”的演进策略,并于2009年完成了营帐拆分工程实施。而该工程的完成,也使得NGBOSS规划中的两个核心系统NG—CRM与NG—BOSS具备了初步边界划分。
  问题与挑战
  中国移动某省公司历经多年的BOSS系统建设,投入了大量的人力物力,虽然取得了一定效果,但是BOSS建设的管理水平仍然处于“管理集成商”阶段,而不是“管理IT系统”阶段,从而使得已有的投资不能更加有效的积累、不能转化成可持续产生效益的资产,例如在系统建设方面,系统和模块的界定不够清晰,系统内部耦合度过高,接口标准缺乏统一管理;在系统运营方面,系统演进的质量不可控,IT运营成本不断上涨;适应业务需求方面,不能迅速响应需求,业务组建重复利用程度过低,业务开发缺乏可持续性等问题。
  解决方案思路分析
  为了深入推进NGBOSS系统的建设工作,2010年,该省公司完成NGBOSS开发平台SOA理论的研究,并经过近一年的反复论证,清晰的意识到了:一方面,公司应该提升IT集成能力,拆分现有Boss系统,完成系统间SOA接口标准化工作。“可以说,提升IT系统间的服务集成能力将是SOA最佳的突破点,也是解决本省公司有效掌控IT建设的手段”普元ESB产品经理张学勇表示。而另一方面,该省公司还应该使系统迭代演进,提升专业化程度:张学勇介绍道,“从中长期而言,将BOSS系统相对拆小并独立建设,实现系统可迭代的更新,既符合运营商增效节支的需要,也将促成集成商系统软件产品的专业化发展”;同时,该省公司还需要通过部署ESB服务总线,来提升与集团总部的互动:因为从长远来看,部分被松耦合后的BOSS系统将首先被进行集中化改造,通过服务总线可以快速的将本地系统剥离,与集团公司的集中化系统进行对接。
  最后,结合自身的实际情况及业内的最佳实践,该省公司还深刻认识到仅仅依托技术平台还无法完整解决当下自身BOSS系统建设遇到的如上问题,应当从集成架构(包括采用SOA架构和标准化技术;软件资产可复用;在展现、服务、数据等层面进行服务梳理、提供快速服务组装的平台工具、提供服务运行情况的监控能力、提供基础设施及管理等)、软件管理(包括通过IT集成平台和工具支撑相关工作,提高工作效率;进行软件资产的集中管理;提供软件资产管理的标准和规范;)和组织保障(包括形成相应的组织结构、岗位设置及岗位技能指标要求等;形成包括KPI考核制度,人员培训、职业发展等相应的组织管理及预算成本机制)这三个主要方面来着手解决。
  依托以上认识,该省公司采取了普元SOA治理平台:
  该整体方案从管理体系、平台/工具和组织保障三个维度,提出相应措施:比如在管理体系上,建立了软件资产管理规范,确保需要纳入SOA治理的软件资产按一定的规则进行管理,包括应用系统命名规范、服务管理流程、服务设计规范和部署规范;同时需要定义评估SOA治理绩效的度量指标,包括服务引用次数、服务调用次数、服务调用成功率,服务响应时间,以评估SOA治理的有效性,并作为SOA治理能力的性能基准,持续不断优化和改进,促进业务目标的实现
  在平台/工具层面,建立了SAM服务管理系统、ESB服务总线、SSM服务监控系统,该省公司可以通过这些平台和工具实现服务资产的集中管理和控制;
  在组织保障层面,有专门的治理小组,来推动和实施SOA治理活动,确保管理体系和平台工具的执行,监控服务接口的运行情况,评估SOA治理的绩效,保证SOA治理最终实现业务目标和需求。
  相关软件平台的部署架构如下图所示:
  针对不同业务域的特点普元分别为该省公司部署了三个ESB服务总线平台,分别对应与集团的互联、与合作伙伴的互联、与互联网开放平台的互联以及企业内部的服务互联,同时通过SAM服务管理系统对部署在各ESB服务总线上的服务进行统一管理,同时通过SSM服务监控系统对各服务状态进行实时监控和统计分析,从而达到对服务的端到端的管理 。
  平台价值分析
  该省公司以独特的视角引入SOA治理平台,为其在NGBOSS系统的发展与演进过程带来很高的业务价值:首先,提高了对软件资产的管理能力:基于对NGBOSS系统对外接口及相互关系,以及各系统交互接口运行时的掌控,使得运营商IT部门能对多年的IT投资有一个清晰的、可见的蓝图,从而可以能很快的做出如何应对业务需求的IT决策:新建、完善还是废除,有效保护了已有的IT投资,从而使得IT投资真正作为企业的一种资产在管理,而不是仅仅在管理集成商。
  其次,增强了适应业务变化的能力:随着将IT投资实实在在地转化成资产,从而在NGBOSS应对新需求变化时,可以根据已有的IT能力来组合新的服务适应新的需求。同时基于各系统的松耦合关系,使得任意系统的变化都不会影响其他系统,使得系统融合新需求的周期也大大缩短 。
  同时,也提高了系统持续迭代演进的能力:从中长期来看将NGBOSS相对拆小并独立建设,实现系统可迭代的更新,既符合运营商增效节支的需要,也将促成集成商系统软件产品的专业化发展,真正实现了各系统之间的松耦合关系,使得以后任何一次决策所影响的范围都是有限和可控的,解耦后的业务支撑系统会呈现出百花齐放的效果,将面对众多的业务系统和集成商。被管理对象的数量和复杂度都在提升,并要求运营商提升自身的管理能力 。
  解决方案———近期实施路线
  普元SOA治理平台将治理对象大体分成:接口、页面、数据等,从而可以分别针对这三个不同的对象进行治理,增强了整体治理方案的可实施性。
  具体在接口治理方面,表现为:接口可管理(这是系统间“可管理,可维护”的前提);接口的有效规则(这是决定实现系统解耦,完成能力封装的关键);接口标准化(是降低系统间替换成本的重要手段)以及基于SOA的接口集成模式(这是降低维护成本,提升服务扩展能力的最佳实践) 。
  在数据管理方面,普元强调数据的分散整合是平衡开发成本和维护成本的结果,而保持各个系统之间数据的独立性,则是确保系统独立性的关键。
  在界面治理方面,普元以ESOP、VGOP等OP类系统为代表的界面集成,是将后台系统的业务能力快速包装成界面功能的极佳选择
  因此,在结合了该省公司的实际情况后,普元建议首先解决BOSS系统间的接口问题,所以近期的方案实施重点在于接口治理,实施路线主要包括三个阶段:
  如图所示,第一阶段为集成平台规划与建设期,总体规划包括:业务支撑系统规划总体方案、松耦合BOSS系统方案、ESB服务总线架构方案;SOA治理平台建设工作包括:ESB服务总线搭建、SSM服务监控系统建设、SAM服务管理系统建设;
  第二阶段为项目实施期,包括支持NGBOSS系统实施、ESB服务总线优化、系统接口服务抽取等工作,而第三阶段则是系统优化期,包括:SAM服务管理系统优化、SSM服务监控系统优化。
  普元的成功之处在于:
  互联网及SOA的发展推动下一个被标准化和商品化的领域将是应用服务器之上的SOA中间件;
  是SOA国际标准SCA/SDO的主要参与制定者和电子商务标准的主要制定者OASIS的核心奠基成员,CMMI5开发模型成熟度5级认证;
  德勤2006年高科技成长50强之一, 并荣膺“国家级重点A类新产品”、“上海市科技进步二等奖”、中国计算机报“最佳编辑选择奖”、中国计算机用户协会“最有价值中间件产品奖”等奖项;
  是国内少数在基础软件领域赢得银行、电信等高端用户信任的品牌之一,成为中国联通等关键用户、华为科技等大型软件商的重要产品供应商;
  成功承担了国家发改委软件重大专项、国家863计划、上海市科教兴市重大产业化专项等项目的研发任务。
  关于普元
  普元(Primeton)是全球领先的SOA基础软件厂商,国内最大的平台软件厂商,是政府重点支持的高新技术企业。在电信、金融、政府、国防等多个行业成功应用,拥有超过200家以上的大型用户;产品已经销往日本、科威特、南非、也门、加拿大、印度、荷兰、泰国、巴西等30余个国家。
】【】【】ESB之旅(您说你干的比驴多、骡子就笑了——分析示例BookStore + Echo)_Extjs4作的web桌面形式的企业级应用,应该是国内第一个拿出来分享的吧_Java精华积累:每个菜鸟都应该搞懂的有关问题__脚本百事通
稍等,加载中……
^_^请注意,有可能下面的2篇文章才是您想要的内容:
ESB之旅(您说你干的比驴多、骡子就笑了——分析示例BookStore + Echo)
Extjs4作的web桌面形式的企业级应用,应该是国内第一个拿出来分享的吧
Java精华积累:每个菜鸟都应该搞懂的有关问题
ESB之旅(您说你干的比驴多、骡子就笑了——分析示例BookStore + Echo)
ESB之旅(你说你干的比驴多、骡子就笑了——分析示例BookStore + Echo)
关于ESB的这些文字写于1年前,漏洞百出,于光棍节也就是10年11月11日开始修补,本篇文章也修改了错误、增加bookStore例子解析。
Chris Hane发表一篇博文:ServiceMix vs Mule ESB ,从自己的体会对ServiceMix和Mule进行了使用上的比较:
随着我们的各种应用的增长,我们对各种外部系统创建了许多一次性的、不通用的接口,众所周知长远来看这样下去是不行的。即使是现在,这些烂七八糟的接口已经缠住了我们。所以我们得偿还欠下的技术债了:实现一个ESB。
单纯用webservice的方式也是不够的,我找到了Apache ServiceMix,看上去还不错。下载、跟着实例程序和指导书很简单的就“入门”了,我很喜欢它的热部署能力,创建projects和各种各样配置文件(所谓的服务单元)的maven支持也很多。
可是,一旦超出实例和指导书范围之外,我感觉就像撞了南墙一样.
我根本还没“入门”。我的第一个自定义测试是接受一个post上传文件做一些转换并将转换结果存储在文件系统中。够简单了吧,而实际上很困难,我觉得、如果我对serviceMix足够熟悉几分钟就可以完成了,但是过了一整天我还是没搞定,其中半天都在读源码和google!,网上的文档太烂
—— 至少对于初学者是这样(老外也tmd有今天 )
随后我把注意力转向了其他esb:Mule.
这正是我想要的、文档很好、我能在10分钟内用eclipse跑起示例程序,细读了示例程序和指导书之后,花了4个小时就完成了我的第一个自定义测试,甚至还能更快。
Mule也有提供IDE,可用于帮助创建新的服务,甚至可以在eclipse中运行 — 这意味着调试简化了很多。
按照江南白衣的归纳是:纷纷扰扰后,只剩下有实力的四国 :
Fuse ESB, “融合”了数款Apache项目:ServiceMix、Camel、ActiveMQ等,由IONA公司(被Progress收购)提供支持,ServiceMix 4.0 重点已从JBI移到OSGI,而且IONA同时也是ActiveMQ与CXF背后的公司,三者整合良好。同时IONA还拥有corba产品orbacus,Progress拥有商业ESB产品Sonic ESB。
,最早声势最大的开源ESB,由MuleSource(Symphony出身、现在叫muleSoft)公司提供支持。缺点是Transport质量较差,缺乏强力的AS底层,缺少服务中介能力,服务编排方式不理想。
JBoss ESB, JBoss提供支持,中规中矩没什么明显缺点的ESB...
在一篇ESB调查报告中Progress公司的ESB排在行业领袖梯队,JBoss ESB排在第二梯队。第四梯队的mule的评估是和JBoss一样核心强健、但是支持特性相对狭窄,比如没有或缺乏图形化支持、协议支持不够宽泛(估计就是由于这些原因导致mule没有进入第二梯队、微软的产品单独排在第三梯队)...但这篇评估报告不确定是针对商业产品还是开源的,比如Progress就拥有商业的Sonic ESB以及开源的Fuse;mule也有商业版和社区开源版......
就在上篇Chris Hane的 博文的回复之一有人提到可以使用Camel定义xml路由然后放到ServiceMix中去执行,看来这也是fuseESB的融合点。
另外对于产品的选择理论上应该看重对标准的支持情况,以及成熟度和使用的广泛度。目前了解SOA领域的规范包括:IBM\BEA等提出的SCA (Service Compontent architecture)服务组件架构+SDO;sun制定的 JBI (Java Business Integration)Java业务集成也就是jsr208规范。前者层次高一些,到了仅次于SOA的层次,所以叫SOA 落地 规范(IBM的中国买办们真能捅词啊);后者领域限定java,层次也低那么一点点,可以说就是个ESB实现的标准... ,我等不想接入标准之争,只想安安稳稳做项目,这些风险必须规避。SCA的开源实现目前最拉风的是Apache Tuscany,其次是eclipse的第九大顶级开源STP(SOA Tool Platform); JBI的开源标准实现就是apache ServiceMix。现在SCA占上风。SCA规范很繁琐庞大,国内唯一的osoa成员普元承担了SCA规范的文档汉化工作,但就是汉化的文档说实话我也不愿意看,
实际上目前根本就不用关心SCA、JBI 这些规范标准,关心也没用,知道有这么个事就行了,it领域忽悠太多,演戏的不一定是疯子、看戏的不一定是傻子...
alloyer对mule的users guide翻译:/group/cgsoa-translate/files?hl=en
一篇关于JBI是什么的译文:
What is Java Business Integration (JBI) or JSR 208
在javaOne大会上有大量关于JBI的报道和关注,在我们即将发布我们的开源JBI容器及组件套装ServiceMix 第一版之前这尤其是个好消息。 我估计大家还没有深入体验过JBI, 在JavaOne大会的JBI讨论上一些人脸上仍有困惑,所以我写下这篇文章做个科普,阐述一下JBI的价值所在以及如何使用它。
概括地说JBI就是一个 Normalized Message Service and Router 规格化消息服务和路由的简单API、以及部署一些集成服务的组件和管理模型,这些集成服务包括:routing engines路由引擎, BPEL引擎, rule systems规则系统, transformation engines转换引擎等等...
JBI提供了一个逻辑XML消息网络,这个网络可以很好地映射到HTTP, email and JMS/MOM,这样它可以很好的适应遗留系统、二进制传输和RPC系统比如EJB、CORBA。 可以把JBI看作是在JMS之上的逻辑抽象,而且它还能支持不同的消息交换如:one way单程、 request response请求响应等等....
BC(binding components )绑定组件处理所有的plumbing消息流和协议相关,SE(service engine components )服务引擎组件在逻辑 XML层上工作,做基于内容的路由、编排、规则、转换以及客户自定义enrichment?等等...
这样BPEL引擎不再需要去处理协议,传输和格式,它只是委托给JBI去做service endpoints服务端点的物理路由、基于内容的路由,规则引擎、转换引擎也可以基于JBI总线去工作。所以我认为JBI是集成组件开发者可以使用的很棒的API。
现在大多数的应用开发人员都在写POJO服务、暴露为webservice然后扔到容器中,所以他们不需要直接使用JBI APIs。但向我们这样直接去做集成的人,JBI在ESB级别上提供了一种中间件、集成供应商以及OSS项目的方式。
相关评论:
可以,你可以使用绑定来与任何老旧的协议通讯 - 在JBI总线内你可以使用任何JBI组件以任何方式转换消息/格式,例如XSLT:http://servicemix.org/XSLT
或者XSQL:http://servicemix.org/XSQL
或者脚本:http://servicemix.org/Groovy
&service name="EchoUMO"&
&component class="ponent.simple.EchoComponent"/&
&/service&
&model name="echoSample"&
&service name="EchoUMO"&
&stdio:inbound-endpoint system="IN"/&
&vm:inbound-endpoint path="echo"/&
&/inbound&
&echo-component/&
&outbound&
&pass-through-router&
&stdio:outbound-endpoint system="OUT"/&
&/pass-through-router&
&/outbound&
&/service&
&service name="EchoUMO"&
&axis:inbound-endpoint address="http://localhost:65081/services"&
&soap:http-to-soap-request-transformer/&
&/axis:inbound-endpoint&
&axis:inbound-endpoint address="http://localhost:65082/services"/&
&vm:inbound-endpoint path="echo"/&
&/inbound&
&echo-component/&
&/service&
&soapenv:Envelope&
&soapenv:Body&
&echoResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"&
&echoReturn xsi:type="xsd:string"&hello mule!&/echoReturn&
&/echoResponse&
&/soapenv:Body&
&/soapenv:Envelope&
[10:52:27] INFO
StdioMessageDispatcher [connector.stdio.0.dispatcher.16]: Connected: endpoint.outbound.stdio://system.out
hello mule!
[10:52:10] INFO
LogComponent [connector.http.0.receiver.16]: hello mule!
[10:52:10] INFO
StdioMessageDispatcher [connector.stdio.0.dispatcher.15]: Connected: endpoint.outbound.stdio://system.out
[Ljava.lang.O@15b4ad2
&wsdl:message name="echoResponse"&
&wsdl:part name="echoReturn" type="xsd:int"&&/wsdl:part&
&/wsdl:message&
&soapenv:Envelope&
&soapenv:Body&
&echoResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"&
&echoReturn href="#id0"/&
&/echoResponse&
&multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int"&123&/multiRef&
&/soapenv:Body&
&/soapenv:Envelope&
&soapenv:Envelope&
&soapenv:Body&
&soapenv:Fault&
&faultcode&soapenv:Server.userException&/faultcode&
&faultstring&
java.lang.NumberFormatException: For input string: "hello"
&/faultstring&
&faultData xsi:type="ns1:NumberFormatException"/&
&ns2:stackTrace&
java.lang.NumberFormatException: For input string: "hello"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
if (muleContext !=null && !muleContext.isDisposed() && !muleContext.isDisposing())
muleContext.dispose();
MuleContext context = new DefaultMuleContextFactory().createMuleContext(
new SpringXmlConfigurationBuilder("foo-config.xml")
context.start();
Extjs4作的web桌面形式的企业级应用,应该是国内第一个拿出来分享的吧
Extjs4做的web桌面形式的企业级应用,应该是国内第一个拿出来分享的吧
做的时候遇到很多问题也解决了很多extjs4的bug。走了很多弯路但是第一个demo总算做出来了。在网上应该第一个用Extjs4成功做出web桌面并且拿出来展示的暂时放几个效果真的有人需要可以拿出来互相交流
Java精华积累:每个菜鸟都应该搞懂的有关问题
Java精华积累:每个初学者都应该搞懂的问题!对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。
问题一:我声明了什么!
许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello
world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。
这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向 "Hello
world! "这个String类型的对象。这就是真正发生的事情。我们并没有声明一个String对象,我们只是声明了一个只能指向String对象的引用变量。所以,如果在刚才那句语句后面,如果再运行一句:
我们是声明了另外一个只能指向String对象的引用,名为string,并没有第二个对象产生,string还是指向原来那个对象,也就是,和s指向同一个对象。
问题二: "== "和equals方法究竟有什么区别?
==操作符专门用来比较变量的值是否相等。比较好理解的一点是:
则a==b将是true。
但不好理解的地方是:
String( "foo ");
String( "foo ");
则a==b将返回false。
根据前一帖说过,对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。a和b都使用了new操作符,意味着将在内存中产生两个内容为 "foo "的字符串,既然是“两个”,它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值,所以使用 "== "操作符,结果会是false。诚然,a和b所指的对象,它们的内容都是 "foo ",应该是“相等”,但是==操作符并不涉及到对象内容的比较。
对象内容的比较,正是equals方法做的事。
看一下Object对象的equals方法是如何实现的:
equals(Object
Object对象默认使用了==操作符。所以如果你自创的类没有覆盖equals方法,那你的类使用equals和使用==会得到同样的结果。同样也可以看出,Object的equals方法没有达到equals方法应该达到的目标:比较两个对象内容是否相等。因为答案应该由类的创建者决定,所以Object把这个任务留给了类的创建者。
看一下一个极端的类:
equals(Object
another){}
我覆盖了equals方法。这个实现会导致无论Monster实例内容如何,它们之间的比较永远返回true。
所以当你是用equals方法判断对象的内容是否相等,请不要想当然。因为可能你认为相等,而这个类的作者不这样认为,而类的equals方法的实现是由他掌握的。如果你需要使用equals方法,或者使用任何基于散列码的集合(HashSet,HashMap,HashTable),请察看一下java
doc以确认这个类的equals逻辑是如何实现的。
问题三:String到底变了没有?
没有。因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。请看下列代码:
s所指向的对象是否改变了呢?从本系列第一篇的结论很容易导出这个结论。我们来看看发生了什么事情。在这段代码中,s原先指向一个String对象,内容是 "Hello ",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢?答案是没有。这时,s不指向原来那个对象了,而指向了另一个String对象,内容为 "Hello
world! ",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。
通过上面的说明,我们很容易导出另一个结论,如果经常对字符串进行各种各样的修改,或者说,不可预见的修改,那么使用String来代表字符串的话会引起很大的内存开销。因为String对象建立之后不能再改变,所以对于每一个不同的字符串,都需要一个String对象来表示。这时,应该考虑使用StringBuffer类,它允许修改,而不是每个不同的字符串都要生成一个新的对象。并且,这两种类的对象转换十分容易。
同时,我们还可以知道,如果要使用内容相同的字符串,不必每次都new一个String。例如我们要在构造器中对一个名叫s的String引用变量进行初始化,把它设置为初始值,应当这样做:
String( "Initial
后者每次都会调用构造器,生成新对象,性能低下且内存开销大,并且没有意义,因为String对象不可改变,所以对于内容相同的字符串,只要一个String对象来表示就可以了。也就说,多次调用上面的构造器创建多个对象,他们的String类型属性s都指向同一个对象。
上面的结论还基于这样一个事实:对于字符串常量,如果内容相同,Java认为它们代表同一个String对象。而用关键字new调用构造器,总是会创建一个新的对象,无论内容是否相同。
至于为什么要把String类设计成不可变类,是它的用途决定的。其实不只String,很多Java标准类库中的类都是不可变的。在开发一个系统的时候,我们有时候也需要设计不可变类,来传递一组相关的值,这也是面向对象思想的体现。不可变类有一些优点,比如因为它的对象是只读的,所以多线程并发访问也不会有任何问题。当然也有一些缺点,比如每个不同的状态都要一个对象来代表,可能会造成性能上的问题。所以Java标准类库还提供了一个可变版本,即StringBuffer。 ------解决方案--------------------不错
------解决方案--------------------学习 ------解决方案--------------------up
------解决方案--------------------
------解决方案--------------------新年快乐!up
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:2.[普元 黄柳青][中文]SOA标准2009_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
2.[普元 黄柳青][中文]SOA标准2009
上传于||文档简介
&&2​.​[​普​元​ ​黄​柳​青​]​[​中​文​]​S​O​A​标​准09
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩16页未读,继续阅读
你可能喜欢

我要回帖

更多关于 普元软件 的文章

 

随机推荐