??xml version="1.0" encoding="utf-8" standalone="yes"?>国产免费亚洲高清,国产精品久久久久久久久久新婚,这里只有视频精品 http://www.aygfsteel.com/aizheng/category/9429.html从此不能再哎?-无聊的hQ喜Ƣ无病呻?/description>zh-cn Fri, 02 Mar 2007 06:41:01 GMT Fri, 02 Mar 2007 06:41:01 GMT 60 Weblogic域间调用EJB常见事务错误 http://www.aygfsteel.com/aizheng/archive/2006/04/29/44029.html哎诤 哎诤 Sat, 29 Apr 2006 08:21:00 GMT http://www.aygfsteel.com/aizheng/archive/2006/04/29/44029.html http://www.aygfsteel.com/aizheng/comments/44029.html http://www.aygfsteel.com/aizheng/archive/2006/04/29/44029.html#Feedback 0 http://www.aygfsteel.com/aizheng/comments/commentRss/44029.html http://www.aygfsteel.com/aizheng/services/trackbacks/44029.html
前言
本h所在项目中Q由于我们的pȝ业务逻辑单独部vQ以下称之ؓEJB层,和普通的WEB层相对独立。从
WEB
层调?/span>
EJB
层,通过
Command
架构Q其包含?/span>
EJB
调用是事务性质的,所以我?/span>
EJB
层再调用其它W三Ҏ(gu)供的
EJB
接口Ӟq怼出现一些莫名其妙的错误Q以下略作收集?/span>
1
、错误现象(在被调用?/span>
EJB
服务器屏q上出现Q:
<2005-1-20
下午
04
?/span>
14
?/span>
46
U?/span>
CST> <Error> <Security> <BEA-090513> <ServerIdentity failed validation, downgrading to anonymous.>
<2005-1-20
下午
04
?/span>
14
?/span>
46
U?/span>
CST> <Error> <JTA> <BEA-110200> <User [<anonymous>] is not authorized to invoke startCommit on a transaction branch.>
分析Q?/span>
q种异常是跨域传播事务造成?/span>
.
一定要传播事务的话
,
必须讄域信?/span>
,
没有其他办法
.
但是域信L相关的安全隐(zhn)?/span>
,
当然对于大部分非关键业务应用来说也无所谓了
.
具体讄Ҏ(gu)为,
domain node --> View Domain-wide Security Settings --> Configuration --> Advanced --> Enable Generated Credential -->
?/span>
Credential
中输入密码,两个
domain
的这个密码要完全一_然后重新启动
server
可以了?/span>
2
、错误现象(在调用方?/span>
EJB
屏幕上出玎ͼQ?/span>
<2005-11-4
下午
01
?/span>
41
?/span>
36
U?/span>
CST> <Error> <EJB> <BEA-010026> <Exception occurredduring commit of transaction Name=[EJB cn.com.jdls.foundation.architectures.comm
and.ejb.TaxCommandBean.executeCommand(cn.com.jdls.foundation.architectures.command.commands.BaseCommand)],Xid=BEA1-0021A 70EC385C 5407B0E(31591114),Status=Committing,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=121,seconds left=0,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=committed,assigned=ejbserver),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@1326f 69,re-Registered = false),SCInfo[mydomain+ejbserver]=(state=committed),SCInfo[dmctais+app1]=(state=committing),properties=({weblogic.transaction.name=[EJB cn.com.jdls.foundation.architectures.command.ejb.TaxCommandBean.executeCommand(cn.com.jdls.foundation.architectures.command.commands.BaseCommand)], weblogic.jdbc=t3://92.16.16.43:6517}),local properties=({modifiedListeners=[]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=ejbserver+92.16.16.43:6517+mydomain+t3+, XAResources={},NonXAResources={})],CoordinatorURL=ejbserver+92.16.16.43:6517+mydomain+t3+): javax.transaction.SystemException: Timeout during commit processing
分析Q?/span>
q种异常是由?/span>
EJB
被调用方Q通常h记忆功能Q对于调用它接口的远E?/span>
EJB
服务和相应的
IP
以及
Port
都会记录在内存,如果下次相同?/span>
EJB
服务来调用它的时候,它就会检内存中?/span>
EJB
服务对应?/span>
IP/Port
是否和当前的实际情况相符Q如果不W的话,׃出现q种错误?/span>
q种情况目前在我?/span>
pȝ中,到的两U典型的案例是Q一Q我们的
EJB
服务器上有双|卡Q本来调?/span>
某第三方
?/span>
EJB
接口很正常,但是有次用了其中一个没插网U的|卡后,出现这U错误,因ؓ被调用方
EJB
服务已经C了我们的
EJB
服务对应?/span>
IP
?/span>
Port
Q二、本来我们的
EJB
服务器,调用另一?/span>
W三?/span>
EJB
接口也很正常Q但是有ơؓ了测试的需要,又在另外一台服务器上,复制了一份完全一Lpȝ环境Q也q接到同一?/span>
W三方EJB
试服务器进行测试,l果后一台调用的时候就出现了这U错误,因ؓ被调用方
EJB
服务已经C了我们的
EJB
服务Q其对应?/span>
IP/Port
应该是前一台服务器?/span>
对于q种情况Q简单的处理办法是Q将被调用方?/span>
EJB
服务重启一下,则它内存中的记录׃清除Q下ơ就会记住最新的
EJB
服务和相应的
IP/Port
?/span>
但是针对我们
pȝ来说Q通常我们pȝ调用的第三方?/span>
EJB
接口Q?/span>
往往不能随便重启
W三?/span>
服务Q所以变通的办法Q就是将要用的我们pȝ中,涉及到?/span>
每个
WEBLOGIC
域服务器对应?/span>
server
名字都改掉,q样被调用方׃会在内存中找到相应的记录Q因此也׃会出现这U莫名的调用出错问题?/span>
同时域根目录下的时目录全部删除,再重新启动服务应该即可生效?br />
ȝ 以上所q都是本人所在项目碰到的问题Q可能ƈ不一定具有共性,也不全面Q所以大家碰到的莫名其妙的错误,也希望脓(chung)出来Q共享看看?/o:p>
]]>不同应用pȝ间数据交互方?/title> http://www.aygfsteel.com/aizheng/archive/2006/04/19/41982.html哎诤 哎诤 Wed, 19 Apr 2006 10:46:00 GMT http://www.aygfsteel.com/aizheng/archive/2006/04/19/41982.html http://www.aygfsteel.com/aizheng/comments/41982.html http://www.aygfsteel.com/aizheng/archive/2006/04/19/41982.html#Feedback 0 http://www.aygfsteel.com/aizheng/comments/commentRss/41982.html http://www.aygfsteel.com/aizheng/services/trackbacks/41982.html 最早也是最通用的一U方式,是通过文g方式q行pȝ间数据交互,通过定义好文件交互的格式Q双方的系l都能识别,来满交互的要求。这U方式虽然很古老,但确实相当有用,不少的系l都是这么干的,而且q种方式有一个很大的好处Q就是可以在异构pȝ间进行交互,甚至跨越q_的限制。不同的q_间通过文g交互的话Q由于无法直接进行文件共享,所以通常采用FTPq行文g交互Q但是这会带来一个问题,文g需要以d方式q行dQ否则会引v冲突或者丢失?br /> 文g交互方式最大的~点Q就是交互不够实Ӟ很难应付同步数据交互Qsocket方式的出现解决了q个问题Qs ocket方式更准的说应该是一U通信协议Q不q确实可以用于数据交互,通过在双方系l指定IP和Port的套接字上进行数据传输。这U方式也是需要系l双方自己定义交互格式,而且是以字节的方式进行定义,发送方需要将数据l织成指定的socket报文Q接收方又需要根据报文格式,q行相应的解析,才能转到相应的处理,q也是socket方式最大问题,实现h相当J琐?br /> 在socket基础上,引入成熟的HTTP、UDP{通信协议Q作为数据交互的基础Q利用这些协议的特点Q定义交互格式相对就单多了,无须U缠于字节长度,只要按照通用的http报文格式l织数据卛_。不q郁于通信层交互方式的特点Q还是需要接受方先解析数据后Q再转向自己的内部流E进行处理,那有没有一U机Ӟ是支持一个系l能够直接调用另一个系l提供的Ҏ(gu)呢?br /> q就是RPC--q程q程调用机制出现的原因,通过RPC一个系l能够直接调用另一个系l提供的Ҏ(gu)Q其核心?yu)是数据交互从通信层上w到表示层,让用者无d心具体的通信实现。最早的实现方式是CORBAQ然后是微Y的COM/COM+机制。前几年ASP行的时候,曾l有一U很l典的开发模?ASP+COM+数据库,在COM中实现对数据库的讉KQ以及逻辑控制Q然后在ASP面中调用COM提供的方法,q种方式在安全性和可重用性上有明昄提高?br /> 当JAVA时代到来后,当然不会忘记RPC机制Q早先是RMI-q程调用接口Q然后随着J2EE规范的成熟,其EJB技术也是大行其道,不过RMI和EJB都有一个显著的~陷Q只能在JAVA构徏的应用系l间q行数据交互Q对于非JAVApȝ则无法用了?br /> 因此早两qjava开始推出WebSevices机制Q引入服务方和客h的概念,通过标准的服务发布方式,以及标准的调用方式,使得在异构系l间q行实时的数据交互不再有问题Q其底层的通信方式q是采用的HTTP协议?br /> 关于WebServices的具体内容参??7日的描述?img src ="http://www.aygfsteel.com/aizheng/aggbug/41982.html" width = "1" height = "1" /> ]]> 周末从书店Get?.. http://www.aygfsteel.com/aizheng/archive/2006/04/17/41496.html哎诤 哎诤 Mon, 17 Apr 2006 11:23:00 GMT http://www.aygfsteel.com/aizheng/archive/2006/04/17/41496.html http://www.aygfsteel.com/aizheng/comments/41496.html http://www.aygfsteel.com/aizheng/archive/2006/04/17/41496.html#Feedback 0 http://www.aygfsteel.com/aizheng/comments/commentRss/41496.html http://www.aygfsteel.com/aizheng/services/trackbacks/41496.html 1、JSP基础中,不知大家有没有注意到Q有两种include其他面的方法,一U是通过?lt;%@ include file="" %>”,另一U是通过?lt;jsp:include page="" >”实现的Q二者之间的区别在于Q首先,前者的包含Q只能是静态的包含Q也是说file参数指向的页面不能是表达式,而后者则可以是某个页面也可以是表辑ּQ如<%=Expression%>Q;其次Q如果想传递参数给要include的页面,前者只能通过在url中传递,而且不能有表辑ּ/变量Q而后者则同时q可以通过?lt;jsp:param key="" value="" >”来传递参数?br />2、针对WebServicesQ如果单U从概念上来_比较Ҏ(gu)让h犯浑Q个得有本书上说的特别简明:WebServices可以理解成HTTP+XML+RPCQ也是说底层的传输协议Q还是基于http协议的,然后通过XML作ؓ传输内容Q完成远E过E调用,也就是RPC了。换句话_一个WEB服务是提供了一l过E或Ҏ(gu)Q让调用者可以通过internet讉K刎ͼq且能够q行q程调用Q至于具体的实现方式则是通过http协议传输xml数据来完成的。最常见的WebServices规范?yu)是SOAP--单对象访问协议,其核心就是将服务的发布通过一个XML文gq行描述-WSDDQ调用服务方法传入的参数以及Ҏ(gu)q回的结果也用XML实现Q如果传入的参数和返回的l果涉及到JAVA对象的话Q就需要用到对象序列化QSerializeQ和反序列化的概念,只有序列化后才能通过http协议q行传输。另外还有一U常见的规范?yu)是RESTQ其和SOAP最大的区别在于,调用q程Ҏ(gu)的时候,不能通过XML来传输参敎ͼ只能在调用的URI中指定参敎ͼ因此我估计这U规范,不支持对象最E方法的参数?br />3、关于AJAXQ又M一遍邮?sh)出版社新出的那本《AJAX 基础》,理解~写基本理解了AJAX的应用范围和特点?--Asyncronize JavaScript and XmlHttpRequestQ也是说通过JavaScript调用XmlHttpRequest来实现异步方式与 Web服务器进行交互的q程?br />-- -- q段旉有个感觉来强烈:开源Y件好是好Q但是个人感觉有一个最大的~点--是随意性,特别是体现在版本兼容上,如果一个项目需要用到几U开源YӞ比如说IDE用EclipseQ然后再来点插gQApp Server的版本,然后q要照顾到JDK版本Q如果再用到Ant/CVS辅助{等Q那q的有点头大了。所以说开源到l一Q统一又演变成垄断Q这个过E真的是相当有意?img src ="http://www.aygfsteel.com/aizheng/aggbug/41496.html" width = "1" height = "1" /> ]]> 依赖、依赖倒{原则、IoC/依赖注入、以及在Spring中的实现 http://www.aygfsteel.com/aizheng/archive/2006/04/06/39668.html哎诤 哎诤 Thu, 06 Apr 2006 11:49:00 GMT http://www.aygfsteel.com/aizheng/archive/2006/04/06/39668.html http://www.aygfsteel.com/aizheng/comments/39668.html http://www.aygfsteel.com/aizheng/archive/2006/04/06/39668.html#Feedback 2 http://www.aygfsteel.com/aizheng/comments/commentRss/39668.html http://www.aygfsteel.com/aizheng/services/trackbacks/39668.html Inversion of ControlQ的~写Q这个大安知道Q但是个得理解这个概念,最好应该从依赖QdependenceQ开始讲P以下观点由此展开Q?br /> 所谓依赖,举个例子说明Q一个类PersonQ另一个类CarQ如果Person的某个方法比如说driveQ需要引用CarQ则UPersoncM赖于Carc,延到对象,q种依赖关系依然成立Q比如说Personcȝ对象boy依赖于Carcȝ对象toyota。再讲讲q个driveҎ(gu)的实玎ͼ假定代码如下Q?br />Public Person{ ... public void drive(){ Car toyota=new Car("TOYOTA"); toyota.挂档; toyota.ta? toyota.打方? } } q其中的依赖关系Q就D了对象boy需要负责对象toyota的创建,甚至是整个生命周期的理Q而这h然会带来耦合度高Q不易维护等~点Q比如说要让q个男孩N一辆AudiQ则q需要修改类Person的代码?br /> 因此在java的设计理Z提Z一条非常著名的原则Q依赖倒{原则QDependence Inversion Q,其核心思想是要将q种具体cM间的依赖Q尽量{换成抽象依赖Q也是说类Person应该依赖于抽象类ICarQ而不是具体的cCarQ这里java大力推荐了抽象和接口的使用Q至于抽象和接口之间的区别,见上一blog?br /> q个依赖倒{原则在设计模式也体现得非常多Q比如说工厂模式和构建模式,个h认ؓ控制反{IoCQ其实也可以认ؓ是实现这个原则的一U设计模式。控制反转,其中的控制这个词一直不太理解是什么意思,不过控制反{的另外一U说法也是依赖注入Qdependence injectionQ,个h觉得更易于理解。还是以上文的boy与toyotaZQ其核心?yu)是要将boy依赖的对象toyota注入到boy中去Q而无需boy自己d用toyotaQ这个注入的q程Q通常是由一个控制程序来完成的,无需对象d心,举例如下Q?br />Public Person{ private ICar car; public Person(ICar onecar){ car=onecar; } public void drive(){ car.挂档; car.ta? car.打方? } } q个时候,q行注入q且调用的过E,很单了Q如下: Toyota toyota=new Toyota(); Person boy=new Person(toyota); boy.drive(); 注:q里我们假定QToyotacLICar接口cȝ一个具体实现?br /> q个例子演CZ个最单的注入方式的例子,也就是构造子方式注入Q通过依赖对象注入到对象的构造子中来实现。另外还有一U常用的注入方式Q就是属性方式注入,意思就是通过依赖对象注入到对象的属性中来实玎ͼq是以boy和toyota的例子说明,如下Q?br />Public Person{ private ICar car; public Person(){ } public void drive(){ car.挂档; car.ta? car.打方? } public ICar getCar(){ return this.car; } public void setCar(ICar onecar){ car=onecar; } } q个时候,q行注入q且调用的过E,变成如下所C: Toyota toyota=new Toyota(); Person boy=new Person(); boy.setCar(toyota); boy.drive(); x依赖注入的概念应该比较清楚了Q再来看看在Spring中如何实现IoC的,看看Spring如何作ؓ一个成熟的IoC容器QSpring中其实主要通过两个概念来实现IoCQ首先通过XML配置文gQ将对象和依赖对象都配置到某个XML文g中,当然该XML文g需要符合Spring指定的规范,然后通过架构中的BeanFactroyc,来自动实C文所q注入过E,q是以boy与toyotaZQ如下: 首先QPersonc还是一LQ?br />然后xml配置文g增加点东?Q假定ؓbean.xmlQ:<? xml version = " 1.0 " encoding = " GBK " ?> <! DOCTYPE beans PUBLIC " -//SPRING/DTD BEAN/EN " " http://www.springframework.org/dtd/spring-beans.dtd " > < beans > < bean id = " oneCar " class = " Toyota " > <!-- ToyotacLICar的一个实?/span>--> </ bean > < bean id = " onePerson " class = " Person " > <!--本例以属性方式注入ؓ?--> < property name = " car " > < ref bean = " oneCar " ></ ref > </ property > </ bean > </ beans > 最后,调用的过E,变成如下: BeanFactory factory= new XmlBeanFactory("bean.xml"); Person boy = (Person )factory.getBean( " onePerson " ); boy.drive(); --不知是否讲清楚了Q呵?img src ="http://www.aygfsteel.com/aizheng/aggbug/39668.html" width = "1" height = "1" /> ]]> 最怕有旉的时候没东西可写Q有东西写的时候又没时?/title> http://www.aygfsteel.com/aizheng/archive/2006/04/04/39159.html哎诤 哎诤 Tue, 04 Apr 2006 06:13:00 GMT http://www.aygfsteel.com/aizheng/archive/2006/04/04/39159.html http://www.aygfsteel.com/aizheng/comments/39159.html http://www.aygfsteel.com/aizheng/archive/2006/04/04/39159.html#Feedback 2 http://www.aygfsteel.com/aizheng/comments/commentRss/39159.html http://www.aygfsteel.com/aizheng/services/trackbacks/39159.html ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ U此ZQ我回忆昨天晚上看的?-JSP技术手册,我发现很久没有看基础的理论,原来好多东西都不知道的啊Q原来都只会应用Q有些以前很清楚的也有点模糊了。?br /> 比如说httph中,get和post的区别:后者的h内容不放在url中,而是在httph的body中,h参数攑֜url中,会有长度限制Q不能超q?55个字W,而且不安全,因ؓ是显式的。?br /> 又比如jsp基础语法中,jsp元素一共有三种Q指令元素(directiveQ,脚本元素QscriptingQ,行ؓ元素Qa ctionQ。其中指令元素以?lt;%@ %>”ؓ标志Q也是包含三个:page、include和taglibQ其中page元素?1个属性,都是l常用的Q比如说什么import{等。脚本元素也是三c:x、脚本段和表辑ּQ申明以?lt;%! %>”ؓ标志Q脚本段以?lt;% %>”ؓ标志Q表辑ּ以?lt;%= %>”ؓ标志。最后行为元素以?lt;%jsp: %>”ؓ标志。?br />----------------------------------------------------------------------------- ----------------------------------------------------------------------------- q些大家都知道,但是有两个小问题Q却未必都知道,首先针对注释QcommentsQ有几种形式Q不同的形式间有什么区别呢Q有两种形式Q其一是不影响jsp执行l果Q纯_Ҏ(gu)Z增加面可读性的注释Q但在客h览器上可以看到源码,以?lt;Q—— ?—?gt;”ؓ标志Q另外一U则Ua是面向程序员的注释,在客h览器上看不到的,以?lt;% --或?* */ %>”ؓ标志。?br /> q有一个问题就是?lt;%! %>”类型的x元素和普通脚本段中的变量x有区别吗Q有什么区别呢Q区别就在于前者申明的变量是在一个jsp面的全局变量Q也是所有访问这个jsp面的进E,都共享这个变量,因此一般很用q种方式来申明变量,哈哈?br /> ]]>
վ֩ģ壺
ֽ |
|
|
ר |
|
|
Զ |
|
|
|
ӱ |
|
|
|
Ȫ |
|
|
ƽ |
|
|
|
IJ |
|
dz |
|
|
» |
|
Ӵ |
|
|
|
|
ӥ̶ |
ɣ |
ʡ |
|
ͻȪ |
ѷ |
|
|