版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、普元啟動服務(wù)失敗的解決方法當(dāng)多個人同時使用一個數(shù)據(jù)庫的時候,啟動普元控制臺會一直停留在rcall ,然后顯示一個超時的警告,那樣就需要修改一下普元的一個定時器配置項。安裝目錄下PrimetonPlatformapps_configdefaultconfig中的一個 user-config.xml 文件 將下列代碼中高亮字段中的 true 改為 false 即可 truedefault當(dāng) EOS啟動調(diào)試服務(wù)時,控制臺停留在RCALL 后無反應(yīng)一般是因為定時任務(wù)的表被鎖住的原因,可在 plsqldeveloper 中執(zhí)行以下語句: select alter system kill session
2、|b.SESSION_ID|,|c.SERIAL#| immediate;from v$locked_object b,v$session c where 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_objectt)-select * fro
3、m dba_objects where object_id=73713 -從菜單欄進(jìn)入將 Status=ACTIVE and Sid=被鎖對象id 的記錄,點(diǎn)擊右鍵菜單中的Tools/SessionsKill,跟操作系統(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)同樣的運(yù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下我們自己項目的
5、內(nèi)容。慎重,別刪錯了,我們自己開發(fā)的。ESB修改默認(rèn)端口61616windows 操作系統(tǒng)下的默認(rèn)的 ICS 服務(wù)( Internet Connection Sharing 端口,因此要解決 jms 端口沖突的情況有兩種方式。)默認(rèn)占用了61616方式一:停止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)容:
6、( esb-mq-config.xml)(fts-server-config.xml)tcp:/:6161651如何修改Platform發(fā)布Webservice服務(wù)的命名空間摘要:如何修改Platform發(fā)布 Webservice服務(wù)的命名空間()為自己指定的名字。問題描述 :Platform發(fā)布 Webservice 服務(wù),在瀏覽器上查看wsdl ,客戶想修改其中的命名空間 ,如下圖紅色框的內(nèi)容,想更換成自己的命名空間。適用環(huán)境 :PlatformV6及以上版本處理經(jīng)驗 :可以修改 user-config.xm
7、l中的配置,將DefultNameSpace 這行的注釋放開,修改 為自己指定的值。!-/-應(yīng)用被攔截,調(diào)用報錯無法訪問摘要:應(yīng)用被攔截,調(diào)用報錯無法訪問場景描述:test.html放在 Tomcat 的 webapps/ROOT 目錄下,或者其他非 default 應(yīng)用下該靜態(tài)HTML 頁面中有一個超鏈接 EOS test在資源管理器中直接雙擊該文件,在瀏覽器打開后( file:/協(xié)議), 點(diǎn)擊該超鏈接可以正常訪問。但如果我通過:8080/test.html訪問該頁面 ( http:/協(xié)
8、議),點(diǎn)擊該超鏈接時,直接報錯了,錯誤信息為:調(diào)用異常,請查看日志!而使用 window.open 沒有問題。EOS test,function open_win()window.open(:8080/default/skins/default/index.jsp)情況分析:獲取前后 http頭, referer 為不同應(yīng)用之間的請求,那么可能被default給攔截了。解決辦法:去除攔截器:把 apps_configdefaultconfig eoshandler-web.xml 中的以下配置注釋掉, 看看是否還會不會有問題:摘要: EOS 工程部署到JBOSS
9、后報錯。分析日后初步確定為jboss-6.1.0.Finalcommonlibslf4j-api.jar與libslf4j-api-1.5.6.jar沖突導(dǎo)致該問題已經(jīng)解決。方案如下:修改jbossserverdefaultdeployersjbossweb.deployerMETA-INFwar-deployers-jboss-beans.xml添加 org.slf4j ,以過濾該包代碼如下:1. 2. 3.-1 4.javax.servlet,mons.logging,org.slf4j5. 然后重啟 JBOSS 服務(wù)器。原因分析:jboss加載jar包順序問題
10、。摘要:在最近修改SSO應(yīng)用的時候,涉及到需要在jar包中讀取工程配置文件的問題。在jar包中,讀取配置文件,需要單獨(dú)處理。項目中的一些配置文件,如perties log4j.xml不想打包進(jìn)jar。因為可能會修改其中的一些配置信息,打包進(jìn)jar,就變得比較笨拙,不方便修改文件??梢杂萌缦路绞?,實現(xiàn)在jar 包中讀取外部配置文件。方法一:關(guān)鍵代碼。讀取 properties文件方法:InputStream ins = getClass().getResourceAsStream(/resource/perties);但是 log4j.xml又需要
11、單獨(dú)處理:PropertyConfigurator.configure(System.getProperty(user.dir) +/resource/log4j.xml);方法二:配置文件perties和 jiar 包在同一個目錄下面:FileInputStream inputStream1 =new FileInputStream(perties);配置文件perties在 jar 包內(nèi)部:InputStream inputStream2 = a.class.getResourceAsStream(/perties);org.apache
12、.axis2.AxisFault: WSDoAllReceiver:摘要:使用EOS7.2自動生成的客戶端代碼,在調(diào)用帶有安全頭部消息的webservice接口的時候,會經(jīng)常出現(xiàn)org.apache.axis2.AxisFault: WSDoAllReceiver: Incomingmessage does not contain required Security header的異常,可以照下文處理使用 EOS7.2 自動生成的客戶端代碼,在調(diào)用帶有安全頭部消息的webservice接口的時候,會經(jīng)常出現(xiàn)org.apache.axis2.AxisFault: WSDoAllReceiver:
13、 Incoming message does notcontain required Security header的異常,表示傳入的消息不包含所需的安全報頭,經(jīng)過分析發(fā)現(xiàn)是該方法在第一次被調(diào)用后,已經(jīng)生成了一些安全校驗數(shù)據(jù),ListenerManager.defaultConfigurationContext不為空,無法對新的請求進(jìn)行安全數(shù)據(jù)的封裝,導(dǎo)致請求失敗,應(yīng)該清空ListenerManager.defaultConfigurationContext應(yīng)用環(huán)境,重新生成對應(yīng)的安全校驗數(shù)據(jù)??梢哉杖缦路绞竭M(jìn)行處理。在使用客戶端代碼的方法中,加入ListenerManager.default
14、ConfigurationContext = null;用于清空運(yùn)行環(huán)境,以對新的請求,作出新的安全設(shè)置。示例代碼片段:Bizletpublic Map sellOrderPriceUpdate(SellOrderImpl sellOrderImpl,SellOrderDetailImplsellOrderDetailImpls) throws ExceptionListenerManager.defaultConfigurationContext = null;/ 重置 axis2 部分運(yùn)行參數(shù)環(huán)境,用于新的請求ZCOP_SERVICEStub.ZifSoChange in=new ZCOP
15、_SERVICEStub.ZifSoChange();/ 輸入ZifSoChangeResponse response=new ZCOP_SERVICEStub.ZifSoChangeResponse();/輸出EOS 在業(yè)務(wù)程序中獲取邏輯構(gòu)件執(zhí)行的SQL 語句文章 文章詳情EOS 在業(yè)務(wù)程序中獲取邏輯構(gòu)件執(zhí)行的SQL 語句發(fā)表于3 個月前來自話題# 應(yīng)用開發(fā)平臺(EOSPlatform ) #90 瀏覽摘要:更改 log4j的日志配置, 使用類繼承方式, 方法重寫, 在程序中獲取邏輯流執(zhí)行SQL 。配置文件:應(yīng)用配
16、置目錄/log4j-sys.xml (可根據(jù)實際情況使用更改具體配置文件) ;更改 log4j 的日志配置,使用類繼承方式,方法重寫,在程序中獲取邏輯流執(zhí)行SQL。配置文件:應(yīng)用配置目錄/log4j-sys.xml( 可根據(jù)實際情況使用更改具體配置文件);配置文件說明:config/log4j-deploy.xml部署日志記錄系統(tǒng)啟動、 停止、構(gòu)件包部署、 集群通知等信息的日志。config/log4j-trace.xml跟蹤日志Server 引擎的調(diào)試日志,用于系統(tǒng)維護(hù)人員定位系統(tǒng)運(yùn)行問題使用。config/log4j-sys.xml系統(tǒng)日志大粒度的引擎運(yùn)行的入口、出口的日志,用于調(diào)用棧分析
17、,可以進(jìn)行性能分析使用config/log4j-engine.xml引擎日志細(xì)粒度的引擎運(yùn)行日志,可以打印上下文數(shù)據(jù),用于定位業(yè)務(wù)問題。記錄時機(jī): 頁面流 (P) 執(zhí)行、邏輯流 (B) 執(zhí)行、服務(wù) (S)執(zhí)行、 Web 服務(wù) (W) 調(diào)用、定時任務(wù) (D) 執(zhí)行、 JSP(J)執(zhí)行、 SQL(Q) 執(zhí)行(超過時限者記錄) 、運(yùn)算邏輯 (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)存量 自定義信
18、息 。配置文件log4j-sys.xml,找到 log.sys.sql 開關(guān), off 更改為 all找到 RollingFileAppender新建新類 LimsLogOut繼承 RollingFileAppender,重寫 doAppend 方法,方法參數(shù)LoggingEvent內(nèi)有屬性可區(qū)分SQL。截圖實例如下:由于該類記錄 SQL 日志為超過時限者記錄,時限默認(rèn)設(shè)置為1000 毫秒,很多 sql 執(zhí)行時間可能不需要1000 毫秒,需進(jìn)行更改,找到 sys-config.xml 配置文件,將屬性 LogSqlWhenTimeout 設(shè)置為 1。部署配置文件,在新建類 LIMSLogOut
19、 中可以處理 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ù)庫,在 server 啟動的時候,會出現(xiàn) EOS_QRTZ_LOCKS 鎖表的情況,導(dǎo)致 Server 啟動不成功解決方案:多個環(huán)境連通過庫, 容易出現(xiàn)定時器鎖表的問題, 因為定時器默認(rèn)情況下是啟動, 可嘗試如下
20、操作: 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 失效后, ajax 還能繼續(xù)調(diào)用,原因是在攔截器雖然能攔截到 ajax 調(diào)用,也做了跳轉(zhuǎn)到 index.jsp 的操作,但由于是 ajax 調(diào)用,在 index.jsp 中并
21、不能完成跳轉(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 請求,可以自定義異常并針對此異常設(shè)置相應(yīng)的出錯頁面。在用戶信息驗證失敗的時候直接拋出此異常即可,web 容器會自動捕捉到此異常并且顯示
22、出錯頁面;但是,對于 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(session_time_out);修改 eos-ajax.js內(nèi)容,判斷返回的aja
23、x.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 過時驗證用戶信息失敗之后, 讓客戶端自動跳轉(zhuǎn)到登錄頁面, 與非 Ajax
24、請求時的客戶體驗相一致。對于Ajax 請求,此方法進(jìn)一步推廣,可以直接在服務(wù)器端發(fā)出javascript讓其在客戶端得到執(zhí)行。FTP大數(shù)據(jù)解決方案/articles/53c8c681e13823343b0000e3某客戶系統(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的
25、autoCommit設(shè)置為false ,理由就是這樣破壞了數(shù)據(jù)庫連接;如果用戶需要將連接設(shè)置為false ,則需要在用完連接后,將連接的狀態(tài)設(shè)置回去;或者直接在外層使用事務(wù)。一. 客戶環(huán)境產(chǎn)品版本: EOS Platform 6.5服務(wù)器: Was7 , 4 個節(jié)點(diǎn)的集群數(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)問題。問題三. 問題分析定
26、位過程1.熟悉客戶系統(tǒng), 了解問題重現(xiàn)方式, 發(fā)現(xiàn)流程數(shù)據(jù)丟失需要客戶操作很多次才會出現(xiàn)一次,重現(xiàn)概率比較低;2.熟悉客戶代碼, 發(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)提交了, 而此時查詢工作項肯定可以查詢到, 但
27、是目前的錯誤情況下, 工作項不存在, 即根據(jù)錯誤日志可以推斷出: 事務(wù)已經(jīng)提交, 但是數(shù)據(jù)沒有入庫。4.一開始對事務(wù)同步器理解不夠深刻,以為用戶調(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),線程
28、ID ,請求 ID 之類的信息, 方便問題重現(xiàn)后定位問題;我們判斷事務(wù)狀態(tài)的目的是:如果用戶正真做了提交,而數(shù)據(jù)沒有入庫, 說明和產(chǎn)品存在一定關(guān)系, 如果用戶沒有做事務(wù)提交,則是用戶代碼的問題,這樣我們就可以根據(jù)這個狀態(tài)進(jìn)行2 個大的方向定位。6.分析錯誤日志, 對比正確情況和錯誤情況, 發(fā)現(xiàn)打印出的事務(wù)狀態(tài) 2 種情況是一樣的,提交前是活動狀態(tài), 提交后是無事務(wù)狀態(tài), 說明用戶正真做了事務(wù)提交, 即用戶使用的事務(wù)管理器 begin , commit 是匹配的;而且分析事務(wù)同步器里面打印出的流程實例,活動實例,工作項實例 ID 及狀態(tài)也都是一樣的,不存在異常情況,但是數(shù)據(jù)就是沒有進(jìn)入到數(shù)據(jù)庫;
29、7.由于事務(wù)管理器的使用方式?jīng)]有問題,問題又回到原點(diǎn);后續(xù)只能通過大量重現(xiàn)問題,仔細(xì)分析日志, 看還能否找到其他的蛛絲馬跡;由于這個問題是偶然重現(xiàn),所以我們懷疑可能跟線程是否有關(guān)系,我們拿到大量的錯誤日志后,仔細(xì)查找這個問題是否和線程相關(guān),發(fā)現(xiàn)他們存在一定的聯(lián)系,我們分析日志得到規(guī)律是:如果一個線程出錯后,后面所有由這個線程處理的邏輯流,流程數(shù)據(jù)都丟失,且有一個線程丟失的流程數(shù)據(jù)達(dá)8 次之多;8.由于客戶現(xiàn)場不能對正式環(huán)境進(jìn)行遠(yuǎn)程調(diào)試,再加上測試環(huán)境一直重現(xiàn)不了,所以即使我們懷疑是線程問題,但是也無法進(jìn)一步走下去。9.經(jīng)過討論會之后,我們開始定位數(shù)據(jù)庫連接是否存在問題;后續(xù)我們還是通過打日志的
30、方式來判斷連接是否存在問題;我們在BPS 獲取連接的入口打印連接的實現(xiàn)類,連接的狀態(tài)等信息;同時在事務(wù)管理器里面增加日志,在連接的setAutoCommit,close, commit方法上增加日志;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)一定
31、是false ,所以我們驗證用戶的環(huán)境是否是正常的;我們使用 JSP 做了最簡單的驗證:開啟事務(wù),拿到連接,執(zhí)行第一條 sql,然后執(zhí)行第二條 sql ,然后拋出異常,然后再執(zhí)行第 3 條 sql ,最后提交,拋出異常則回滾,部署到用戶的測試機(jī)器上驗證, 發(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 ,Connec
32、tion 受事務(wù)管理之后, autoCommit是 false ;12. 根據(jù)日志,如果說Connection 的 autoCommit狀態(tài)是 true 是正確的,那么Connection的狀態(tài)是 false 則可能就會存在問題;因為正確日志和錯誤日志只有這個地方存在區(qū)別;所以這個時候我們懷疑是連接壞了;繼續(xù)分析日志,發(fā)現(xiàn)日志里面有在邏輯流里面調(diào)用了setAutoCommit 的方法,用戶代碼將 autoCommit 屬性設(shè)置了 false ,所以我們?nèi)プ卟橛脩舸a,找到調(diào)用 setAutoCommit 的地方。四. 解決問題1.找到用戶代碼之后,詢問當(dāng)事人為什么需要將Connection 設(shè)
33、置成 false ,當(dāng)事人也說不出正確的理由,而且還說這個可以去掉,他只是復(fù)制的;所以我們將這行代碼注釋好之后,部署到測試服務(wù)器驗證; 同時驗證打補(bǔ)丁之前和打補(bǔ)丁之后的測試環(huán)境, 此時, 則是環(huán)境能重現(xiàn)問題了, 然后打上補(bǔ)丁之后, 問題未能重現(xiàn)。第二天將補(bǔ)丁打到生產(chǎn)環(huán)境,問題也未能重現(xiàn),問題即解決。2.在問題的驗證過程中,有人提出,在was 容器下, Connection 的 autoCommit狀態(tài)無論是 true 或者 false 對事務(wù)管理器沒有任何影響,因為通過走j2ee 事務(wù)的標(biāo)準(zhǔn)接口,在was容器下,無論autoCommit的狀態(tài)是true 還是 false ,事務(wù)管理器都是正常的
34、;3.第二天我們對這一問題進(jìn)行了驗證,發(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.從解決問題的角度,我們不建議用戶直接將Connection的autoCommit設(shè)置為false ,理由就是這樣破壞了數(shù)據(jù)庫連接;如果用戶需要將連接設(shè)置為將連接的狀態(tài)設(shè)置回去;或者直接在外層使用事務(wù)。false ,則需要在用完連接后,2.從產(chǎn)品的角度,
35、由于標(biāo)準(zhǔn)接口true 或者 false2 種情況都支持,所以也可以說是務(wù)管理器支持的不完善,在特定的環(huán)境下,事務(wù)管理器應(yīng)該支持這2 種情況。EOS 的事分享EOS6中配置 C3P0數(shù)據(jù)源自動重連方案文章hanning文章詳情EOS6中配置 hanningC3P0數(shù)據(jù)源自動重連方案發(fā)表于 9 個月前來自話題#應(yīng)用開發(fā)平臺(EOSPlatform) #116 瀏覽【適用范圍】EOS6.0、 Tomcat 、 Jboss、 Oracle【問題描述和定位】在使用EOS6.0的時候,啟動了Server后,如果網(wǎng)絡(luò)出現(xiàn)問題Connection reset 異常,Oracle那么,怎樣配置可以避免重啟數(shù)據(jù)庫
36、連接斷了后就不能進(jìn)行操作了,需要重新啟動Server 。Server ,特別對于生產(chǎn)環(huán)境而言,需要盡可能的避免重啟。【解決方案和步驟】1、Tomcat :在 EOS Governor 接重試次數(shù) ”默認(rèn)值 -1 修改為控制臺的配置 - 數(shù)據(jù)源中,選中某數(shù)據(jù)源,點(diǎn)擊修改,將1,點(diǎn)擊 “確定 ”保存。重啟Server ?;蛘咧苯有薷哪夸洝斑BD:primetonfor3207_platformeosserverworkingeos-defaultconfig下user-config.xml文件中DataSource的配置:-1修改為12、JBoss:修改 $JBOSS_HOMEserverdefau
37、ltdeploy下的 EOSProductDataSource-ds.xml,將默認(rèn)的數(shù)據(jù)源配置改成如下(與EOS5 環(huán)境下配置類似):EOSDefaultDataSourcejdbc:oracle:thin:23:1521:psooracle.jdbc.driver.OracleDrivereos60eos605100500015org.jboss.resource.adapter.jdbc.ve ndor.OracleValidConnectionCheckerselect 1 fromdualselect 1 from dual【備注】修改這個配置還可以解決如果系統(tǒng)
38、中需要多數(shù)據(jù)源的話,在這個文件中增加一個local-tx-datasource配置;上面的配置可能對系統(tǒng)訪問數(shù)據(jù)庫的性能有影響,有可能每次拿數(shù)據(jù)庫連接的時候都會自動調(diào)用這個sql 語句;Weblogic 、Websphere 等應(yīng)用服務(wù)器也應(yīng)該提供了類似的自動重連機(jī)制,可以進(jìn)到它們的控制臺查看。EOS異常處理方法異常獲取EOS 的異常獲取分為兩種,一種是在邏輯流中獲取異常,另一種是在java 代碼中獲取異常。1.在邏輯流中獲取異常如上圖所示, 開發(fā)人員需要在特定的圖元上通過添加異常線并添加異常拋出圖元具面板中的高級中)的方式來獲取特定的異常信息。(在左側(cè)工異常拋出圖元需要開發(fā)人員先在構(gòu)件包的配
39、置文件中加入自定義的異常信息,對圖元進(jìn)行配置是選擇相對應(yīng)的 ERRORCODE 和 ERRORMESSAGE。 ERRORMESSAGE可以定義變量,以 0,1 的方式來進(jìn)行變量綁定。配置文件路徑:配置/resources/exception/perties。該配置支持中文并自動轉(zhuǎn)碼,同樣在也支持國際化的配置。對于異常處理圖元更詳細(xì)的說明可以在EOS Studio 的幫助文檔中找到,具體路徑: EOS 幫助文檔 - 技術(shù)參考 - EOS 基礎(chǔ)參考手冊 - 邏輯流 - 邏輯流編輯器 - 異常拋出。2.在 java 代碼中獲取異常EOS 提供了默認(rèn)實現(xiàn)的EOSException 。當(dāng)特定的springbean或者運(yùn)算邏輯圖元需要拋出異常,可以直接在代碼中通過new EOSException的方式來拋出異常。該異常提供了多種構(gòu)造方法,常用的是EOSException(java.lang.String code, java.lang.Object params)。 Code是在配置文件中已經(jīng)配置好的,params 參數(shù)包含了message 中的變量綁定。異常處理這里只介紹ajax 調(diào)用邏輯流返回異常處理的
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 竹鞭墻紙施工方案(3篇)
- 福建麥當(dāng)勞活動策劃方案(3篇)
- 炒飯餐廳活動策劃方案(3篇)
- 清淤上岸施工方案(3篇)
- 突起地標(biāo)施工方案(3篇)
- 清遠(yuǎn)展廳施工方案(3篇)
- 阜陽涵管施工方案(3篇)
- 氣象服務(wù)業(yè)務(wù)規(guī)范手冊(標(biāo)準(zhǔn)版)
- 外墻涂料安全培訓(xùn)
- 2025年大學(xué)(食品科學(xué)與工程)食品營養(yǎng)學(xué)試題及答案
- 勁拓作業(yè)指導(dǎo)書
- 30以內(nèi)加減法練習(xí)(每頁100題A4紙)
- 社會實踐-形考任務(wù)三-國開(CQ)-參考資料
- 盧氏縣橫澗壯溝鐵礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 醫(yī)護(hù)人員形象禮儀培訓(xùn)
- 中國的“愛經(jīng)”(一)-《天地陰陽交⊥歡大樂賦》
- 心房鈉尿肽基因敲除小鼠的繁殖和鑒定
- 母嬰護(hù)理職業(yè)道德課件
- 口腔頜面外科學(xué)(全)
- 安徽金軒科技有限公司 年產(chǎn)60萬噸硫磺制酸項目環(huán)境影響報告書
- 魔鬼理論之k線秘笈圖解課件
評論
0/150
提交評論