[英]calling EJB3 session bean from a webservice EJB3 session bean causing entity manager null
[英]How is it to return a very long list from ejb3 session bean?
我有一個ejb3會話bean和一個servlet。 Bean可以訪問帶有一些大表的數據庫。 Servlet應該從Bean檢索表的內容,並通過ServletOutputStream發送數據。 如何在ejb3 bean和servlet之間傳輸大數據? 我無法一次返回包含所有行的列表,因為它不適合內存。
PS。 數據以文件形式下載。 它們不會出現在頁面上。
您可以使用Externalizable接口(Serializable的擴展)跨EJB邊界傳輸大文件。 這是我的建議:
ExternalFile
,它包裝/包含一個File
對象 Externalizable
writeExternal
將包含的文件寫入給定的輸出流 readExternal
以將給定的輸入流讀取到新的臨時文件中 步驟3是您從EJB層發送對象(文件)時的序列化階段。 步驟4是您的反序列化階段,該階段將文件作為數據流接收,並且可以對流進行任何處理。 我的4建議將其寫入臨時文件,但您可以將此流直接通過servlet傳遞到任何其他目標。
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.