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。開始就這么解決就不會有那么多的口頭爭吵了。