users@glassfish.java.net

Re: glassfish infinitly repeats tries to insert to database

From: Paulo Cesar Silva Reis <casmeiron_at_gmail.com>
Date: Sun, 22 Mar 2009 07:58:31 -0300

Hi,

Ensure that you got the all yours sql calls inside a try catch(Sql
Exception) and threat it, 'cause otherwise EJB Container will retry the
process whether EJBException is being throw (whether the process was started
by jms).


On 3/21/09 11:15 AM, "glassfish_at_javadesktop.org" <glassfish_at_javadesktop.org>
wrote:

> Up...
> anyone?
>
> I forgot to post exception, maybe it helps...
>
> [#|2009-03-20T12:24:15.615+0300|WARNING|sun-appserver9.1|oracle.toplink.essent
> ials.session.file:/C:/Documents%20and%20Settings/Administrator/My%20Documents/
> NetBeansProjects/MyBlob/dist/gfdeploy/MyBlob-ejb_jar/-blobEntityPU.transaction
> |_ThreadID=24;_ThreadName=p: thread-pool-1; w:
> 12;_RequestID=bdd6330f-3898-4ca6-aaee-5582a6791023;|
> Local Exception Stack:
> Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b04-fcs
> (04/11/2008))): oracle.toplink.essentials.exceptions.DatabaseException
> Internal Exception: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data
> too long for column 'IMGDATA' at row 1
> Error Code: 0
> Call: INSERT INTO BLOBENTITY (ID, IMGDATA) VALUES (?, ?)
> bind => [102, [B_at_c4d5c9]
> Query: InsertObjectQuery(ejb.blobEntity[id=102])
> at
> oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseEx
> ception.java:311)
> at
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeDire
> ctNoSelect(DatabaseAccessor.java:654)
> at
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeNoSe
> lect(DatabaseAccessor.java:703)
> at
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecut
> eCall(DatabaseAccessor.java:492)
> at
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall
> (DatabaseAccessor.java:452)
> at
> oracle.toplink.essentials.internal.sessions.AbstractSession.executeCall(Abstra
> ctSession.java:690)
> at
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism
> .executeCall(DatasourceCallQueryMechanism.java:228)
> at
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism
> .executeCall(DatasourceCallQueryMechanism.java:214)
> at
> oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism
> .insertObject(DatasourceCallQueryMechanism.java:346)
> at
> oracle.toplink.essentials.internal.queryframework.StatementQueryMechanism.inse
> rtObject(StatementQueryMechanism.java:191)
> at
> oracle.toplink.essentials.internal.queryframework.StatementQueryMechanism.inse
> rtObject(StatementQueryMechanism.java:205)
> at
> oracle.toplink.essentials.internal.queryframework.DatabaseQueryMechanism.inser
> tObjectForWrite(DatabaseQueryMechanism.java:564)
> at
> oracle.toplink.essentials.queryframework.InsertObjectQuery.executeCommit(Inser
> tObjectQuery.java:89)
> at
> oracle.toplink.essentials.internal.queryframework.DatabaseQueryMechanism.perfo
> rmUserDefinedWrite(DatabaseQueryMechanism.java:750)
> at
> oracle.toplink.essentials.internal.queryframework.DatabaseQueryMechanism.perfo
> rmUserDefinedInsert(DatabaseQueryMechanism.java:714)
> at
> oracle.toplink.essentials.internal.queryframework.DatabaseQueryMechanism.inser
> tObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:602)
> at
> oracle.toplink.essentials.queryframework.WriteObjectQuery.executeCommitWithCha
> ngeSet(WriteObjectQuery.java:162)
> at
> oracle.toplink.essentials.internal.queryframework.DatabaseQueryMechanism.execu
> teWriteWithChangeSet(DatabaseQueryMechanism.java:390)
> at
> oracle.toplink.essentials.queryframework.WriteObjectQuery.executeDatabaseQuery
> (WriteObjectQuery.java:109)
> at
> oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.j
> ava:628)
> at
> oracle.toplink.essentials.queryframework.DatabaseQuery.executeInUnitOfWork(Dat
> abaseQuery.java:555)
> at
> oracle.toplink.essentials.queryframework.ObjectLevelModifyQuery.executeInUnitO
> fWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:138)
> at
> oracle.toplink.essentials.queryframework.ObjectLevelModifyQuery.executeInUnitO
> fWork(ObjectLevelModifyQuery.java:110)
> at
> oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuer
> y(UnitOfWorkImpl.java:2233)
> at
> oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(Abstr
> actSession.java:952)
> at
> oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(Abstr
> actSession.java:909)
> at
> oracle.toplink.essentials.internal.sessions.CommitManager.commitNewObjectsForC
> lassWithChangeSet(CommitManager.java:269)
> at
> oracle.toplink.essentials.internal.sessions.CommitManager.commitAllObjectsWith
> ChangeSet(CommitManager.java:190)
> at
> oracle.toplink.essentials.internal.sessions.AbstractSession.writeAllObjectsWit
> hChangeSet(AbstractSession.java:2657)
> at
> oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.commitToDatabase(Un
> itOfWorkImpl.java:1044)
> at
> oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitOfWork.com
> mitToDatabase(RepeatableWriteUnitOfWork.java:403)
> at
> oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.commitToDatabaseWit
> hChangeSet(UnitOfWorkImpl.java:1126)
> at
> oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.issueSQLbeforeCompl
> etion(UnitOfWorkImpl.java:2443)
> at
> oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitOfWork.iss
> ueSQLbeforeCompletion(RepeatableWriteUnitOfWork.java:202)
> at
> oracle.toplink.essentials.transaction.AbstractSynchronizationListener.beforeCo
> mpletion(AbstractSynchronizationListener.java:131)
> at
> oracle.toplink.essentials.transaction.JTASynchronizationListener.beforeComplet
> ion(JTASynchronizationListener.java:91)
> at
> com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java
> :99)
> at
> com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.j
> ava:158)
> at
> com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.jav
> a:2548)
> at
> com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:278)
> at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:249)
> at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:623)
> at
> com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:309)
> at
> com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransac
> tionManagerImpl.java:1004)
> at
> com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransact
> ionManagerOpt.java:397)
> at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3792)
> at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3571)
> at
> com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(Messa
> geBeanContainer.java:1226)
> at
> com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanCo
> ntainer.java:1197)
> at
> com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBea
> nListenerImpl.java:79)
> at
> com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(M
> essageEndpointInvocationHandler.java:139)
> at $Proxy41.afterDelivery(Unknown Source)
> at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324)
> at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
> at
> com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(Threa
> dPoolImpl.java:555)
> Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long
> for column 'IMGDATA' at row 1
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3513)
> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)
> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2046)
> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1964)
> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1949)
> at
> oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeDire
> ctNoSelect(DatabaseAccessor.java:647)
> ... 53 more
> |#]
> [Message sent by forum member 'argos' (argos)]
>
> http://forums.java.net/jive/thread.jspa?messageID=338291
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>