社区
Oracle 高级技术
帖子详情
java.lang.IllegalStateException: Blobs may not be accessed after serialization
shuijinglianyi
2006-03-17 09:55:56
我使用的是oracle9,数据类型为Blob,从客户端把数据传到服务器后,对数据进行处理时,报错,信息如下:java.lang.IllegalStateException: Blobs may not be accessed after serialization
不知道是什么原因,请高手指点,谢谢
...全文
849
1
打赏
收藏
java.lang.IllegalStateException: Blobs may not be accessed after serialization
我使用的是oracle9,数据类型为Blob,从客户端把数据传到服务器后,对数据进行处理时,报错,信息如下:java.lang.IllegalStateException: Blobs may not be accessed after serialization 不知道是什么原因,请高手指点,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cenlmmx
2006-03-17
打赏
举报
回复
看看源码,blob为空就会产生这个异常.
1 //$Id: SerializableBlob.java,v 1.1 2005/03/02 11:43:35 oneovthafew Exp $
2 package org.hibernate.lob;
3
4 import java.io.InputStream;
5 import java.io.OutputStream;
6 import java.io.Serializable;
7 import java.sql.Blob;
8 import java.sql.SQLException;
9
10 /**
11 * @author Gavin King
12 */
13 public class SerializableBlob implements Serializable, Blob {
14
15 private transient final Blob blob;
16
17 public SerializableBlob(Blob blob) {
18 this.blob = blob;
19 }
20
21 public Blob getWrappedBlob() {
22 if ( blob==null ) {
23 throw new IllegalStateException("Blobs may not be accessed after serialization");
24 }
25 else {
26 return blob;
27 }
28 }
29
30 public long length() throws SQLException {
31 return getWrappedBlob().length();
32 }
33
34 public byte[] getBytes(long pos, int length) throws SQLException {
35 return getWrappedBlob().getBytes(pos, length);
36 }
37
38 public InputStream getBinaryStream() throws SQLException {
39 return getWrappedBlob().getBinaryStream();
40 }
41
42 public long position(byte[] pattern, long start) throws SQLException {
43 return getWrappedBlob().position(pattern, start);
44 }
45
46 public long position(Blob pattern, long start) throws SQLException {
47 return getWrappedBlob().position(pattern, start);
48 }
49
50 public int setBytes(long pos, byte[] bytes) throws SQLException {
51 return getWrappedBlob().setBytes(pos, bytes);
52 }
53
54 public int setBytes(long pos, byte[] bytes, int offset, int len) throws SQLException {
55 return getWrappedBlob().setBytes(pos, bytes, offset, len);
56 }
57
58 public OutputStream setBinaryStream(long pos) throws SQLException {
59 return getWrappedBlob().setBinaryStream(pos);
60 }
61
62 public void truncate(long len) throws SQLException {
63 getWrappedBlob().truncate(len);
64 }
65
66 }
单元测试出现:
java
.
lan
g.
IllegalStateException
: Failed to load ApplicationContext
在运行单元测试的时候出现:
java
.
lan
g.
IllegalStateException
: Failed to load ApplicationContext
java
.
lan
g.
IllegalStateException
: Failed to load ApplicationContext 查看错误提示: Description: Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded
com.android.volley.VolleyError:
java
.
lan
g.
IllegalStateException
: cache is clo
sed
java
.
lan
g.
IllegalStateException
: cache is clo
sed
这个BUG折磨了一下,一步一步走,最后是因为缓存的问题 项目中之前使用的是volley的框架去请求网络,后面okhttp出来了,融入进去,把okhttpClient作为volley的核心 然后在里面设置了cache,出现这个bug的原因是这个cache目录是sd卡的,然后请求网络,由于没有sd卡...
tomcat启动报错:
java
.
lan
g.
IllegalStateException
: ContainerBase.addChild: start: org.apache.catalina.Lifec
tomcat启动报错:
java
.
lan
g.
IllegalStateException
: ContainerBase.addChild: start: org.apache.catalina.Lifec……
java
.
lan
g.
IllegalStateException
: Can not perform this action after onSaveInstanceState
一、问题报错 在使用dialogfragment弹窗时出现
java
.
lan
g.
IllegalStateException
: Can not perform this action after onSaveInstanceState错误。
java
.
lan
g.
IllegalStateException
: Can not perform this action after onSaveIns...
Tomcat部署项目时出错
java
.
lan
g.
IllegalStateException
: ContainerBase.addChild: start:org.apache.catalina.Life
Tomcat部署项目时出错
java
.
lan
g.
IllegalStateException
: ContainerBase.addChild: start:org.apache.catalina.LifecycleException: Failed to start component[StandardEngine[Catalina].StandardHost[localhost].StandardCo
Oracle 高级技术
3,498
社区成员
18,709
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章