SAXParseException: Content is not allowed in prolog
摘要: 最近在做一些批處理XML的項(xiàng)目,通過(guò)Spring Batch讀取XML,然后將數(shù)據(jù)存入數(shù)據(jù)庫(kù)。XML是客戶(hù)方通過(guò)AS400的技術(shù)將數(shù)據(jù)讀出并寫(xiě)入到文件的,我不了解AS400處理這類(lèi)問(wèn)題是不是很麻煩,每次XML需要做些變動(dòng)的時(shí)候,客戶(hù)總是表現(xiàn)的很為難,并且都是很久才能給到新的XML,還總是有這樣那樣的問(wèn)題,甚至都不是一個(gè)有效的XML。這兩天總算是改的差不多了,但遇到了好幾次這樣的exception: org.xml.sax.SAXParseException: Content is not allowed in prolog。以前也接觸過(guò)不少XML,可是這種問(wèn)題還真是沒(méi)遇到過(guò)。
出現(xiàn)這種問(wèn)題,有幾種可能性:
閱讀全文
使用ARA實(shí)現(xiàn)GlassFish中Web應(yīng)用的資源分配
摘要: 在企業(yè)級(jí)的應(yīng)用中,經(jīng)常會(huì)存在一些訪(fǎng)問(wèn)非常頻繁的web應(yīng)用,這些web模塊很容易就會(huì)將GlassFish的HTTP Thread全部占滿(mǎn),這時(shí)其它的web應(yīng)用就始終在queue中等待獲取HTTP的connection,直至超時(shí)。在GlassFish中不能對(duì)web應(yīng)用進(jìn)行資源分配,如果是EJB組件,可以采取Request Partitioning的方式來(lái)分配模塊所使用的資源,對(duì)于Web應(yīng)用只有等到V3版本發(fā)布時(shí)才具備資源分配的功能了,對(duì)于SUN現(xiàn)在的局面,不知道要等到什么時(shí)候才會(huì)發(fā)布這個(gè)feature,好在已從SUN離職的Grizzly的開(kāi)發(fā)者Jeanfrancois在V2中就已經(jīng)實(shí)現(xiàn)了該功能,可以通過(guò)配置的方式實(shí)現(xiàn)web資源的分配。
閱讀全文
GlassFish移植Tips
摘要: 作為一款商用的Application Server,Weblogic確實(shí)非常成熟,非常強(qiáng)大,提供了很多特性,以幫助提高程序的運(yùn)行效率,但是太笨重了,訪(fǎng)問(wèn)Admin Console極慢;GlassFish作為一款開(kāi)源的Application Server,非常適合開(kāi)發(fā)者使用,速度很快,并且嚴(yán)格遵照J(rèn)2EE的標(biāo)準(zhǔn),以達(dá)到平臺(tái)獨(dú)立的特性,但是確實(shí)簡(jiǎn)陋了點(diǎn),只提供了最標(biāo)準(zhǔn)的實(shí)現(xiàn),并且還存在一些明顯的BUG,社區(qū)不夠活躍,文檔、資源都很少,可能是現(xiàn)在SUN處于動(dòng)亂期,連商業(yè)Support都很難聯(lián)系到。下面是我在做移植工作時(shí),隨筆記下來(lái)的一些小經(jīng)驗(yàn),讓其他的同學(xué)們少受一些折磨,少踩一些坑。
閱讀全文
GlassFish Components
摘要: 本文對(duì)GlassFish的組件結(jié)構(gòu)進(jìn)行了較詳細(xì)的描述。GlassFish由一個(gè)或多個(gè)domain組成,每個(gè)domain和一個(gè)administration server關(guān)聯(lián),并可包含0到多個(gè)standalone instance或者cluster。每個(gè)cluster有一個(gè)或多個(gè)同類(lèi)型的instance,一個(gè)instance運(yùn)行于一個(gè)單獨(dú)的JVM 中,domain中的instance可運(yùn)行在不同的物理機(jī)器上。
閱讀全文
StartUp Choice: ServletContextListener vs Servlet
摘要: 最近在做將項(xiàng)目從Weblogic移植到GlassFish的工作,遇到的其中一個(gè)比較頭疼的問(wèn)題就是Weblogic的LifeCycleManager。Weblogic提供了一個(gè)ApplicationLifecycleListener類(lèi)可以在application部署和卸載時(shí)做一些工作,這是Weblogic獨(dú)有的特性,并不是J2EE的規(guī)范。GlassFish中目前提供的LifeCycleListener不能滿(mǎn)足該要求,它只能在GlassFish啟動(dòng)和停止的時(shí)候去做工作,而且,采用了這種方式,等于又將我們的應(yīng)用綁定在了GlassFish上。最終決定采用ServletContextListener作為臨時(shí)解決方案。
閱讀全文
Spring延遲加載EJB代理
摘要: 在Spring中提供了兩個(gè)代理工廠(chǎng)Bean來(lái)代理EJB的訪(fǎng)問(wèn): LocalStatelessSessionProxyFactoryBean和SimpleRemoteStatelessSessionProxyFactoryBean。當(dāng)任何一個(gè)EJB代理工廠(chǎng)Bean在A(yíng)pplicationContext中使用時(shí),Bean工廠(chǎng)會(huì)預(yù)先實(shí)例化單實(shí)例的 Bean。這通常是一件好事,但它可能會(huì)導(dǎo)致EJB代理工廠(chǎng)Bean在EJB被綁定到名字服務(wù)之前,試圖查找EJB的home接口。通過(guò)屬性的設(shè)置,可確保這個(gè)EJB在裝載時(shí)不會(huì)試圖查找home接口,直到它首次被使用為止,這將會(huì)留有足夠的時(shí)間來(lái)把EJB綁定到名稱(chēng)服務(wù)上。
閱讀全文
JMS - 異步消息的使者
摘要: Java消息服務(wù)(JMS)實(shí)現(xiàn)了異步消息的傳遞,在企業(yè)級(jí)的應(yīng)用中,極大的簡(jiǎn)化了異步通信系統(tǒng)的實(shí)現(xiàn),使用消息傳遞的優(yōu)點(diǎn)在于保持了系統(tǒng)的松散耦合。本文對(duì)JMS兩種模式的使用做了對(duì)比性的講解,開(kāi)始你的JMS使用旅程吧。
閱讀全文
Standalone Client Lookup JNDI from the GlassFish
摘要: 獨(dú)立運(yùn)行的java程序可通過(guò)JNDI訪(fǎng)問(wèn)GlassFish中配置的資源,而不需要運(yùn)行在GlassFish中,便于一些J2EE程序的運(yùn)行,比如JMS。
閱讀全文
Weblogic中獲取Server信息
摘要: 通過(guò)MBean獲取weblogic的server信息。
閱讀全文
SLF4J+logBack, 日志領(lǐng)域中的新秀
摘要: Ceki Gülcü創(chuàng)造了日志領(lǐng)域界著名的Log4J,現(xiàn)在又實(shí)現(xiàn)一個(gè)“簡(jiǎn)單的日志前端接口(Fa?ade)”- SLF4J,和一個(gè)“可靠、通用、快速而又靈活的Java日志框架”- LOGBack。作為日志領(lǐng)域中的新秀,已經(jīng)有種顛覆領(lǐng)域的趨勢(shì)了。
閱讀全文
Checkstyle的配置詳解
摘要: Checkstyle是一款檢查java程序代碼樣式的工具,可以有效的幫助我們檢視代碼以便更好的遵循代碼編寫(xiě)標(biāo)準(zhǔn),特別適用于小組開(kāi)發(fā)時(shí)彼此間的樣式規(guī)范和統(tǒng)一。Checkstyle提供了高可配置性,以便適用于各種代碼規(guī)范,所以除了可以使用它提供的sun的代碼標(biāo)準(zhǔn)外,你也可以定制自己的標(biāo)準(zhǔn)。我們可以在eclipse中安裝checkstyle的插件,來(lái)方便我們的使用。
Checkstyle可以讓我們養(yǎng)成書(shū)寫(xiě)良好代碼風(fēng)格的習(xí)慣,代碼的整潔也減少了很多bad smell的產(chǎn)生。使用checkstyle的過(guò)程中可能需要經(jīng)常的調(diào)整配置文件,有些check過(guò)于嚴(yán)格,可以根據(jù)實(shí)際情況取消一些代碼檢查。
閱讀全文
利用JPDA進(jìn)行Remote Debug
摘要: 最近協(xié)助QA測(cè)試我們基于EJB開(kāi)發(fā)的系統(tǒng),由于應(yīng)用程序在遠(yuǎn)程環(huán)境下運(yùn)行,并且在控制臺(tái)和日志文件中沒(méi)有輸出足夠的有用信息,導(dǎo)致調(diào)試工作很困難。這時(shí)發(fā)現(xiàn)了Sun的java平臺(tái)調(diào)試架構(gòu)(Java Platform Debugger Architecture),它能夠?qū)σ粋€(gè)運(yùn)行中的java應(yīng)用程序進(jìn)行全方位調(diào)試提供極大的幫助。
閱讀全文
HttpClient之上傳文件
摘要: 今天在為公司寫(xiě)網(wǎng)絡(luò)硬盤(pán)的壓力測(cè)試工具時(shí)使用了HttpClient,比較容易的解決了登錄、上傳、下載、列表等功能的測(cè)試,但也遇到了一些問(wèn)題未解決。
閱讀全文
HttpClient的一些技巧
摘要: HttpClient中一些常見(jiàn)的問(wèn)題及解決方法。
閱讀全文