java.rmi.RemoteException: Transaction Rolledback.; nested exception is:
weblogic.transaction.internal.TimedOutException: Transaction timed out after 32 seconds
Name=[EJB testpool.EJBPoolBean.isLogin(java.lang.String,java.lang.String)],Xid=BEA1-0001D529A50E7F28EDB9(10061327),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=32,seconds left=30,activeThread=Thread[ExecuteThread: '13' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=started,assigned=none),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@1304e60),SCInfo[mydomain+myserver]=(state=active),properties=({weblogic.transaction.name=[EJB testpool.EJBPoolBean.isLogin(java.lang.String,java.lang.String)], weblogic.jdbc=t3://192.168.1.98:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myserver+192.168.1.98:7001+mydomain+t3+, XAResources={},NonXAResources={})],CoordinatorURL=myserver+192.168.1.98:7001+mydomain+t3+)
at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:186)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)
at testpool.EJBPool_isb7ao_EOImpl_811_WLStub.isLogin(Unknown Source)
at testpool.SrvLogin.doPost(SrvLogin.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6310)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
Caused by: weblogic.transaction.internal.TimedOutException: Transaction timed out after 32 seconds
Name=[EJB testpool.EJBPoolBean.isLogin(java.lang.String,java.lang.String)],Xid=BEA1-0001D529A50E7F28EDB9(10061327),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=32,seconds left=30,activeThread=Thread[ExecuteThread: '13' for queue: 'weblogic.kernel.Default',5,Thread Group for Queue: 'weblogic.kernel.Default'],XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=started,assigned=none),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@1304e60),SCInfo[mydomain+myserver]=(state=active),properties=({weblogic.transaction.name=[EJB testpool.EJBPoolBean.isLogin(java.lang.String,java.lang.String)], weblogic.jdbc=t3://192.168.1.98:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=myserver+192.168.1.98:7001+mydomain+t3+, XAResources={},NonXAResources={})],CoordinatorURL=myserver+192.168.1.98:7001+mydomain+t3+)
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1492)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1071)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1805)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:988)
at weblogic.transaction.internal.WLSTimer.trigger(WLSTimer.java:31)
at weblogic.time.common.internal.ScheduledTrigger.run(ScheduledTrigger.java:243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:229)
at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:223)
... 2 more
在程序中运行都没有出错。这个TimedOutException:是执行时间超时的原理。要在哪里设置这个值?
问题的解决是在配置连接池的地方有一个高级设置:Click Hide展开后把连接持续时间设长一此。就可以了。
java.sql.SQLException: 调用中无效的参数这个错误是在结果集循环取出是抛出的。我不明白的是,用连接池才会抛出这个错,用其它的连接就不会?在Weblogic中测试连接池也没有问题。请问这是为什么?代码在下面:
public boolean isLogin(String uid, String pwd) {
boolean isLogin = false;
Connection conn = this.getConnection();
if (conn != null) {
String sql =
"select username,pwd from wasuserinfor where userName=? and pwd=?";
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, uid);
ps.setString(2, pwd);
ResultSet rs = ps.getResultSet();
while (rs.next()) {
String userNaem = rs.getString("USERNAME");
String password = rs.getString("PWD");
isLogin = true;
}
}
catch (SQLException ex) {
ex.printStackTrace();
}
finally {
if (conn != null) {
try {
conn.close();
}
catch (SQLException ex1) {
ex1.printStackTrace();
}
}
}
}
return isLogin;
}
private Connection getConnection() {
Object obj = null;
try {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("jdbc/oracle");
return ds.getConnection();
}
catch (SQLException ex) {
return null;
}
catch (NamingException ex) {
return null;
}
}
解决办法是看了代码:ResultSet rs = ps.getResultSet();
之前一个要先执行ps.executeQuery();这样就不会有错了。
现在大家都在学习JAVA,WEBLOGIC,IBM的WEBSPHERE 系列产品。如果上QQ方便的朋友可以加入18750476群,这是一个不错的学习交流群。特别是IBM的那一套WEBSPHERE在国内的群很少这方面的交流学习。
在java中要将一个字符串的中$符号去除。我是这样写的:
String tmp = "-$125402.00";
tmp.replaceAll("$","");
可是执行去来的结果并没有把$去除。后来找资料才发现要这样写
tmp.replaceAll("
\\$","")才可以。
把java中的Vector,Hashtable,List等数类型转换成javaScript的数组。在这里用到的是一个StringBuffer.具体的实现看下面的代码:
public String getArray(Vector v){
if (v == null || v.size()==0){
return "";
}
int i=0;
Hashtable hash = null;
StringBuffer sb = new StringBuffer("var arrmake = new Array(");
try{
for(i=0; i<v.size(); i++){
hash = (Hashtable)v.elementAt(i);
String tmp_make = hash.get("code").toString();
if(i=1){
sb.append("'"+tmp_make+"'");
}else if(i>1){
sb.append("'"+tmp_make+"',");
}
}
String test = sb.toString();
if (i>1){
test = test.substring(0,test.length()-1);
}
sb.append(test+");");
}catch(Exception e){
e.printStackTrace();
}
return sb.toString();
}
要注意这里一定要用try{}catch(){}因为在转换过程中可能会出错,所以用try{}catch(){}把异常抛出。
在javascript中怎么用这个数组呢?
String arrMake = getArray(vecMake);
<script language="javaScript">
<%=arrMake%>
</script>
OK.
我写了一个这样的SQL语句 "select column1,column2 into vara, varb from tableName" ,可在PL/SQL执行时出现缺失关键字的错误。注意这里的关键字into。这个关键字是在写function & produce时把相应的字段值赋值变量。不可以单独拿出来执行。还要注意一点sql的解释是从后面开始执行的。
java.lang.NumberFormatException: For input string: ""
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:489)
以上的错误是因为将一个空值要强制转换成int型。为什么会是一个空值呢?是因为在JSP中form的TEXT没有输入值传到servlet中。servlet是用Integer.parseInt(request.getParameter("vehFrom"))来取JSP中的值 的。要解决这个问题很简单,可是初学者常会遇到这样的问题。废话少说还是说怎么解决了的吧。
只要在servlet中将这个值做一个空值处理。
if((jcf.retuPara(request,"vehFrom")).length()<=0){
vehFromNo = 0;
}else{
vehFromNo = Integer.parseInt(jcf.retuPara(request,"vehFrom"));
}
要注意一点是JSP传到servlet中如果没有输入值是NULL值。我这里用了一个自己写的retuPara()方法是处理NULL的。把NULL处理成“”。
好了,搞定。
<P><A href="http://www.8qu.net/register.asp?net=rodneyluo">http://www.8qu.net/register.asp?net=rodneyluo</A><BR>我也是在论坛上看了别人的帖子才注册的!我已经实践过了,换了20个Q币,真的很好用,向大家推荐!!!! </P>
<P>以前你也可能看过这样的广告,这次你真的不要再错过了!! <BR>其实和很多人一样,我对网络赚钱由最初的抵触(因为大家都说那是骗人的)到半信半疑(因为有朋友说网赚</P>
<P>行的,但要看是什么样的网赚)再到确信(因为此时自己亲身赚到了,其他的不知道,但通宝确实是真的)。 </P>
<P>下面介绍一下方法:只要到 <A href="http://www.8qu.net/register.asp?net=rodneyluo">http://www.8qu.net/register.asp?net=rodneyluo</A>(那里有更加详细的介绍)注</P>
<P>册后,免费下载一个软件:“通宝 ”(tongbao.exe) 。下载后打开,点击“登录”--“开始泡分”,这样就</P>
<P>开始赚Q币了 ,挂机就可以赚Q币了,跟挂QQ差不多。 <BR>每5分钟自动增加一积分 。 </P>
<P>别看到要写银行帐号就吓到了,其实你可以不填(建议填一下,因为当你达到支付的条件时就可以确确时时的</P>
<P>收到人民币),选择要Q币(只需要输入QQ号码) </P>
<P>注册地址:<A href="http://www.8qu.net/register.asp?net=rodneyluo">http://www.8qu.net/register.asp?net=rodneyluo</A></P>
<P>推荐使用八趣TongBao的理由: </P>
<P>一. 无需任何点击.泡时间积分,就像网易POPO一样.对工作没有任何影响.不象Newsbar(新闻时报)或SABar等</P>
<P>要及时保存积分. <BR>二.真正的无干扰.隐藏时只在任务栏中有一个小“铜钱”,只占1M内存,对于动辄256,512甚至上G内存的机来</P>
<P>说根本就九牛一毛,对你上网干其他事没有干扰。 <BR>三. 绿色小软件无需安装. <BR>四. 无需一分钱投入.免费注册使用,因而没有任何风险(要自己投资钱的话我是肯定不会去干的), 而且信誉</P>
<P>绝对没问题,要有问题也不可能存在这么多年。我的亲身经历就是 <BR>五.下线数与积分兑现金.TongBao支持五级下线:10%,5%,3%,3%,3%。 <BR>按每月推荐10名下线,你的下线每月又推荐10名下线,以公司承诺每1000个积分最低付费5元计算(实际会超过</P>
<P>5元),你的月收入分别为(按每人每月1000个积分计算): <BR>第1个月收入: 5元; <BR>第2个月收入: 5 +5 =10元 <BR>第3个月收入: 5 +5 +25 =35元; <BR>第4个月收入: 5 +5 +25 +150 =185元; <BR>第5个月收入: 5 +5 +25 +150 +1500 =1685元; <BR>第6个月收入:5 +5 +25 +150 +1500 +15000 =16685元; <BR>说实话,其实这是理想的算法,实际上是很难达到的,因为不能保证每个人都认真去泡分和发展下线 ,但是你</P>
<P>认真点去做的话,几个月以后每个月赚几百绝对没问题,而且这将稳定增长的,这已经相当不错了,至少我觉</P>
<P>得是这样!!! </P>
<P>当然,如果单独一个人只是挂机(一天只给挂四小时),一个月也就7元,但这个7元比Newsbar和SABar一个月的</P>
<P>7元容易赚多了,不需任何点击。如果有下线,收入见上面算式。要是三个一起挂就更加不用说了。 </P>
<P>八趣TongBao免费注册:(<A href="http://www.8qu.net/register.asp?net=rodneyluo">http://www.8qu.net/register.asp?net=rodneyluo</A>强烈推荐) <BR> <BR>我的使用心得。如果不是网虫,一定得想办法发展十来个下线,最简单的方法就是到论坛发贴,关键是这东西</P>
<P>可以赚QB,有很多人愿意挂的。我现在已经发展了131个下线了。还有一点,我们从下线那里提成,但下线自己</P>
<P>的点数是不会变的。所以越多人加进来,你会越多的收益,并不会影响他们。到以后,自己上网时记得就挂,</P>
<P>不记得就算了。如果下线多,有一天可能收到100元或1000元,也可以补贴一下上网费,不能太浪费宽带吧,有</P>
<P>收获当做一种意外不是很好吗?! </P>
<P>关键的关键,没事多来发发贴,多拉点人成你的下线,就靠自己泡效果不明显,一个月才10来个QB。如果下线</P>
<P>多了,自己都不用挂,吃提成都够了。大家一起来挂吧,就跟挂QQ似的,全民一起挂,我靠,最后加入的也有1</P>
<P>0块一个月,那些下线多的真得会发死哎~~呵呵。注册八趣<A href="http://www.8qu.net/register.asp?net=iamcacy">http://www.8qu.net/register.asp?net=iamcacy</A>你</P>
<P>赚钱,我受益!挂在网上不费事,月入一千也是你,还等什么快快成为第一批注册者,让更多的人成为你的下</P>
<P>线!具体介绍请访问<A href="http://www.8qu.net/register.asp?net=iamcacy">http://www.8qu.net/register.asp?net=iamcacy</A>如有疑问请加379588056听我在线询问!</P>
<P>决不骗你! </P>
<P>还有就是尽量去发BT种子发展下线,象我一样,为他人服务的同时进行宣传,效果很好!!! <BR>双管齐下还愁发展不了下线,哈哈,到时就坐着等钱拉, </P>
<P>持之以恒,相信收获的一天很快到来!!(对没有恒心,急功近利的不推荐使用,因为至少要几个月才能看到</P>
<P>非常明显的效果) <BR>我建有一个群,交流使用心得和解答疑难:1653115,想加的在验证的时候写上:通宝用户 <BR>有疑惑的也可以加进来再详细咨询。</P>
The checkBox 在html的form中要把值传递到servlet中进行处理。这时如果checkbox的属性checked = false时,在servlet取checkbox的value是一个NULL值.只有checked = true时才能取到value.
还因该注意一点如果有value是NULL时做String.equalsIgnoreCase("") or String.equals("")都会抛出空指异常。页面上显示500号错误。请小心使用。
快到公司了,要过一个红绿灯,我等绿灯一亮,我刚要过马路,这时一个男子骑着自己车把我的自行车前轮撞得不成样子。这时我们也没有说什么,同时找一个家修理店,要把自行车修好。这个修车的老板一看是被撞的车子说不能修了。只能换一个轮子,那男子问要多少钱,老板血口大开说25元不能少。我一听就知道这个老板要”杀人“。那男子说他出15元,因为他身上只有这么多钱。那还要10元怎么办要我自己出不成我说。于是两人在这家店门口小炒,说什么他不知道我要过马路,我自行是旧的,换一个新的被我占便宜了。我很生气说:“你换不换是你家的事,总之你一定对你今天所做的事情负责。”后来他把自行车上锁就走了。我追上去,看来他的公司是这附近。我们走近一家小院子他的几个同事走过了,问我想做什么?我气了。把事情说了一遍。后来看到他是同事都在搬东西。想过去是一个做苦力的,挣钱也不容易。还是他出15,我出10。开始就这么解决就不会有那么多的口头争吵了。