[jboss-jira] [JBoss JIRA] Closed: (JBMESSAGING-434) Client receive the server side exception

Tim Fox (JIRA) jira-events at jboss.com
Thu Jul 27 15:05:11 EDT 2006


     [ http://jira.jboss.com/jira/browse/JBMESSAGING-434?page=all ]

Tim Fox closed JBMESSAGING-434.
-------------------------------

    Resolution: Done
      Assignee: Tim Fox  (was: Ovidiu Feodorov)

> Client receive the server side exception
> ----------------------------------------
>
>                 Key: JBMESSAGING-434
>                 URL: http://jira.jboss.com/jira/browse/JBMESSAGING-434
>             Project: JBoss Messaging
>          Issue Type: Bug
>          Components: JMS Facade
>    Affects Versions: 1.0.1.CR3
>            Reporter: Tomohisa Igarashi
>         Assigned To: Tim Fox
>            Priority: Minor
>             Fix For: 1.0.1.CR4
>
>
> Sender call MessageProducer.send() and Session.commit() When database is down,  sender receive server side exception.
> When I used PostgreSQL, sender received PSQLException.
> Because of sender doesn't have JDBC Driver, ClassNotFoundException was thrown at client side.
> That is not so serious, but not so good, I think.
> Server side exception should be processed at server side, and JMSException should be thrown at client side.
> stack trace is here:
> [ * * *  Sender  * * * ]
> java.lang.ClassNotFoundException: org.postgresql.util.PSQLException
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> 	at org.jboss.serial.io.JBossObjectInputStream.resolveClass(JBossObjectInputStream.java:141)
> 	at org.jboss.serial.io.JBossObjectInputStream$1.resolveClass(JBossObjectInputStream.java:127)
> 	at org.jboss.serial.classmetamodel.ClassMetamodelFactory.resolveClassByName(ClassMetamodelFactory.java:267)
> 	at org.jboss.serial.classmetamodel.ClassMetamodelFactory.getClassMetaData(ClassMetamodelFactory.java:346)
> 	at org.jboss.serial.classmetamodel.StreamingClass.readStream(StreamingClass.java:72)
> 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:380)
> 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
> 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:634)
> 	at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
> 	at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
> 	at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
> 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
> 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
> 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:634)
> 	at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
> 	at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
> 	at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
> 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
> 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
> 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:634)
> 	at org.jboss.serial.persister.RegularObjectPersister.readSlotWithFields(RegularObjectPersister.java:353)
> 	at org.jboss.serial.persister.RegularObjectPersister.defaultRead(RegularObjectPersister.java:273)
> 	at org.jboss.serial.persister.RegularObjectPersister.readData(RegularObjectPersister.java:241)
> 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.readObjectDescriptionFromStreaming(ObjectDescriptorFactory.java:411)
> 	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.objectFromDescription(ObjectDescriptorFactory.java:81)
> 	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectInput.readObject(DataContainer.java:634)
> 	at org.jboss.serial.io.JBossObjectInputStream.readObjectOverride(JBossObjectInputStream.java:163)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:333)
> 	at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
> 	at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
> 	at org.jboss.jms.server.remoting.JMSWireFormat.read(JMSWireFormat.java:458)
> 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedRead(MicroSocketClientInvoker.java:454)
> 	at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:328)
> 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:116)
> 	at org.jboss.remoting.Client.invoke(Client.java:610)
> 	at org.jboss.remoting.Client.invoke(Client.java:602)
> 	at org.jboss.jms.client.delegate.DelegateSupport.invoke(DelegateSupport.java:112)
> 	at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N4986868250254447300.invokeNext(ClientConnectionDelegate$sendTransaction_N4986868250254447300.java)
> 	at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:134)
> 	at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:117)
> 	at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N4986868250254447300.invokeNext(ClientConnectionDelegate$sendTransaction_N4986868250254447300.java)
> 	at org.jboss.jms.client.container.ExceptionInterceptor.invoke(ExceptionInterceptor.java:69)
> 	at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N4986868250254447300.invokeNext(ClientConnectionDelegate$sendTransaction_N4986868250254447300.java)
> 	at org.jboss.jms.client.container.ClientLogInterceptor.invoke(ClientLogInterceptor.java:107)
> 	at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N4986868250254447300.invokeNext(ClientConnectionDelegate$sendTransaction_N4986868250254447300.java)
> 	at org.jboss.jms.client.delegate.ClientConnectionDelegate.sendTransaction(ClientConnectionDelegate.java)
> 	at org.jboss.jms.tx.ResourceManager.commitLocal(ResourceManager.java:152)
> 	at org.jboss.jms.client.container.TransactionAspect.handleCommit(TransactionAspect.java:97)
> 	at org.jboss.aop.advice.org.jboss.jms.client.container.TransactionAspect7.invoke(TransactionAspect7.java)
> 	at org.jboss.jms.client.delegate.ClientSessionDelegate$commit_8461082169793485964.invokeNext(ClientSessionDelegate$commit_8461082169793485964.java)
> 	at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:134)
> 	at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:117)
> 	at org.jboss.jms.client.delegate.ClientSessionDelegate$commit_8461082169793485964.invokeNext(ClientSessionDelegate$commit_8461082169793485964.java)
> 	at org.jboss.jms.client.container.ExceptionInterceptor.invoke(ExceptionInterceptor.java:69)
> 	at org.jboss.jms.client.delegate.ClientSessionDelegate$commit_8461082169793485964.invokeNext(ClientSessionDelegate$commit_8461082169793485964.java)
> 	at org.jboss.jms.client.container.ClientLogInterceptor.invoke(ClientLogInterceptor.java:107)
> 	at org.jboss.jms.client.delegate.ClientSessionDelegate$commit_8461082169793485964.invokeNext(ClientSessionDelegate$commit_8461082169793485964.java)
> 	at org.jboss.jms.client.delegate.ClientSessionDelegate.commit(ClientSessionDelegate.java)
> 	at org.jboss.jms.client.JBossSession.commit(JBossSession.java:165)
> 	at TestSender.perform(TestSender.java:44)
> 	at TestSender.main(TestSender.java:12)
> [ * * *  JBoss Messaging  * * * ]
> 2006-07-14 22:10:33,382 ERROR [org.jboss.jms.server.endpoint.ServerConnectionEndpoint] Exception occured
> java.sql.BatchUpdateException: Batch entry 0 INSERT INTO JMS_MESSAGE_REFERENCE (CHANNELID, MESSAGEID, TRANSACTIONID, STATE, ORD, DELIVERYCOUNT, RELIABLE, LOADED) VALUES (4, 16640, NULL, C, 2, 0, Y, Y) was aborted.  Call getNextException to see the cause.
> 	at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2497)
> 	at org.postgresql.core.v3.QueryExecutorImpl$1.handleError(QueryExecutorImpl.java:399)
> 	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1298)
> 	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:347)
> 	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2559)
> 	at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:517)
> 	at org.jboss.messaging.core.plugin.JDBCPersistenceManager.handleBeforeCommit1PC(JDBCPersistenceManager.java:2702)
> 	at org.jboss.messaging.core.plugin.JDBCPersistenceManager$TransactionCallback.beforeCommit(JDBCPersistenceManager.java:4383)
> 	at org.jboss.messaging.core.tx.Transaction.commit(Transaction.java:171)
> 	at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendTransaction(ServerConnectionEndpoint.java:390)
> 	at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$sendTransaction$aop(ConnectionAdvised.java:99)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
> 	at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
> 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> 	at org.jboss.aop.Advisor.dynamicInvoke(Advisor.java:723)
> 	at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:101)
> 	at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:126)
> 	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:842)
> 	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:691)
> 	at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:443)
> 	at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:530)
> 	at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:253)
> 2006-07-14 22:11:12,629 WARN  [org.jboss.jms.server.connectionmanager.SimpleConnectionManager] A problem has been detected with the connection to remote client 5c4o2a-eht8at-epmkjvuk-1-epmkjwhd-3 It is possible the client has exited without closing its connection(s) or there is a network problem. All connection resources corresponding to that client process will now be removed.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list