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

Tomohisa Igarashi (JIRA) jira-events at jboss.com
Fri Jul 14 09:22:11 EDT 2006


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: Ovidiu Feodorov
            Priority: Minor


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