[JBoss JIRA] Created: (JBESB-1897) ClassCastException while Drools is getting shadow object
by Martin Vecera (JIRA)
ClassCastException while Drools is getting shadow object
--------------------------------------------------------
Key: JBESB-1897
URL: https://jira.jboss.org/jira/browse/JBESB-1897
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Process flow
Affects Versions: 4.3
Environment: Drools 4.0.2 and 4.0.7 (tried with both), mvel 1.2.24 and 1.3.1 (tried with both), QS bpm_orchestration4
Reporter: Martin Vecera
Reproducible 100%
= Basic plot =
bpm_orchestration4 has the following message flow (it is little bit simplified but covers important parts): starter service -> jBPM process that calls -> intake service with Drools action -> back to jBPM process -> task assigned to an user -> jBPM process calls -> discount service with another Drools action (*)
(*) Shows the part where problem arises (inside Drools action):
2008-08-04 08:42:16,210 WARN [org.jboss.soa.esb.listeners.message.ActionProcessingPipeline] Unexpected exception caught while processing the action pipeline: header: [ To: InVMEpr [ PortReferenc
org.drools.RuntimeDroolsException: Error creating shadow fact for object: 2, Wed Nov 15 19:45:28 GMT+01:00 2006, 0, 59.97, 64.92, 4.95,
at org.drools.reteoo.Rete$ClassObjectTypeConf.getShadow(Rete.java:636)
at org.drools.reteoo.Rete.assertObject(Rete.java:164)
at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192)
at org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:71)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:911)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:883)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:684)
at org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter.route(JBossRulesRouter.java:169)
at org.jboss.soa.esb.actions.BusinessRulesProcessor.process(BusinessRulesProcessor.java:58)
at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:316)
at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:530)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassCastException: org.jboss.soa.esb.store.OrderHeader
at org.jboss.soa.esb.store.OrderHeaderShadowProxy.setShadowedObject(Unknown Source)
at org.drools.reteoo.Rete$ClassObjectTypeConf.getShadow(Rete.java:634)
... 13 more
The same exception is thrown for both Drools/mvel versions.
You have to execute the QS at least TWICE to get the exception (for the first time it works well)!
Steps to reproduce:
1. get ESB 4.3.0GA binaries, start it
2. execute samples/quickstarts/bpm_orchestration4 (ant deploy, deployProcess, startProcess)
3. click "Save and Close" on every task that appears in jBPM console
4. the first time the QS finishes without problems so run ant startProcess once more
5. click "Save and Close" on the first task in jBPM console, you won't get the second task assigned since the exception is thrown
This QS (from version 4.3.0.GA) works fine with ESB server from trunk (08/04/2008).
When I skipped the return from the intake service to jBPM process and put static router from intake service directly to discount service (skipping appropriate process nodes as well), the problem didn't show up.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 6 months
[JBoss JIRA] Created: (JBESB-1571) Fix issues with junit tests running against external binary
by Tom Cunningham (JIRA)
Fix issues with junit tests running against external binary
-----------------------------------------------------------
Key: JBESB-1571
URL: http://jira.jboss.com/jira/browse/JBESB-1571
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Testing
Affects Versions: 4.2.1 CP1
Reporter: Tom Cunningham
When trying to run the qa/junit tests against an external binary (SOA-P or JBoss AS+ESB) there are issues :
[java] execute:
[java] [mkdir] Created dir: /Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/build/junit/report
[java] [junit] 00:13:04,409 INFO [main][DeploymentArchive] Deployment archive '/Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/build/lib/LogicalEPRUnitTest.esb' created.
[java] [junit] Running org.jboss.soa.esb.epr.LogicalEPRUnitTest
[java] [junit] Testsuite: org.jboss.soa.esb.epr.LogicalEPRUnitTest
[java] [junit] Found log4j.xml: file:/Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/log4j.xml
[java] [junit] 00:13:04,510 DEBUG [main][LogicalEPRUnitTest] ==== setUp org.jboss.soa.esb.epr.LogicalEPRUnitTest ====
[java] [junit] 00:13:04,510 DEBUG [main][LogicalEPRUnitTest] JBossTestServices.setUp()
[java] [junit] 00:13:04,559 DEBUG [main][LogicalEPRUnitTest] initialContext.getEnvironment()={jnp.parsedName=, java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.provider.url=localhost:1099, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
[java] [junit] 00:13:04,559 INFO [main][LogicalEPRUnitTest] jbosstest.beancount: ${jbosstest.beancount}
[java] [junit] 00:13:04,563 INFO [main][LogicalEPRUnitTest] jbosstest.iterationcount: ${jbosstest.iterationcount}
[java] [junit] 00:13:04,563 INFO [main][LogicalEPRUnitTest] jbosstest.threadcount: ${jbosstest.threadcount}
[java] [junit] 00:13:04,563 INFO [main][LogicalEPRUnitTest] jbosstest.nodeploy: null
[java] [junit] 00:13:04,564 INFO [main][LogicalEPRUnitTest] jbosstest.jndiurl: localhost:1099
[java] [junit] 00:13:04,564 INFO [main][LogicalEPRUnitTest] jbosstest.jndifactory: org.jnp.interfaces.NamingContextFactory
[java] [junit] 00:13:04,564 DEBUG [main][LogicalEPRUnitTest] LogicalEPRUnitTest.esb is not a valid URL, no protocol: LogicalEPRUnitTest.esb
[java] [junit] 00:13:04,564 DEBUG [main][LogicalEPRUnitTest] Testing file: /Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/build/lib/LogicalEPRUnitTest.esb
[java] [junit] 00:13:04,564 DEBUG [main][LogicalEPRUnitTest] /Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/build/lib/LogicalEPRUnitTest.esb is a valid file
[java] [junit] 00:13:04,564 DEBUG [main][LogicalEPRUnitTest] Deploying LogicalEPRUnitTest.esb, url=file:/Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/build/lib/LogicalEPRUnitTest.esb
[java] [junit] 00:13:04,763 DEBUG [main][LogicalEPRUnitTest] Invoking jboss.system:service=MainDeployer method=redeploy
[java] [junit] 00:13:04,763 DEBUG [main][LogicalEPRUnitTest] args=[file:/Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/build/lib/LogicalEPRUnitTest.esb]
[java] [junit] 00:13:05,569 DEBUG [main][LogicalEPRUnitTest] deployed package: LogicalEPRUnitTest.esb
[java] [junit] 00:13:05,746 DEBUG [main][LifecycleResource] Creating resource using factory: org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPoolContainer$JmsConnectionPoolFactory@78743b with identity ID-DEFAULT
[java] [junit] 00:13:05,753 DEBUG [main][LifecycleResource] Creating resource using factory: org.jboss.soa.esb.helpers.NamingContextPool$NamingContextPoolFactory@6c14e7 with identity ID-DEFAULT
[java] [junit] 00:13:08,163 DEBUG [main][RegistryFactory] Going to load org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl
[java] [junit] 00:13:08,179 ERROR [main][JAXRRegistryImpl] Could not set up a connection to the Registry. Invalid queryManagerURL: jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire
[java] [junit] javax.xml.registry.InvalidRequestException: Invalid queryManagerURL: jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire
[java] [junit] at org.apache.ws.scout.registry.ConnectionFactoryImpl.createConnection(ConnectionFactoryImpl.java:77)
[java] [junit] at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.getConnection(JAXRRegistryImpl.java:121)
[java] [junit] at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findEPRs(JAXRRegistryImpl.java:336)
[java] [junit] at org.jboss.soa.esb.listeners.RegistryUtil.getEprs(RegistryUtil.java:226)
[java] [junit] at org.jboss.soa.esb.client.ServiceInvoker.loadServiceClusterInfo(ServiceInvoker.java:411)
[java] [junit] at org.jboss.soa.esb.client.ServiceInvoker.<init>(ServiceInvoker.java:146)
[java] [junit] at org.jboss.soa.esb.addressing.eprs.LogicalEPR.getServiceInvoker(LogicalEPR.java:98)
[java] [junit] at org.jboss.soa.esb.epr.LogicalEPRUnitTest.test_logical_extension(LogicalEPRUnitTest.java:79)
[java] [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] [junit] at java.lang.reflect.Method.invoke(Method.java:585)
[java] [junit] at junit.framework.TestCase.runTest(TestCase.java:164)
[java] [junit] at junit.framework.TestCase.runBare(TestCase.java:130)
[java] [junit] at junit.framework.TestResult$1.protect(TestResult.java:110)
[java] [junit] at junit.framework.TestResult.runProtected(TestResult.java:128)
[java] [junit] at junit.framework.TestResult.run(TestResult.java:113)
[java] [junit] at junit.framework.TestCase.run(TestCase.java:120)
[java] [junit] at junit.framework.TestSuite.runTest(TestSuite.java:228)
[java] [junit] at junit.framework.TestSuite.run(TestSuite.java:223)
[java] [junit] at junit.framework.TestSuite.runTest(TestSuite.java:228)
[java] [junit] at junit.framework.TestSuite.run(TestSuite.java:223)
[java] [junit] at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[java] [junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
[java] [junit] at junit.framework.TestResult.runProtected(TestResult.java:128)
[java] [junit] at junit.extensions.TestSetup.run(TestSetup.java:27)
[java] [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:421)
[java] [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:912)
[java] [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:766)
[java] [junit] Caused by: java.net.MalformedURLException: unknown protocol: jnp
[java] [junit] at java.net.URL.<init>(URL.java:574)
[java] [junit] at java.net.URL.<init>(URL.java:464)
[java] [junit] at java.net.URL.<init>(URL.java:413)
[java] [junit] at org.apache.ws.scout.registry.ConnectionFactoryImpl.createConnection(ConnectionFactoryImpl.java:74)
[java] [junit] ... 28 more
[java] [junit] 00:13:08,182 ERROR [main][JAXRRegistryImpl] Could not set up a connection to the Registry. Invalid queryManagerURL: jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire
[java] [junit] javax.xml.registry.InvalidRequestException: Invalid queryManagerURL: jnp://localhost:1099/InquiryService?org.apache.juddi.registry.rmi.Inquiry#inquire
[java] [junit] at org.apache.ws.scout.registry.ConnectionFactoryImpl.createConnection(ConnectionFactoryImpl.java:77)
[java] [junit] at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.getConnection(JAXRRegistryImpl.java:121)
[java] [junit] at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findService(JAXRRegistryImpl.java:477)
[java] [junit] at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findEPRs(JAXRRegistryImpl.java:338)
[java] [junit] at org.jboss.soa.esb.listeners.RegistryUtil.getEprs(RegistryUtil.java:226)
[java] [junit] at org.jboss.soa.esb.client.ServiceInvoker.loadServiceClusterInfo(ServiceInvoker.java:411)
[java] [junit] at org.jboss.soa.esb.client.ServiceInvoker.<init>(ServiceInvoker.java:146)
[java] [junit] at org.jboss.soa.esb.addressing.eprs.LogicalEPR.getServiceInvoker(LogicalEPR.java:98)
[java] [junit] at org.jboss.soa.esb.epr.LogicalEPRUnitTest.test_logical_extension(LogicalEPRUnitTest.java:79)
[java] [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] [junit] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] [junit] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] [junit] at java.lang.reflect.Method.invoke(Method.java:585)
[java] [junit] at junit.framework.TestCase.runTest(TestCase.java:164)
[java] [junit] at junit.framework.TestCase.runBare(TestCase.java:130)
[java] [junit] at junit.framework.TestResult$1.protect(TestResult.java:110)
[java] [junit] at junit.framework.TestResult.runProtected(TestResult.java:128)
[java] [junit] at junit.framework.TestResult.run(TestResult.java:113)
[java] [junit] at junit.framework.TestCase.run(TestCase.java:120)
[java] [junit] at junit.framework.TestSuite.runTest(TestSuite.java:228)
[java] [junit] at junit.framework.TestSuite.run(TestSuite.java:223)
[java] [junit] at junit.framework.TestSuite.runTest(TestSuite.java:228)
[java] [junit] at junit.framework.TestSuite.run(TestSuite.java:223)
[java] [junit] at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
[java] [junit] at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
[java] [junit] at junit.framework.TestResult.runProtected(TestResult.java:128)
[java] [junit] at junit.extensions.TestSetup.run(TestSetup.java:27)
[java] [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:421)
[java] [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:912)
[java] [junit] at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:766)
[java] [junit] Caused by: java.net.MalformedURLException: unknown protocol: jnp
[java] [junit] at java.net.URL.<init>(URL.java:574)
[java] [junit] at java.net.URL.<init>(URL.java:464)
[java] [junit] at java.net.URL.<init>(URL.java:413)
[java] [junit] at org.apache.ws.scout.registry.ConnectionFactoryImpl.createConnection(ConnectionFactoryImpl.java:74)
[java] [junit] ... 29 more
[java] [junit] 00:13:08,198 DEBUG [main][LogicalEPRUnitTest] LogicalEPRUnitTest.esb is not a valid URL, no protocol: LogicalEPRUnitTest.esb
[java] [junit] 00:13:08,198 DEBUG [main][LogicalEPRUnitTest] Testing file: /Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/build/lib/LogicalEPRUnitTest.esb
[java] [junit] 00:13:08,198 DEBUG [main][LogicalEPRUnitTest] /Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/build/lib/LogicalEPRUnitTest.esb is a valid file
[java] [junit] 00:13:08,199 DEBUG [main][LogicalEPRUnitTest] Undeploying LogicalEPRUnitTest.esb, url=file:/Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/build/lib/LogicalEPRUnitTest.esb
[java] [junit] 00:13:08,199 DEBUG [main][LogicalEPRUnitTest] Invoking jboss.system:service=MainDeployer method=undeploy
[java] [junit] 00:13:08,199 DEBUG [main][LogicalEPRUnitTest] args=[file:/Users/tcunning/src/esb/JBESB_4_2_1_GA_CP/qa/build/lib/LogicalEPRUnitTest.esb]
[java] [junit] 00:13:08,508 DEBUG [main][LogicalEPRUnitTest] undeployed package: LogicalEPRUnitTest.esb
[java] [junit] 00:13:08,508 DEBUG [main][LogicalEPRUnitTest] JBossTestServices.tearDown()
[java] [junit] Tests run: 3, Failures: 0, Errors: 1, Time elapsed: 4.083 sec
[java] [junit] Tests run: 3, Failures: 0, Errors: 1, Time elapsed: 4.083 sec
--
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
14 years, 6 months
[JBoss JIRA] Created: (JBESB-1313) There is no way to say, what edge to take, when asynchrously executed esb service fails (service action throws an exception)
by Pavel Kadlec (JIRA)
There is no way to say, what edge to take, when asynchrously executed esb service fails (service action throws an exception)
----------------------------------------------------------------------------------------------------------------------------
Key: JBESB-1313
URL: http://jira.jboss.com/jira/browse/JBESB-1313
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Process flow
Affects Versions: 4.2.1
Reporter: Pavel Kadlec
Imagine process graph.... I would like to have two edges going from the service node. One edge would mean that the work was done (service did its work correctly, without problems). The other edge would mean, that service action processing pipeline did not finish its work correctly (some action threw ActionProcessingPipeline exception). Can I model this behaviour?
If I take a look at EsbActionHandler.java, it seems to me, that jBPM can not be notified, when esb service throws exception, because message field "FaultTo" is never set. If I call esb service asynchronously, jBPM waits for signalCommand with name of the edge to take. But if esb service fails, esb service does not call signalCommand. ActionProcessingPipeline is terminated, I do not have opportunity to send signalCommand with the name of the fault edge...
--
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
14 years, 6 months