1 2 Previous Next 18 Replies Latest reply on Mar 27, 2007 3:08 PM by starksm64

    org.jboss.test.cts.test.MDBUnitTestCase

    starksm64

      The MDBUnitTestCase is failing because of this client side error:

      2631 ERROR [ExceptionInterceptor] Caught throwable
      java.lang.IllegalStateException: There is already a delivery set for auto ack
       at org.jboss.jms.client.state.SessionState.setAutoAckInfo(SessionState.java:372)
       at org.jboss.jms.client.container.SessionAspect.handlePreDeliver(SessionAspect.java:257)
       at org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect_z_handlePreDeliver_195406657.invoke(SessionAspect_z_handlePreDeliver_195406657.java)
       at org.jboss.jms.client.delegate.ClientSessionDelegate$preDeliver_N1401156438058258070.invokeNext(ClientSessionDelegate$preDeliver_N1401156438058258070.java)
       at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:171)
       at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:106)
       at org.jboss.jms.client.delegate.ClientSessionDelegate$preDeliver_N1401156438058258070.invokeNext(ClientSessionDelegate$preDeliver_N1401156438058258070.java)
       at org.jboss.jms.client.container.ExceptionInterceptor.invoke(ExceptionInterceptor.java:71)
       at org.jboss.jms.client.delegate.ClientSessionDelegate$preDeliver_N1401156438058258070.invokeNext(ClientSessionDelegate$preDeliver_N1401156438058258070.java)
       at org.jboss.jms.client.container.ClientLogInterceptor.invoke(ClientLogInterceptor.java:107)
       at org.jboss.jms.client.delegate.ClientSessionDelegate$preDeliver_N1401156438058258070.invokeNext(ClientSessionDelegate$preDeliver_N1401156438058258070.java)
       at org.jboss.jms.client.delegate.ClientSessionDelegate.preDeliver(ClientSessionDelegate.java)
       at org.jboss.jms.client.remoting.MessageCallbackHandler.receive(MessageCallbackHandler.java:442)
       at org.jboss.jms.client.container.ConsumerAspect.handleReceive(ConsumerAspect.java:150)
       at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect_z_handleReceive_195406657.invoke(ConsumerAspect_z_handleReceive_195406657.java)
       at org.jboss.jms.client.delegate.ClientConsumerDelegate$receive_N8299950230150603585.invokeNext(ClientConsumerDelegate$receive_N8299950230150603585.java)
       at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:171)
       at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:106)
       at org.jboss.jms.client.delegate.ClientConsumerDelegate$receive_N8299950230150603585.invokeNext(ClientConsumerDelegate$receive_N8299950230150603585.java)
       at org.jboss.jms.client.container.ExceptionInterceptor.invoke(ExceptionInterceptor.java:71)
       at org.jboss.jms.client.delegate.ClientConsumerDelegate$receive_N8299950230150603585.invokeNext(ClientConsumerDelegate$receive_N8299950230150603585.java)
       at org.jboss.jms.client.container.ClientLogInterceptor.invoke(ClientLogInterceptor.java:107)
       at org.jboss.jms.client.delegate.ClientConsumerDelegate$receive_N8299950230150603585.invokeNext(ClientConsumerDelegate$receive_N8299950230150603585.java)
       at org.jboss.jms.client.delegate.ClientConsumerDelegate.receive(ClientConsumerDelegate.java)
       at org.jboss.jms.client.JBossMessageConsumer.receive(JBossMessageConsumer.java:86)
       at org.jboss.test.cts.test.MDBInvoker.run(MDBInvoker.java:70)
      


      I'm using the 1.2.0.GA with aop version compatibility locally hacked to be 2.0.0.alpha3. What is the source of this error? The test uses basic jms apis.


        • 1. Re: org.jboss.test.cts.test.MDBUnitTestCase
          clebert.suconic

          When I update aop and ran my testsuite (not the integration one) I got series of problems. It looks like some aspects were invoked twice for some reason. I will have to investigate first. (This one seems similar)

          • 2. Re: org.jboss.test.cts.test.MDBUnitTestCase
            starksm64

            Ok, then we will need to create a separate jbm version if the aspects that are need tor aop2.0.x cannot be the same as aop1.5.x.

            • 3. Re: org.jboss.test.cts.test.MDBUnitTestCase
              clebert.suconic

              Let me investigate this first...
              I suspect of a bug on AOP (but it's too early to say anything).

              • 4. Re: org.jboss.test.cts.test.MDBUnitTestCase
                clebert.suconic

                There are incompatibilities between woven classes with AOP 2 and AOP 1.5..
                If I cleared my output classes and rebuilt everything... it worked.

                So we would need or to fix the compatibility issue with AOP, or rebuilt messaging using the new weave format. (what would cause incompatibility for users using the actual release).

                • 5. Re: org.jboss.test.cts.test.MDBUnitTestCase
                  starksm64

                  Can you create a 1.2.0.GA-aop2.0.0.beta3 release with the recompiled code and put it into the repository for testing then. There are too many jms issues currently and we need to get past these basic failures to look at mdb and other integration issues.

                  • 6. Re: org.jboss.test.cts.test.MDBUnitTestCase
                    clebert.suconic

                    I'm planning doing this as part of the release (that should be out till friday).

                    Unless this is a blocker for you. (Then I would do this before the release).

                    • 7. Re: org.jboss.test.cts.test.MDBUnitTestCase
                      starksm64

                      I need a build I can use by Wed. Its fine if I build it from a branch/trunk. I just need to be looking at jms issues with a decent release on Wed.

                      • 8. Re: org.jboss.test.cts.test.MDBUnitTestCase
                        clebert.suconic

                        I just created 1.2.0.SP.snapshot.aop2beta, with dependency on aop2beta3.

                        I will test the build as soon the file reach the repository.

                        • 9. Re: org.jboss.test.cts.test.MDBUnitTestCase
                          starksm64

                          Thanks.

                          • 10. Re: org.jboss.test.cts.test.MDBUnitTestCase
                            clebert.suconic

                            Scott, did the snapshot build fix your problems?

                            (At least I could get a full build on head)

                            • 11. Re: org.jboss.test.cts.test.MDBUnitTestCase
                              starksm64

                              Its at least running, but there are many errors. 3/10 tests in the testcase are passing.

                              • 12. Re: org.jboss.test.cts.test.MDBUnitTestCase
                                starksm64

                                There are also still basic client side errors like the following:

                                java.lang.ArrayIndexOutOfBoundsException: 0
                                 at org.jboss.jms.client.container.SessionAspect.handleCreateTextMessage(SessionAspect.java:689)
                                 at org.jboss.jms.client.delegate.JoinPoint_createTextMessage2320081262968295190_9.invokeNext(JoinPoint_createTextMessage2320081262968295190_9.java)
                                 at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:171)
                                 at org.jboss.jms.client.delegate.JoinPoint_createTextMessage2320081262968295190_9.invokeNext(JoinPoint_createTextMessage2320081262968295190_9.java)
                                 at org.jboss.jms.client.container.ExceptionInterceptor.invoke(ExceptionInterceptor.java:71)
                                 at org.jboss.jms.client.delegate.JoinPoint_createTextMessage2320081262968295190_9.invokeNext(JoinPoint_createTextMessage2320081262968295190_9.java)
                                 at org.jboss.jms.client.container.ClientLogInterceptor.invoke(ClientLogInterceptor.java:107)
                                 at org.jboss.jms.client.delegate.JoinPoint_createTextMessage2320081262968295190_9.invokeNext(JoinPoint_createTextMessage2320081262968295190_9.java)
                                 at org.jboss.jms.client.delegate.JoinPoint_createTextMessage2320081262968295190_9.invokeJoinpoint(JoinPoint_createTextMessage2320081262968295190_9.java)
                                 at org.jboss.jms.client.delegate.ClientSessionDelegate$ClientSessionDelegateAdvisor.createTextMessage2320081262968295190(ClientSessionDelegate$ClientSessionDelegateAdvisor.java)
                                 at org.jboss.jms.client.delegate.ClientSessionDelegate$ClientSessionDelegateInstanceAdvisor.createTextMessage2320081262968295190(ClientSessionDelegate$ClientSessionDelegateInstanceAdvisor.java)
                                 at org.jboss.jms.client.delegate.ClientSessionDelegate.createTextMessage(ClientSessionDelegate.java)
                                 at org.jboss.jms.client.JBossSession.createTextMessage(JBossSession.java:144)
                                 at org.jboss.test.mdb.test.MDBUnitTestCase.testQueue(MDBUnitTestCase.java:136)
                                 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 junit.framework.TestCase.runTest(TestCase.java:154)
                                 at junit.framework.TestCase.runBare(TestCase.java:127)
                                 at junit.framework.TestResult$1.protect(TestResult.java:106)
                                 at junit.framework.TestResult.runProtected(TestResult.java:124)
                                 at junit.framework.TestResult.run(TestResult.java:109)
                                 at junit.framework.TestCase.run(TestCase.java:118)
                                 at junit.framework.TestSuite.runTest(TestSuite.java:208)
                                 at junit.framework.TestSuite.run(TestSuite.java:203)
                                 at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
                                 at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
                                 at junit.framework.TestResult.runProtected(TestResult.java:124)
                                 at junit.extensions.TestSetup.run(TestSetup.java:23)
                                



                                • 13. Re: org.jboss.test.cts.test.MDBUnitTestCase
                                  sergeypk

                                  I investigated it today with Clebert's help. This aspect throws the exception:

                                  public Object handleCreateTextMessage(Invocation invocation) throws Throwable
                                   {
                                   JBossTextMessage jbm = new JBossTextMessage(0);
                                  
                                   MethodInvocation mi = (MethodInvocation)invocation;
                                  
                                   if (mi.getArguments() != null)
                                   {
                                   jbm.setText((String)mi.getArguments()[0]);
                                   }
                                  
                                   return new TextMessageProxy(jbm);
                                   }
                                  


                                  Apparently mi.getArguments() does not return null anymore but a zero-element array. I posted a question on the AOP design forum: http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4031174#4031174

                                  Sergey

                                  • 14. Re: org.jboss.test.cts.test.MDBUnitTestCase
                                    clebert.suconic

                                    I have changed SessionAspect to also validate the size of arguments.

                                    1 2 Previous Next