You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Sean Ahn (JIRA)" <ji...@apache.org> on 2009/02/11 05:17:00 UTC

[jira] Issue Comment Edited: (ODE-511) Hibernate DAO + OnEvent + Correlation error

    [ https://issues.apache.org/jira/browse/ODE-511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672386#action_12672386 ] 

seanahn edited comment on ODE-511 at 2/10/09 8:16 PM:
-------------------------------------------------------

Rafal,

thanks for helping me understanding the problem.

I added a test case under axis2-war. As you said, the real problem seems to be the channel not being cleaned up when an event handler throws a fault and later when the same correlation is being used for a receive.

r743081 | seanahn | 2009-02-10 12:08:37 -0800 (Tue, 10 Feb 2009) | 1 line
Changed paths:
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/BpelActivityTest.java
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/deploy.xml
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/test1.properties
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/test2.properties
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/test4-process.bpel
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/test4-process.wsdl
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/test4.wsdl
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/testRequest.soap
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/testRequest2.soap
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/testRequest3.soap

ODE-511, Hibernate DAO + OnEvent + Correlation error

Note that the test is commented out in the class file, not to break the build currently. I should yet to work out what the best way is. I prefer using the channel listeners since it's like a pattern that we use everywhere. Let me know if you can help me. 

In case you want to use the test case, I cut-and-pasted the procedure to run an axis2-war test using a different database other than the default embedded derby one.

1.Copy settings.rb.example that's checked in to the root directory of the ODE project root to your home directory's .buildr directory. Rename the copied one to settings.rb.
2.In the file, change the line that has REQUIRES:
    REQUIRES = [MYSQL]
3. Check the settings for local_hib_mysql. Change the jdbc url to what you want. The database should already exist. Buildr will drop any ODE aware tables and recreate them before running your test.
4. Go to the bottom of the file and comment out all lines except the hib-mysql one. Save the file.
5. Go to the ODE root directory and do clean:
    buildr clean
6.Under axis2-war directory, run your test using buildr:
	buildr test:MyUnitTest

Thanks

      was (Author: seanahn):
    Rafal,

thanks for helping me understanding the problem.

I added a test case under axis2-war. As you said, the real problem seems to be the channel not being cleaned up when an event handler throws a fault and later when the same correlation is being used for a receive.

r743081 | seanahn | 2009-02-10 12:08:37 -0800 (Tue, 10 Feb 2009) | 1 line
Changed paths:
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/java/org/apache/ode/axis2/BpelActivityTest.java
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/deploy.xml
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/test1.properties
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/test2.properties
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/test4-process.bpel
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/test4-process.wsdl
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/test4.wsdl
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/testRequest.soap
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/testRequest2.soap
   A /ode/branches/APACHE_ODE_1.X/axis2-war/src/test/resources/TestThrowOnEventNoCatch/testRequest3.soap

ODE-511, Hibernate DAO + OnEvent + Correlation error

Note that the test is commented out in the class file, not to break the build currently. I should yet to work out what the best way is. I prefer using the channel listeners since it's like a pattern that we use everywhere. Let me know if you can help me. 

In case you want to use the test case, I cut-and-pasted the procedure to run an axis2-war test using a different database other than the default embedded derby one.

1.Copy settings.rb.example that's checked in to the root directory of the ODE project root to your home directory's .buildr directory. Rename the copied one to settings.rb.
2.In the file, change the line that has REQUIRES:
    REQUIRES = [MYSQL]
3. Check the settings for local_hib_mysql. Change the jdbc url to what you want. The database should already exist. Buildr will drop any ODE aware tables and recreate them before running your test.
4. Go to the bottom of the file and comment out all lines except the hib-derby one. Save the file.
5. Go to the ODE root directory and do clean:
    buildr clean
6.Under axis2-war directory, run your test using buildr:
	buildr test:MyUnitTest

Thanks
  
> Hibernate DAO + OnEvent + Correlation error
> -------------------------------------------
>
>                 Key: ODE-511
>                 URL: https://issues.apache.org/jira/browse/ODE-511
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.3
>         Environment: axis2, jbi
>            Reporter: Rafal Rusin
>            Assignee: Sean Ahn
>             Fix For: 1.3
>
>         Attachments: axis.zip, error-hib.txt, event-handler-correlation.diff, jbi-sa.zip, OnEventCorrelation-soapui-project.xml, OnEventCorrelation.bpel, testRequest.soap
>
>
> I run ode1x with hibernate DAO, created a process with receive,
> onevent, receive, all correlated.
> I sent testRequest.soap from attachment twice.
> I had an error
> ERROR 23505: The statement was aborted because it would have caused a
> duplicate key value in a unique or primary key constraint or unique
> index identified by 'SQL090129030544101' defined on 'BPEL_SELECTORS'.
> Note that I didn't have this on OpenJPA DB.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.