




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、普元啟動服務(wù)失敗的解決方法 當(dāng)多個人同時使用一個數(shù)據(jù)庫的時候,啟動普元控制臺會一直停留在rcall,然后顯示一個超時的警告,那樣就需要修改一下普元的一個定時器配置項。安裝目錄下PrimetonPlatformapps_configdefaultconfig 中的一個user-config.xml文件 將下列代碼中高亮字段中的true改為false即可 true default 當(dāng)EOS啟動調(diào)試服務(wù)時,控制臺停留在 RCALL后無反應(yīng)一般是因為定時任務(wù)的表被鎖住的原因,可在plsqldeveloper中執(zhí)行以下語句:select alter system kill session |b.SESS
2、ION_ID|,|c.SERIAL#| immediate;from v$locked_object b,v$session cwhere b.SESSION_ID = c.SID將查詢結(jié)果復(fù)制到新的SQL窗口執(zhí)行,執(zhí)行完成后再啟動服務(wù)- 解決EOS連接失敗無法啟動的問題 - 查看有沒有被鎖的對象select * from v$locked_object - 查看被鎖的對象是哪張表select * from dba_objects where object_id in(select t.OBJECT_ID from v$locked_object t)-select * from dba_ob
3、jects where object_id=73713 - 從菜單欄進入Tools/Sessions,將Status=ACTIVE and Sid=被鎖對象id的記錄,點擊右鍵菜單中的Kill跟操作系統(tǒng)的兼容性有關(guān),建議去下看ideeclipseplugins目錄下org.eclipse.swt.win32.win32.x86_3.2.0.和org.eclipse.swt_3.2.0兩個jar的版本,更換成高版本試試。提供清理eos開發(fā)過程中緩存清理的方法摘要:提供清理eos開發(fā)過程中緩存清理的方法。在eos開發(fā)過程中,經(jīng)常遇到新開發(fā)的代碼無法使用,右鍵部署之后依然使用原來的老舊代碼,非常影響
4、開發(fā)速度。這里提供下清理緩存的方式,確定我們的最新代碼能夠被使用。對于分組開發(fā)過程中,各人代碼版本差異無法實現(xiàn)同樣的運行效果有特效。1.刪除%EOS_HOME%apps_configdefaultwork_temp下的所有文件和文件夾。如需使用平臺的各種日志請酌情備份logs下的內(nèi)容。2.刪除%EOS_HOME%apache-tomcat-7.0.54work下的所有內(nèi)容,情況tomcat的緩存。3.刪除%EOS_HOME%apache-tomcat-7.0.54webappsdefaultWEB-INF_srvworkuser下我們自己項目的內(nèi)容。慎重,別刪錯了,我們自己開發(fā)的。ESB修改默
5、認(rèn)端口61616windows操作系統(tǒng)下的默認(rèn)的ICS服務(wù)(Internet Connection Sharing)默認(rèn)占用了61616端口,因此要解決jms端口沖突的情況有兩種方式。方式一: 停止ICS服務(wù)。 命令行執(zhí)行 “services.msc”,找到ICS服務(wù),右鍵停止,并設(shè)置為以后手動啟動。方式二:修改ESB下JMS默認(rèn)端口。 找到D:PrimetonESBstudioserverEOS_srvconfig下的esb-mq-config.xml和fts-server-config.xml文件,分別修改如下內(nèi)容: (esb-mq-config.xml)(fts-server-confi
6、g.xml) tcp:/:61616 5 1 如何修改Platform發(fā)布Webservice服務(wù)的命名空間摘要:如何修改Platform發(fā)布Webservice服務(wù)的命名空間()為自己指定的名字。問題描述:Platform發(fā)布Webservice服務(wù),在瀏覽器上查看wsdl,客戶想修改其中的命名空間,如下圖紅色框的內(nèi)容,想更換成自己的命名空間。適用環(huán)境:PlatformV6及以上版本處理經(jīng)驗:可以修改user-config.xml中的配置,將DefultNameSpace這行的注釋放開,修改為自己指定的值。!-應(yīng)用被攔截,調(diào)用報錯無法訪問摘要:應(yīng)用被攔截,調(diào)用報錯無法訪問場
7、景描述:test.html放在Tomcat的webapps/ROOT目錄下,或者其他非default應(yīng)用下該靜態(tài)HTML頁面中有一個超鏈接EOS test在資源管理器中直接雙擊該文件,在瀏覽器打開后(file:/協(xié)議),點擊該超鏈接可以正常訪問。但如果我通過:8080/test.html訪問該頁面(http:/協(xié)議),點擊該超鏈接時,直接報錯了,錯誤信息為:調(diào)用異常,請查看日志!而使用window.open沒有問題。EOS test,function open_win()window.open(:8080/default/skins/
8、default/index.jsp)情況分析:獲取前后http頭,referer為不同應(yīng)用之間的請求,那么可能被default給攔截了。解決辦法:去除攔截器:把apps_configdefaultconfig eoshandler-web.xml中的以下配置注釋掉,看看是否還會不會有問題: 摘要:EOS工程部署到JBOSS后報錯。分析日后初步確定為 jboss-6.1.0.Finalcommonlibslf4j-api.jar與jboss-6.1.0.Finalserverdefaultdeploydefault.eardefault.warWEB-INFlibslf4j-api-1.5.6.
9、jar 沖突導(dǎo)致該問題已經(jīng)解決。方案如下:修改 jbossserverdefaultdeployersjbossweb.deployerMETA-INFwar-deployers-jboss-beans.xml 添加org.slf4j,以過濾該包代碼如下:1. 2. 3. -14. javax.servlet,mons.logging,org.slf4j5. 然后重啟JBOSS服務(wù)器。原因分析: jboss加載jar包順序問題。摘要:在最近修改SSO應(yīng)用的時候,涉及到需要在jar包中讀取工程配置文件的問題。在jar包中,讀取配置文件,需要單獨處理。項目中的一些配置文件,如dbconfig.pr
10、operties log4j.xml 不想打包進jar。因為可能會修改其中的一些配置信息,打包進jar,就變得比較笨拙,不方便修改文件??梢杂萌缦路绞?,實現(xiàn)在jar包中讀取外部配置文件。方法一:關(guān)鍵代碼。讀取properties文件方法:InputStreamins=getClass().getResourceAsStream(/resource/perties);但是log4j.xml 又需要單獨處理:PropertyConfigurator.configure(System.getProperty(user.dir)+/resource/log4j.xml);方法二
11、:配置文件perties和jiar包在同一個目錄下面:FileInputStreaminputStream1=newFileInputStream(perties); 配置文件perties在jar包內(nèi)部:InputStreaminputStream2=a.class.getResourceAsStream(/perties);org.apache.axis2.AxisFault: WSDoAllReceiver:摘要:使用EOS7.2自動生成的客戶端代碼,在調(diào)用帶有安全頭部消息的webservice接口的時候,會經(jīng)常出現(xiàn) org.apach
12、e.axis2.AxisFault: WSDoAllReceiver: Incoming message does not contain required Security header的異常,可以照下文處理使用EOS7.2自動生成的客戶端代碼,在調(diào)用帶有安全頭部消息的webservice接口的時候,會經(jīng)常出現(xiàn) org.apache.axis2.AxisFault: WSDoAllReceiver: Incoming message does not contain required Security header的異常,表示傳入的消息不包含所需的安全報頭,經(jīng)過分析發(fā)現(xiàn)是該方法在第一次被調(diào)用
13、后,已經(jīng)生成了一些安全校驗數(shù)據(jù),ListenerManager.defaultConfigurationContext不為空,無法對新的請求進行安全數(shù)據(jù)的封裝,導(dǎo)致請求失敗,應(yīng)該清空ListenerManager.defaultConfigurationContext應(yīng)用環(huán)境,重新生成對應(yīng)的安全校驗數(shù)據(jù)??梢哉杖缦路绞竭M行處理。在使用客戶端代碼的方法中,加入ListenerManager.defaultConfigurationContext = null;用于清空運行環(huán)境,以對新的請求,作出新的安全設(shè)置。示例代碼片段:Bizletpublic Map sellOrderPriceUpdate
14、(SellOrderImpl sellOrderImpl,SellOrderDetailImpl sellOrderDetailImpls) throws ExceptionListenerManager.defaultConfigurationContext = null; /重置axis2部分運行參數(shù)環(huán)境,用于新的請求ZCOP_SERVICEStub.ZifSoChange in=new ZCOP_SERVICEStub.ZifSoChange(); /輸入ZifSoChangeResponse response=new ZCOP_SERVICEStub.ZifSoChangeRespon
15、se();/輸出EOS在業(yè)務(wù)程序中獲取邏輯構(gòu)件執(zhí)行的SQL語句文章huangxu文章詳情EOS在業(yè)務(wù)程序中獲取邏輯構(gòu)件執(zhí)行的SQL語句huangxu 發(fā)表于 3個月前 來自話題#應(yīng)用開發(fā)平臺(EOS Platform)#90瀏覽摘要:更改log4j的日志配置,使用類繼承方式,方法重寫,在程序中獲取邏輯流執(zhí)行SQL。 配置文件:應(yīng)用配置目錄 /log4j-sys.xml (可根據(jù)實際情況使用更改具體配置文件);更改log4j的日志配置,使用類繼承方式,方法重寫,在程序中獲取邏輯流執(zhí)行SQL。配置文件:應(yīng)用配置目錄 /log4j-sys.xml (可根據(jù)實際情況使用更改具體配置文件);配置文件說明
16、:config/log4j-deploy.xml 部署日志 記錄系統(tǒng)啟動、停止、構(gòu)件包部署、集群通知等信息的日志。config/log4j-trace.xml 跟蹤日志 Server引擎的調(diào)試日志,用于系統(tǒng)維護人員定位系統(tǒng)運行問題使用。config/log4j-sys.xml 系統(tǒng)日志 大粒度的引擎運行的入口、出口的日志,用于調(diào)用棧分析,可以進行性能分析使用config/log4j-engine.xml 引擎日志 細粒度的引擎運行日志,可以打印上下文數(shù)據(jù),用于定位業(yè)務(wù)問題。記錄時機:頁面流(P)執(zhí)行、邏輯流(B)執(zhí)行、服務(wù)(S)執(zhí)行、Web服務(wù)(W)調(diào)用、定時任務(wù)(D)執(zhí)行、JSP(J)執(zhí)行、
17、SQL(Q)執(zhí)行(超過時限者記錄)、運算邏輯(X)執(zhí)行(超過時限者記錄);記錄格式:有固定格式記錄時間請求編號P|B|S|W|D|J|Q|X(類型)Begin|End|Exception|Run全名執(zhí)行時長父全名IP地址登錄用戶ID登錄用戶名當(dāng)前內(nèi)存總量當(dāng)前空閑內(nèi)存量自定義信息。配置文件log4j-sys.xml ,找到log.sys.sql開關(guān),off更改為all找到RollingFileAppender新建新類LimsLogOut繼承RollingFileAppender,重寫doAppend方法,方法參數(shù)LoggingEvent 內(nèi)有屬性可區(qū)分SQL。截圖實例如下:由于該類記錄SQL日志
18、為超過時限者記錄,時限默認(rèn)設(shè)置為1000毫秒,很多sql執(zhí)行時間可能不需要1000毫秒,需進行更改,找到sys-config.xml 配置文件,將屬性LogSqlWhenTimeout設(shè)置為1。部署配置文件,在新建類LIMSLogOut中可以處理SQL日志。多個EOS連接同一個數(shù)據(jù)庫出現(xiàn)定時器表鎖定的問題解決方案文章bigdabao文章詳情多個EOS連接同一個數(shù)據(jù)庫出現(xiàn)定時器表鎖定的問題解決方案bigdabao 發(fā)表于 4個月前 來自話題#應(yīng)用開發(fā)平臺(EOS Platform)#260瀏覽摘要:多個EOS連接同一個數(shù)據(jù)庫出現(xiàn)定時器表鎖定的問題解決方案問題描述:如果多個EOS連接同一個數(shù)據(jù)庫,
19、在server啟動的時候,會出現(xiàn)EOS_QRTZ_LOCKS鎖表的情況,導(dǎo)致Server啟動不成功解決方案:多個環(huán)境連通過庫,容易出現(xiàn)定時器鎖表的問題,因為定時器默認(rèn)情況下是啟動,可嘗試如下操作: true default 將顏色標(biāo)記的true改為false(連同一個庫的每個環(huán)境都需要改)用戶session失效,ajax調(diào)用不能跳轉(zhuǎn)的解決方案文章liucl文章詳情用戶session失效,ajax調(diào)用不能跳轉(zhuǎn)的解決方案(Primeton EOS)liucl 發(fā)表于 9個月前 來自話題#應(yīng)用開發(fā)平臺(EOS Platform)#341瀏覽摘要:在某客戶項目支持過程中發(fā)現(xiàn)session失效后,aja
20、x還能繼續(xù)調(diào)用,原因是在攔截器雖然能攔截到ajax調(diào)用,也做了跳轉(zhuǎn)到index.jsp的操作,但由于是ajax調(diào)用,在index.jsp中并不能完成跳轉(zhuǎn),頁面沒有任何變化,所以不能正常跳轉(zhuǎn)到登錄頁面,在abframe或其它項目可能也存在這種問題。場景一個基于Ajax技術(shù)的Web應(yīng)用,采用的是多頁面方式 ,每個頁面內(nèi)部使用Ajax實現(xiàn)復(fù)雜業(yè)務(wù)邏輯之間的無刷新切換,使用了Struts來實現(xiàn)MVC。問題對于Ajax請求,只有在通過用戶驗證無誤之后才能對請求作出響應(yīng)。如果用戶長時間不做操作導(dǎo)致Session過時之后才發(fā)出請求,則此時應(yīng)該跳轉(zhuǎn)到出錯頁面,提示用戶重新登錄。對于非Ajax請求,可以自定義異
21、常并針對此異常設(shè)置相應(yīng)的出錯頁面。在用戶信息驗證失敗的時候直接拋出此異常即可,web容器會自動捕捉到此異常并且顯示出錯頁面;但是,對于Ajax請求,則不會如期待的那樣自動跳轉(zhuǎn)到出錯頁面。若不錯特殊處理,Ajax請求的回調(diào)函數(shù)會得到意想不到的數(shù)據(jù)而導(dǎo)致程序出錯。分析對于一個Ajax的應(yīng)用,每一次客戶端和服務(wù)器的數(shù)據(jù)交互,可以看成是在一個由客戶端的XMLHttpRequest和服務(wù)器端的Servlet(這里假設(shè)用Servlet響應(yīng)Ajax請求)組成的閉合管道。解決在Filter中,判斷當(dāng)前用戶是否處理登錄狀態(tài),如果session已經(jīng)失效則調(diào)用response.getWriter.write(ses
22、sion_time_out);修改eos-ajax.js內(nèi)容,判斷返回的ajax.responseText的內(nèi)容是否為session_time_out,如果相等,則認(rèn)為session已經(jīng)失效并調(diào)用top.location = auth/login.jsp;注意eos-ajax.js是平臺js庫文件,所以像auth/login.jsp這樣的項目路徑最后采用配置的方式??偨Y(jié)對于Ajax的請求,其數(shù)據(jù)流是封閉的,服務(wù)器發(fā)送給在客戶端的數(shù)據(jù)都被XMLHttpRequest對象所獲得。本文通過從Filter中發(fā)出javascript代碼讓其在客戶端得到執(zhí)行,從而可以在session過時驗證用戶信息失敗之
23、后,讓客戶端自動跳轉(zhuǎn)到登錄頁面,與非Ajax請求時的客戶體驗相一致。對于Ajax請求,此方法進一步推廣,可以直接在服務(wù)器端發(fā)出javascript讓其在客戶端得到執(zhí)行。FTP大數(shù)據(jù)解決方案某客戶系統(tǒng)EOS Platform流程數(shù)據(jù)丟失問題定位以及故障排除過程文章yang-yong文章詳情某客戶系統(tǒng)EOS Platform流程數(shù)據(jù)丟失問題定位以及故障排除過程yang-yong 發(fā)表于 9個月前 來自話題#應(yīng)用開發(fā)平臺(EOS Platform)#88瀏覽摘要:從解決問題的角度,我們不建議用戶直接將Connection的autoCommit設(shè)置為false,理由就是這樣破壞了數(shù)據(jù)庫連接;如果用戶需
24、要將連接設(shè)置為false,則需要在用完連接后,將連接的狀態(tài)設(shè)置回去;或者直接在外層使用事務(wù)。一.客戶環(huán)境產(chǎn)品版本:EOS Platform 6.5服務(wù)器:Was7,4個節(jié)點的集群數(shù)據(jù)庫:Oracle11gJDK版本:1.6瀏覽器:IE7二.問題描述客戶環(huán)境上主要表現(xiàn)為通過邏輯流調(diào)用了BPS的服務(wù),同時在邏輯流里面存在業(yè)務(wù)數(shù)據(jù)的操作,調(diào)用完邏輯流之后,流程數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)都丟失了,且整個過程沒有拋出異常,問題只是偶然重現(xiàn),而且只能在正式環(huán)境上重現(xiàn),測試環(huán)境始終沒有重現(xiàn)問題。三.問題分析定位過程1.熟悉客戶系統(tǒng),了解問題重現(xiàn)方式,發(fā)現(xiàn)流程數(shù)據(jù)丟失需要客戶操作很多次才會出現(xiàn)一次,重現(xiàn)概率比較低;2.熟
25、悉客戶代碼,發(fā)現(xiàn)客戶的邏輯流里面存在嵌套事務(wù),且業(yè)務(wù)操作和流程操作在同一個事務(wù)里面,對流程的操作在一個子事務(wù)里面,邏輯流里面事務(wù)設(shè)置都是接收外部事務(wù),且同步j(luò)oin方式執(zhí)行,沒有新開事務(wù)的情況,也不存在事務(wù)圖元不匹配的情況。3.分析報錯后的錯誤日志,發(fā)現(xiàn)錯誤是從事務(wù)同步器里面拋出來的,原因是queryWorkItemDetail報錯,即找不到工作項;正常的情況下,工作項不可能不存在,因為執(zhí)行到事務(wù)同步器的時候,事務(wù)必定已經(jīng)提交了,而此時查詢工作項肯定可以查詢到,但是目前的錯誤情況下,工作項不存在,即根據(jù)錯誤日志可以推斷出:事務(wù)已經(jīng)提交,但是數(shù)據(jù)沒有入庫。4.一開始對事務(wù)同步器理解不夠深刻,以為
26、用戶調(diào)用了事務(wù)管理器的commit操作就會觸發(fā)同步器的方法,所以一開始懷疑用戶可能是事務(wù)使用不當(dāng),事務(wù)管理器的begin, commit不匹配之類的情況導(dǎo)致事務(wù)沒有正真提交,數(shù)據(jù)沒有入庫,所以需要驗證用戶是不是正真做了事務(wù)提交;5.驗證事務(wù)是不是正真做了提交:添加日志,在邏輯流里面的事務(wù)提交圖元前后打印出事務(wù)狀態(tài),通過這個狀態(tài)就能判斷出事務(wù)管理器方法是不是存在不匹配的情況,同時在事務(wù)同步器里面打印出流程實例,活動實例,工作項實例的ID以及狀態(tài),線程ID,請求ID之類的信息,方便問題重現(xiàn)后定位問題;我們判斷事務(wù)狀態(tài)的目的是:如果用戶正真做了提交,而數(shù)據(jù)沒有入庫,說明和產(chǎn)品存在一定關(guān)系,如果用戶沒
27、有做事務(wù)提交,則是用戶代碼的問題,這樣我們就可以根據(jù)這個狀態(tài)進行2個大的方向定位。6.分析錯誤日志,對比正確情況和錯誤情況,發(fā)現(xiàn)打印出的事務(wù)狀態(tài)2種情況是一樣的,提交前是活動狀態(tài),提交后是無事務(wù)狀態(tài),說明用戶正真做了事務(wù)提交,即用戶使用的事務(wù)管理器begin,commit是匹配的;而且分析事務(wù)同步器里面打印出的流程實例,活動實例,工作項實例ID及狀態(tài)也都是一樣的,不存在異常情況,但是數(shù)據(jù)就是沒有進入到數(shù)據(jù)庫;7.由于事務(wù)管理器的使用方式?jīng)]有問題,問題又回到原點;后續(xù)只能通過大量重現(xiàn)問題,仔細分析日志,看還能否找到其他的蛛絲馬跡;由于這個問題是偶然重現(xiàn),所以我們懷疑可能跟線程是否有關(guān)系,我們拿到
28、大量的錯誤日志后,仔細查找這個問題是否和線程相關(guān),發(fā)現(xiàn)他們存在一定的聯(lián)系,我們分析日志得到規(guī)律是:如果一個線程出錯后,后面所有由這個線程處理的邏輯流,流程數(shù)據(jù)都丟失,且有一個線程丟失的流程數(shù)據(jù)達8次之多;8.由于客戶現(xiàn)場不能對正式環(huán)境進行遠程調(diào)試,再加上測試環(huán)境一直重現(xiàn)不了,所以即使我們懷疑是線程問題,但是也無法進一步走下去。9.經(jīng)過討論會之后,我們開始定位數(shù)據(jù)庫連接是否存在問題;后續(xù)我們還是通過打日志的方式來判斷連接是否存在問題;我們在BPS獲取連接的入口打印連接的實現(xiàn)類,連接的狀態(tài)等信息;同時在事務(wù)管理器里面增加日志,在連接的setAutoCommit,close, commit方法上增加
29、日志;10.分析日志:對比正確日志和錯誤日志可以發(fā)現(xiàn),正確情況下,Connection的autoCommit狀態(tài)是true,錯誤情況下,Connection的autoCommit狀態(tài)是false;在正確情況下,Connection的autoCommit狀態(tài)是true,我們懷疑用戶的was環(huán)境存在問題,因為Connection受事務(wù)管理之后,autoCommit狀態(tài)一定是false,所以我們驗證用戶的環(huán)境是否是正常的;我們使用JSP做了最簡單的驗證:開啟事務(wù),拿到連接,執(zhí)行第一條sql,然后執(zhí)行第二條sql,然后拋出異常,然后再執(zhí)行第3條sql,最后提交,拋出異常則回滾,部署到用戶的測試機器上驗
30、證,發(fā)現(xiàn)客戶的服務(wù)器并沒有回滾,前2條數(shù)據(jù)入庫了;所以我們斷定客戶的環(huán)境出了問題。11.后面一天我們都在修改was服務(wù)的配置,以為是數(shù)據(jù)源配置錯了,導(dǎo)致數(shù)據(jù)庫連接不受事務(wù)管理;折騰了一天之后,最后發(fā)現(xiàn)was環(huán)境下,即使外部開了事務(wù),Connection的autoCommit狀態(tài)就是true,不像tomcat,Connection受事務(wù)管理之后,autoCommit是false;12.根據(jù)日志,如果說Connection的autoCommit狀態(tài)是true是正確的,那么Connection的狀態(tài)是false則可能就會存在問題;因為正確日志和錯誤日志只有這個地方存在區(qū)別;所以這個時候我們懷疑是連接
31、壞了;繼續(xù)分析日志,發(fā)現(xiàn)日志里面有在邏輯流里面調(diào)用了setAutoCommit的方法,用戶代碼將autoCommit屬性設(shè)置了false,所以我們?nèi)プ卟橛脩舸a,找到調(diào)用setAutoCommit的地方。四.解決問題1.找到用戶代碼之后,詢問當(dāng)事人為什么需要將Connection設(shè)置成false,當(dāng)事人也說不出正確的理由,而且還說這個可以去掉,他只是復(fù)制的;所以我們將這行代碼注釋好之后,部署到測試服務(wù)器驗證;同時驗證打補丁之前和打補丁之后的測試環(huán)境,此時,則是環(huán)境能重現(xiàn)問題了,然后打上補丁之后,問題未能重現(xiàn)。第二天將補丁打到生產(chǎn)環(huán)境,問題也未能重現(xiàn),問題即解決。2.在問題的驗證過程中,有人提出
32、,在was容器下,Connection的autoCommit狀態(tài)無論是true或者false對事務(wù)管理器沒有任何影響,因為通過走j2ee事務(wù)的標(biāo)準(zhǔn)接口,在was容器下,無論autoCommit的狀態(tài)是true還是false,事務(wù)管理器都是正常的;3.第二天我們對這一問題進行了驗證,發(fā)現(xiàn)在was環(huán)境下,通過j2ee事務(wù)的標(biāo)準(zhǔn)接口使用事務(wù),Connection的autoCommit狀態(tài)true或者false,標(biāo)準(zhǔn)接口的事務(wù)確實不受影響;所以從另一個方面來說,eos的事務(wù)管理器對Connection的autoCommit狀態(tài)為false這種情況支持的不夠完善;五.結(jié)論1.從解決問題的角度,我們不建議
33、用戶直接將Connection的autoCommit設(shè)置為false,理由就是這樣破壞了數(shù)據(jù)庫連接;如果用戶需要將連接設(shè)置為false,則需要在用完連接后,將連接的狀態(tài)設(shè)置回去;或者直接在外層使用事務(wù)。2.從產(chǎn)品的角度,由于標(biāo)準(zhǔn)接口true或者false2種情況都支持,所以也可以說是EOS的事務(wù)管理器支持的不完善,在特定的環(huán)境下,事務(wù)管理器應(yīng)該支持這2種情況。EOS6中配置C3P0數(shù)據(jù)源自動重連方案文章hanning文章詳情EOS6中配置C3P0數(shù)據(jù)源自動重連方案hanning 發(fā)表于 9個月前 來自話題#應(yīng)用開發(fā)平臺(EOS Platform)#116瀏覽【適用范圍】 EOS6.0、Tomc
34、at、Jboss、Oracle【問題描述和定位】 在使用EOS6.0的時候,啟動了Server后,如果網(wǎng)絡(luò)出現(xiàn)問題Connection reset異常,Oracle數(shù)據(jù)庫連接斷了后就不能進行操作了,需要重新啟動Server。那么,怎樣配置可以避免重啟Server,特別對于生產(chǎn)環(huán)境而言,需要盡可能的避免重啟。【解決方案和步驟】1、Tomcat:在EOS Governor控制臺的配置-數(shù)據(jù)源中,選中某數(shù)據(jù)源,點擊修改,將“連接重試次數(shù)”默認(rèn)值-1修改為1,點擊“確定”保存。重啟Server。 或者直接修改目錄D:primetonfor3207_platformeosserverworkingeos
35、-defaultconfig下user-config.xml文件中DataSource的配置: -1修改為 12、JBoss:修改$JBOSS_HOMEserverdefaultdeploy下的EOSProductDataSource-ds.xml,將默認(rèn)的數(shù)據(jù)源配置改成如下(與EOS5環(huán)境下配置類似): EOSDefaultDataSource jdbc:oracle:thin:23:1521:psooracle.jdbc.driver.OracleDriver eos60 eos60 5 100 5000 15 org.jboss.resource.adapter.j
36、dbc.vendor.OracleValidConnectionChecker select 1 from dualselect 1 from dual 【備注】修改這個配置還可以解決如果系統(tǒng)中需要多數(shù)據(jù)源的話,在這個文件中增加一個local-tx-datasource 配置;上面的配置可能對系統(tǒng)訪問數(shù)據(jù)庫的性能有影響,有可能每次拿數(shù)據(jù)庫連接的時候都會自動調(diào)用這個sql語句;Weblogic、Websphere等應(yīng)用服務(wù)器也應(yīng)該提供了類似的自動重連機制,可以進到它們的控制臺查看。EOS異常處理方法異常獲取EOS的異常獲取分為兩種,一種是在邏輯流中獲取異常,另一種是在java代碼中獲取異常。1.
37、在邏輯流中獲取異常如上圖所示,開發(fā)人員需要在特定的圖元上通過添加異常線并添加異常拋出圖元(在左側(cè)工具面板中的高級中)的方式來獲取特定的異常信息。異常拋出圖元需要開發(fā)人員先在構(gòu)件包的配置文件中加入自定義的異常信息,對圖元進行配置是選擇相對應(yīng)的ERRORCODE和ERRORMESSAGE。ERRORMESSAGE可以定義變量,以0,1的方式來進行變量綁定。配置文件路徑:配置/resources/exception/perties。該配置支持中文并自動轉(zhuǎn)碼,同樣在也支持國際化的配置。對于異常處理圖元更詳細的說明可以在EOS Studio的幫助文檔中找到,具體路徑:EOS幫助
38、文檔-技術(shù)參考-EOS基礎(chǔ)參考手冊-邏輯流-邏輯流編輯器-異常拋出。2.在java代碼中獲取異常EOS提供了默認(rèn)實現(xiàn)的EOSException。當(dāng)特定的springbean或者運算邏輯圖元需要拋出異常,可以直接在代碼中通過new EOSException的方式來拋出異常。該異常提供了多種構(gòu)造方法,常用的是EOSException(java.lang.String code, java.lang.Object params)。Code是在配置文件中已經(jīng)配置好的,params參數(shù)包含了message中的變量綁定。異常處理這里只介紹ajax調(diào)用邏輯流返回異常處理的方式。首先,當(dāng)ajax調(diào)用邏輯流時邏輯流發(fā)生異常,ajax仍然會執(zhí)行成功。因此異常的捕獲會在success事件中進行。另外exception對象中的message包含了所有的異常信息,所以需要對message進行處理。EOS拋出的異常默認(rèn)會使用換行符分隔。處理示例如下:nui.ajax( url: com.shghtd.realest
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國環(huán)境美化及園藝服務(wù)行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國特色農(nóng)產(chǎn)品行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國牛肝菌粉行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 2025-2030年中國爆震傳感器行業(yè)市場發(fā)展分析及前景趨勢與投資管理研究報告
- 2025-2030年中國混合裝置行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030年中國深度熱療儀行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 香氛植物裝修協(xié)議
- 退休返聘崗位服務(wù)協(xié)議
- 捐贈協(xié)議樣本
- 鋼板池施工方案
- (三模)南通市2025屆高三第三次調(diào)研測試英語試卷(含答案解析)
- 紅細胞生成素靶向治療策略-全面剖析
- 寧夏銀川市2023?2024學(xué)年高一下學(xué)期期中考試 數(shù)學(xué)試卷(含解析)
- 浙江浙達環(huán)境科技有限公司年收集、貯存及轉(zhuǎn)運危險廢物5000噸的搬遷項目環(huán)評報告
- 2025年留置輔警筆試真題及答案
- 不同來源硫酸軟骨素的化學(xué)結(jié)構(gòu)、抗氧化與降脂活性對比
- 抗凝劑皮下注射技術(shù)臨床實踐指南(2024版)解讀
- 小學(xué)政治 (道德與法治)人教部編版二年級下冊14 學(xué)習(xí)有方法教學(xué)設(shè)計
- 湖南張家界事業(yè)單位招聘考試高頻題庫帶答案2025年
- 廣東省2024-2025學(xué)年佛山市普通高中教學(xué)質(zhì)量檢測英語試卷及答案(二)高三試卷(佛山二模)
- 主體結(jié)構(gòu)及裝飾裝修D(zhuǎn)類復(fù)習(xí)試題有答案
評論
0/150
提交評論