Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

BLOB and ejb problem

0 views
Skip to first unread message

BlueHand

unread,
Oct 24, 2001, 9:12:27 PM10/24/01
to

when i use BAS4.5 and Oracle8i(8.1.6) to develop a Container managerd
EntityBean, i found strange exception as belows :
Throwing java.rmi.RemoteException for the container-started transaction for
method: public abstract java.util.Collection
com.alltobid.newsandbulletin.entity.home.BsnewstbHome.findAll() throws
javax.ejb.FinderException,java.rmi.RemoteException

java.lang.Error
at com.inprise.vbroker.orb.CDRInputStream.<init>(CDRInputStream.java:1378)
at
com.inprise.vbroker.orb.ORBSingleton.create_input_stream(ORBSingleton.java:1
1)
at com.inprise.ejb.Global.readObject(Global.java:237)
at com.inprise.ejb.cmp.JdbcAccessers$32.get(JdbcAccessers.java:534)
at com.inprise.ejb.cmp.JdbcManager.findWhatever(JdbcManager.java:991)
at com.inprise.ejb.cmp.JdbcManager.findCollection(JdbcManager.java:1078)
at
com.inprise.ejb.cmp.OneToManyManager.findCollection(OneToManyManager.java:24
1)
at
com.inprise.ejb.cmp.CompoundManager.findCollection(CompoundManager.java:664)
at com.inprise.ejb.cmp.FieldManager.findCollection(FieldManager.java:377)
at
com.inprise.ejb.cmp.DefaultManager.findCollection(DefaultManager.java:106)
at com.inprise.ejb.cmp.FinderMethod.invoke(FinderMethod.java:41)
at com.inprise.ejb.EJBContext.invoke(EJBContext.java:129)
at com.inprise.ejb.Dispatcher.doInvoke(Dispatcher.java:1055)
at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:572)
at com.inprise.ejb.Dispatcher.find(Dispatcher.java:485)
at com.inprise.ejb.EntityHome.doFind(EntityHome.java:189)
at com.inprise.ejb.EntityHome.find(EntityHome.java:201)
at com.inprise.ejb.EJBHome.invoke(EJBHome.java:168)
at
com.alltobid.newsandbulletin.entity.home.BsnewstbHomePOAInvokeHandler.findAl
l(BsnewstbHomePOAInvokeHandler.java:151)
at
com.alltobid.newsandbulletin.entity.home.BsnewstbHomePOAInvokeHandler.findAl
l(BsnewstbHomePOAInvokeHandler.java:216)
at
com.alltobid.newsandbulletin.entity.home.BsnewstbHomePOA._invoke(BsnewstbHom
ePOA.java:181)
at
com.alltobid.newsandbulletin.entity.home.BsnewstbHomePOA._invoke(BsnewstbHom
ePOA.java:47)
at com.inprise.vbroker.poa.POAImpl.invoke(POAImpl.java:2355)
at
com.inprise.vbroker.poa.ActivationRecord.invoke(ActivationRecord.java:104)
at
com.inprise.vbroker.poa.ServerInterceptorManager$ARWrapper.invoke(ServerInte
rceptorManager.java:64)
at
com.inprise.vbroker.GIOP.GiopProtocolAdapter.doRequest(GiopProtocolAdapter.j
ava:492)
at
com.inprise.vbroker.IIOP.ServerProtocolAdapter.doRequest(ServerProtocolAdapt
er.java:64)
at
com.inprise.vbroker.GIOP.GiopProtocolAdapter.dispatchMessage(GiopProtocolAda
pter.java:653)
at
com.inprise.vbroker.orb.TPDispatcherImpl$TPDispatcher.run(TPDispatcherImpl.j
ava:99)
at com.inprise.vbroker.orb.ThreadPool$PoolWorker.run(ThreadPool.java:76)

can Any body tell me why ?

here is the details about my program :

1
----------------------------------------------------------------
oracle data base definition:
create table BsNewsTb (
NewsId CHAR(8) not null,
NewsTitle CHAR(100) not null,
NewsBody BLOB not null,
NewsPubDate DATE not null,
NewsState CHAR(2),
NewsKeyWords CHAR(100),
NewsReaded NUMBER(8),
constraint PK_BSNEWSTB primary key (NewsId)
)

please pay attention to the field of "NewsBody"
----------------------------------------------------------------
2
----------------------------------------------------------------
my entity bean's home interface is defined as below

public interface BsnewstbHome extends EJBHome {
public Bsnewstb create(String newsid, String newstitle, BlobString
newsbody, Timestamp newspubdate, String newsstate, String newskeywords,
BigDecimal newsreaded) throws RemoteException, CreateException;
public Bsnewstb create(String newsid) throws RemoteException,
CreateException;
public Bsnewstb findByPrimaryKey(String primaryKey) throws
RemoteException, FinderException;
public Collection findAll() throws RemoteException, FinderException;
public Bsnewstb findByMaxNewsId() throws RemoteException,
FinderException;
public Collection findLatestOrderByDate(int num) throws RemoteException,
FinderException;
}

notes :
BlobString is used to present the oracle type : BLOB
like this:

public class BlobString implements Serializable{
protected String content;
public BlobString(String s){
content = s;
}
public String getContent(){
return content;
}
public String toString(){
return content;
}
}

--------------------------------------------------------------

important:
all these thing work very well together if only the 'news-body' is not long.

but, when the size of the 'news-body' is longer than about 3500~4000 bytes ,

then, when i call function findAll() (or other functions like that)

something goes wrong , the exception message is list at begin of this text

so i am really confused,

don't know if this is the error of oracle or BAS or my program

what i don't understand most is that why the sizeof the string is the matter
!?


help me, gurus !

or email to me : Blue...@163.com

Krishnan Subramanian

unread,
Oct 27, 2001, 5:06:41 PM10/27/01
to
Please do not cross post and multi post similar/same messages. These
violate newsgroup guidelines - and will not help you get an answer
faster.

The newsgroups have been organized into topics - for a reason - for
users to classify which area their problem belongs to. If you get the
feeling I'm being rude here - I'm not - just honest.

-krish

"BlueHand" <Blue...@163.com> wrote in message news:3bd766ff$1_2@dnews...

0 new messages