Java 读取图像数据时出错:SqlException:[jcc][10120][11936][4.11.77]无效操作:Lob已关闭。ERRORCODE=-4470,SQLSTATE=null

Java 读取图像数据时出错:SqlException:[jcc][10120][11936][4.11.77]无效操作:Lob已关闭。ERRORCODE=-4470,SQLSTATE=null,java,jakarta-ee,db2,wicket,ibm-was,Java,Jakarta Ee,Db2,Wicket,Ibm Was,我正在开发应用程序,在一个页面中,我从数据库中获取了图像,但我无法获取前端的图像,但页面正在加载并显示其他详细信息。 我正在为此应用程序使用was liberty配置文件服务器。 关于这个问题,你能给我提个建议吗。 请在下面查找错误 ERROR CustomRequestCycle - Unexpected exception org.apache.wicket.WicketRuntimeException: Error while reading image data at org.apac

我正在开发应用程序,在一个页面中,我从数据库中获取了图像,但我无法获取前端的图像,但页面正在加载并显示其他详细信息。 我正在为此应用程序使用was liberty配置文件服务器。 关于这个问题,你能给我提个建议吗。 请在下面查找错误

ERROR CustomRequestCycle - Unexpected exception
 org.apache.wicket.WicketRuntimeException: Error while reading image data
at org.apache.wicket.markup.html.image.resource.BlobImageResource.getImageData   (BlobImageResource.java:102)
at org.apache.wicket.markup.html.image.resource.DynamicImageResource$1.getData(DynamicImageResource.java:194)



Caused by: com.ibm.db2.jcc.am.SqlException: [jcc][10120][11936][4.11.77] Invalid operation:     

Lob     is closed. ERRORCODE=-4470, SQLSTATE=null
at com.ibm.db2.jcc.am.gd.a(gd.java:660)
at com.ibm.db2.jcc.am.gd.a(gd.java:60)
at com.ibm.db2.jcc.am.gd.a(gd.java:94)
at com.ibm.db2.jcc.am.ie.c(ie.java:67)
at com.ibm.db2.jcc.am.je.v(je.java:203)
at com.ibm.db2.jcc.am.je.getBinaryStream(je.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.engine.jdbc.SerializableBlobProxy.invoke(SerializableBlobProxy.java:74)
at $Proxy68.getBinaryStream(Unknown Source)
at org.apache.wicket.markup.html.image.resource.BlobImageResource.getImageData(BlobImageResource.java:93)
... 55 more
根据,可以按如下方式添加此属性:

<library id="DB2JCC4Lib">
    <fileset dir="${wlp.install.dir}/lib" 
        includes="db2jcc.jar db2jcc_license_cisuz.jar db2jcc_license_cu.jar"/>
</library>
<dataSource id="db2_SUD" jndiName="jdbc/U_SUD">
    <jdbcDriver libraryRef="DB2JCC4Lib"/>
    <properties.db2.jcc databaseName="DB2TEST" password="YYYYY" portNumber="20025"
        serverName="xyxyxyxxyx" user="XXXXX" progressiveStreaming="2"/>
</dataSource>


可能与Hi@MagicWand重复。感谢您如此深入地回答我的问题。在发布问题之前,我已经看到了该链接。我的服务器配置如下:。我应该在server.xml中的何处添加“progressivesteaming=2”?您好@Magic Wand,非常感谢您的帮助。我还添加了一些配置元素,如“driverType=“4”fullyMaterializeLobData=“true”fullyMaterializeInputStreams=“true”progressiveStreaming=“2”ProgressiveLocators=“2”。现在,我在浏览器中部分获取图像。在我的应用程序中,有多个选项卡,单击这些选项卡时会加载不同的图像。但有时,如果我们转到不同的选项卡,则无法加载图像。无论如何,exsting设置足以解决一些图像问题。非常感谢您的帮助。