[jBPM Users] - Re: workflow design about wait states
by mmusaji
Okay so I took your advice and went back to basics. What I'm finding is if i have a node after the join (in my my case a custom node), the Unit test fails to find the execution in this. With a join going straight to an end it is ok.
My workflow:
| <?xml version="1.0" encoding="UTF-8"?>
|
| <process name="process" xmlns="http://jbpm.org/4.0/jpdl">
| <start>
| <transition to="custom one"/>
| </start>
|
| <custom class="org.workflow.test.forum.ProcessTest$CustomOne" name="custom one">
| <transition to="fork"/>
| </custom>
|
| <fork name="fork">
| <transition name="custom two" to="custom two"/>
| <transition name="custom three" to="custom three"/>
| </fork>
|
| <custom continue="async" name="custom two" class="org.workflow.test.forum.ProcessTest$CustomTwo">
| <transition to="join"/>
| </custom>
|
| <custom continue="async" name="custom three" class="org.workflow.test.forum.ProcessTest$CustomThree">
| <transition to="join"/>
| </custom>
|
| <join name="join">
| <transition name="custom four" to="custom four"/>
| </join>
|
| <custom name="custom four" class="org.workflow.test.forum.ProcessTest$CustomFour">
| <transition to="end"/>
| </custom>
|
| <task name="end">
| <transition name="to complete" to="end process"/>
| </task>
|
| <end name="end process" state="complete"/>
|
| </process>
|
I can't figure out how to test the custom four node. Without this things are working as expected but to me it seems like my unit test stops at the join and doesn't signal the workflow to carry on?
| package org.workflow.test.forum;
|
| import java.util.List;
| import java.util.Map;
|
| import org.jbpm.api.Execution;
| import org.jbpm.api.ProcessInstance;
| import org.jbpm.api.activity.ActivityExecution;
| import org.jbpm.api.activity.ExternalActivityBehaviour;
| import org.jbpm.api.job.Job;
| import org.jbpm.test.JbpmTestCase;
|
| public class ProcessTest extends JbpmTestCase {
| String deploymentDbid;
|
| protected void setUp() throws Exception {
| super.setUp();
| deploymentDbid = repositoryService.createDeployment()
| .addResourceFromClasspath("org/workflow/test/forum/process.jpdl.xml")
| .deploy();
| }
|
| protected void tearDown() throws Exception {
| repositoryService.deleteDeploymentCascade(deploymentDbid);
| super.tearDown();
| }
|
| public void testProcess() throws Exception {
| ProcessInstance processInstance = executionService.startProcessInstanceByKey("process");
| Execution executionInOne = processInstance.findActiveExecutionIn("custom one");
| assertNotNull(executionInOne);
| processInstance = executionService.signalExecutionById(executionInOne.getId());
|
| String processInstanceId = processInstance.getId();
|
| List<Job> jobs = managementService.createJobQuery()
| .processInstanceId(processInstanceId)
| .list();
|
| assertEquals(2, jobs.size());
|
| Job job = jobs.get(0);
|
| managementService.executeJob(job.getId());
|
| job = jobs.get(1);
|
| managementService.executeJob(job.getId());
|
| Execution executionInFour = processInstance.findActiveExecutionIn("custom four");
| assertNotNull(executionInFour);
| processInstance = executionService.signalExecutionById(executionInFour.getId());
| }
|
| public static class CustomOne implements ExternalActivityBehaviour {
| private static final long serialVersionUID = 1L;
|
| public void execute(ActivityExecution execution) throws Exception {
| System.out.println("Executing");
|
| System.out.println(execution.getActivityName());
|
| execution.waitForSignal();
| }
|
| public void signal(ActivityExecution execution,
| String signalName,
| Map<String, ?> parameters) {
| execution.take(signalName);
| }
| }
|
| public static class CustomTwo implements ExternalActivityBehaviour {
| private static final long serialVersionUID = 1L;
|
| public void execute(ActivityExecution execution) throws Exception {
| System.out.println("Executing");
|
| System.out.println(execution.getActivityName());
|
| execution.waitForSignal();
| }
|
| public void signal(ActivityExecution execution,
| String signalName,
| Map<String, ?> parameters) {
| execution.take(signalName);
| }
| }
|
| public static class CustomThree implements ExternalActivityBehaviour {
| private static final long serialVersionUID = 1L;
|
| public void execute(ActivityExecution execution) throws Exception {
| System.out.println("Executing");
|
| System.out.println(execution.getActivityName());
|
| execution.waitForSignal();
| }
|
| public void signal(ActivityExecution execution,
| String signalName,
| Map<String, ?> parameters) {
| execution.take(signalName);
| }
| }
|
| public static class CustomFour implements ExternalActivityBehaviour {
| private static final long serialVersionUID = 1L;
|
| public void execute(ActivityExecution execution) throws Exception {
| System.out.println("Executing");
|
| System.out.println(execution.getActivityName());
|
| execution.waitForSignal();
| }
|
| public void signal(ActivityExecution execution,
| String signalName,
| Map<String, ?> parameters) {
| execution.take(signalName);
| }
| }
|
| }
|
|
Output:
| 12:44:53,841 FIN | [BaseJbpmTestCase] === starting testProcess =============================
| 12:44:53,981 FIN | [BaseJbpmTestCase] using ProcessEngine 78236
| log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
| log4j:WARN Please initialize the log4j system properly.
| 12:44:55,122 FIN | [ProcessDefinitionImpl] creating new execution for process 'process'
| 12:44:55,122 FIN | [DefaultIdGenerator] generated execution id process.149
| Executing
| custom one
| 12:44:55,122 FIN | [ExecuteActivity] executing activity(12319324)
| 12:44:55,122 FIN | [ExecuteActivity] executing activity(custom one)
| 12:44:55,137 FIN | [Signal] signalling activity(custom one), signalName=null
| 12:44:55,137 FIN | [ExecuteActivity] executing activity(fork)
| 12:44:55,137 FIN | [DefaultIdGenerator] generated execution id process.149.custom two
| 12:44:55,137 FIN | [ExecutionImpl] created execution[process.149.custom two]
| 12:44:55,137 FIN | [JobExecutorMessageSession] sending message ExecuteActivityMessage
| 12:44:55,153 INF | [JobExecutorThread] starting...
| 12:44:55,153 INF | [JobExecutorThread] starting...
| 12:44:55,153 INF | [JobExecutorThread] starting...
| 12:44:55,153 INF | [DispatcherThread] starting...
| 12:44:55,153 FIN | [DefaultIdGenerator] generated execution id process.149.custom three
| 12:44:55,153 FIN | [ExecutionImpl] created execution[process.149.custom three]
| 12:44:55,153 FIN | [JobExecutorMessageSession] sending message ExecuteActivityMessage
| 12:44:55,153 FIN | [AcquireJobsCmd] start querying first acquirable job...
| 12:44:55,153 FIN | [AcquireJobsCmd] locking jobs []
| 12:44:55,153 FIN | [GetNextDueDateCmd] getting next due date...
| 12:44:55,153 FIN | [GetNextDueDateCmd] next due date is null
| 12:44:55,153 FIN | [DispatcherThread] DispatcherThread will wait for max 600ms on org.jbpm.pvm.internal.jobexecutor.JobExecutor@1d27069
| 12:44:55,153 FIN | [DispatcherThread] DispatcherThread woke up
| 12:44:55,153 FIN | [AcquireJobsCmd] start querying first acquirable job...
| 12:44:55,169 FIN | [AcquireJobsCmd] locking jobs [184]
| 12:44:55,169 FIN | [ExecuteJobCmd] executing job ExecuteActivityMessage[184]...
| 12:44:55,169 FIN | [DispatcherThread] pushing jobs on the queue [184]
| 12:44:55,169 FIN | [DispatcherThread] added jobs [184] to the queue
| 12:44:55,169 FIN | [AcquireJobsCmd] start querying first acquirable job...
| Executing
| custom two
| 12:44:55,169 FIN | [JobExecutorThread] took job(s) [184] from queue
| 12:44:55,169 FIN | [AcquireJobsCmd] locking jobs [185]
| 12:44:55,184 FIN | [ExecuteActivity] execution[process.149.custom two] executes activity(custom two)
| 12:44:55,184 FIN | [DispatcherThread] pushing jobs on the queue [185]
| 12:44:55,184 FIN | [DispatcherThread] added jobs [185] to the queue
| 12:44:55,184 FIN | [AcquireJobsCmd] start querying first acquirable job...
| 12:44:55,184 FIN | [ExecuteJobCmd] executed job ExecuteActivityMessage[184]
| 12:44:55,184 FIN | [AcquireJobsCmd] locking jobs []
| 12:44:55,184 FIN | [GetNextDueDateCmd] getting next due date...
| 12:44:55,184 FIN | [GetNextDueDateCmd] next due date is null
| 12:44:55,184 FIN | [DispatcherThread] DispatcherThread will wait for max 600ms on org.jbpm.pvm.internal.jobexecutor.JobExecutor@1d27069
| 12:44:55,184 FIN | [JobExecutorThread] took job(s) [185] from queue
| 12:44:55,231 FIN | [ExecuteJobCmd] executing job ExecuteActivityMessage[185]...
| Executing
| custom three
| 12:44:55,231 FIN | [ExecuteJobCmd] executing job ExecuteActivityMessage[184]...
| 12:44:55,231 FIN | [ExecuteActivity] execution[process.149.custom three] executes activity(custom three)
| 12:44:55,231 FIN | [ExecuteJobCmd] executed job ExecuteActivityMessage[185]
| 12:44:55,247 FIN | [ExecuteJobCmd] executing job ExecuteActivityMessage[184]...
| Executing
| custom two
| 12:44:55,247 FIN | [ExecuteActivity] execution[process.149.custom two] executes activity(custom two)
| 12:44:55,247 FIN | [ExecuteJobCmd] executed job ExecuteActivityMessage[184]
| 12:44:55,247 FIN | [ExecuteActivity] execution[process.149.custom two] executes activity(custom two)
| Executing
| custom two
| 12:44:55,247 FIN | [ExecuteJobCmd] executed job ExecuteActivityMessage[184]
| 12:44:55,450 FIN | [ExecuteJobCmd] job 184 no longer exists
| 12:44:55,450 FIN | [ExecuteJobCmd] job 185 no longer exists
| 12:44:55,450 SEV | [BaseJbpmTestCase]
| ### EXCEPTION ###########################################
| 12:44:55,466 SEV | [BaseJbpmTestCase] ASSERTION FAILURE: null
| junit.framework.AssertionFailedError
| at junit.framework.Assert.fail(Assert.java:47)
| at junit.framework.Assert.assertTrue(Assert.java:20)
| at junit.framework.Assert.assertNotNull(Assert.java:220)
| at junit.framework.Assert.assertNotNull(Assert.java:213)
| at org.workflow.test.forum.ProcessTest.testProcess(ProcessTest.java:51)
| 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:597)
| at junit.framework.TestCase.runTest(TestCase.java:154)
| at org.jbpm.test.BaseJbpmTestCase.runTest(BaseJbpmTestCase.java:80)
| 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 org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
| at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
| at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
| at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
| at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
| at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
| ### EXCEPTION ###########################################
| 12:44:55,466 SEV | [BaseJbpmTestCase]
| 12:44:55,481 FIN | [DbSessionImpl] deleting history process instance process.149
| 12:44:55,497 FIN | [DbSessionImpl] deleting process instance process.149
| 12:44:55,497 FIN | [DeleteDeploymentCmd] deleting deployment 87
| 12:44:55,528 FIN | [BaseJbpmTestCase] === ending testProcess =============================
|
Also are the classes being called twice? Is it once by the startProcessInstanceByKey and then again my the job in the unit tests?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4255065#4255065
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4255065
15 years, 4 months
[jBPM Users] - Re: JBPM 4.x using Sybase ASE 11/12 on Jboss 5.1.0GA
by HelloW
thanks for quick reply, kukeltje :)
well I can login to the console using alex/password which is part of the test data inserted into the DB. All the other menu tabs seem to work fine and don't throw any errors.
Once I get to the reporting tab then the error shows up in the log file. A similar error appeared when I tried JBPM 4.1 + mySQL + Jboss 5.1.0GA. It said user 'sa'@localhost was not valid, etc. That's when I inserted the jbpmtest user/pass into the jbpm.hibernate.cfg.xml (overriding the 'sa' user?). That solved it on mySQL but not for Sybase.
I've attached more of the log, from the point where you click on the Reporting Tab -> Available Reports -> Processes
2009-09-14 13:01:20,375 INFO [org.eclipse.birt.report.model.metadata.StructRefPropertyType] (http-127.0.0.1-8080-4) The value of the structure property is a string
| 2009-09-14 13:01:20,422 INFO [org.eclipse.birt.report.model.metadata.StructRefPropertyType] (http-127.0.0.1-8080-4) The value of the structure property is a string
| 2009-09-14 13:01:23,562 INFO [org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager] (http-127.0.0.1-8080-4) Found JDBC driverinfo extension: driverClass=org.apache.derby.jdbc.EmbeddedDriver, connectionFactory=null
| 2009-09-14 13:01:23,578 INFO [org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager] (http-127.0.0.1-8080-4) Found JDBC driverinfo extension: driverClass=org.eclipse.birt.report.data.oda.sampledb.Driver, connectionFactory=org.eclipse.birt.report.data.oda.sampledb.SampleDBJDBCConnectionFactory
| 2009-09-14 13:01:23,609 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] (http-127.0.0.1-8080-4) Destroying connection that could not be successfully matched: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@1f9f777[state=NORMAL mc=org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@1a7125b handles=0 lastUse=1252926080375 permit=false trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@1a632f5 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@5b9ec1 xaResource=org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@1e5c671 txSync=null]
| 2009-09-14 13:01:23,625 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] (http-127.0.0.1-8080-4) Destroying connection that could not be successfully matched: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@23cda8[state=NORMAL mc=org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@1139a51 handles=0 lastUse=1252926071376 permit=false trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@1a632f5 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@5b9ec1 xaResource=org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@1b84919 txSync=null]
| 2009-09-14 13:01:23,641 WARN [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] (http-127.0.0.1-8080-4) Throwable while attempting to get a new connection: null
| org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Login failed)
| at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:225)
| at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:195)
| at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:633)
| at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:267)
| at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:622)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:404)
| at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:381)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
| at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)
| at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:104)
| at org.eclipse.birt.report.data.oda.jdbc.JndiDataSource.getDataSourceConnection(JndiDataSource.java:159)
| at org.eclipse.birt.report.data.oda.jdbc.JndiDataSource.getConnection(JndiDataSource.java:133)
| at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getJndiDSConnection(JDBCDriverManager.java:284)
| at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:205)
| at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:179)
| at org.eclipse.birt.report.data.oda.jdbc.Connection.connectByUrl(Connection.java:220)
| at org.eclipse.birt.report.data.oda.jdbc.Connection.open(Connection.java:151)
| at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaConnection.open(OdaConnection.java:235)
| at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnection(ConnectionManager.java:157)
| at org.eclipse.birt.data.engine.executor.DataSource.newConnection(DataSource.java:236)
| at org.eclipse.birt.data.engine.executor.DataSource.open(DataSource.java:223)
| at org.eclipse.birt.data.engine.impl.DataSourceRuntime.openOdiDataSource(DataSourceRuntime.java:209)
| at org.eclipse.birt.data.engine.impl.QueryExecutor.openDataSource(QueryExecutor.java:390)
| at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:309)
| at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:498)
| at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQueryResults(PreparedDataSourceQuery.java:189)
| at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:177)
| at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute(PreparedOdaDSQuery.java:143)
| at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:482)
| at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:115)
| at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:253)
| at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1755)
| at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:77)
| at org.eclipse.birt.report.engine.executor.GridItemExecutor.execute(GridItemExecutor.java:64)
| at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:42)
| at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:45)
| at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:33)
| at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:63)
| at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
| at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:101)
| at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:151)
| at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:72)
| at org.jboss.bpm.report.BirtService.render(BirtService.java:163)
| at org.jboss.bpm.report.ReportFacade.viewReportHtml(ReportFacade.java:139)
| 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:597)
| at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:117)
| at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:260)
| at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:232)
| at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:166)
| at org.jboss.resteasy.core.DispatcherUtilities.getJaxrsResponse(DispatcherUtilities.java:142)
| at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
| at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:173)
| at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:93)
| at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:68)
| at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.bpm.console.server.util.GWTJsonFilter.doFilter(GWTJsonFilter.java:59)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
| at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
| at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: java.sql.SQLException: Login failed
| at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:368)
| at net.sourceforge.jtds.jdbc.TdsCore.tdsLoginAckToken(TdsCore.java:2952)
| at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2260)
| at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:602)
| at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:344)
| at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
| at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:182)
| at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:207)
| ... 81 more
I suspect this line might allude to it being a DTM error:
(http-127.0.0.1-8080-4) Throwable while attempting to get a new connection: null
Here's a shot of the Datasource file: jbpm-sybase-ds.xml file
<datasources>
| <local-tx-datasource>
| <jndi-name>JbpmDS</jndi-name>
| <connection-url>jdbc:jtds:sybase://{servername edited}:7550/jbpmdb</connection-url>
| <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
| <user-name>jbpmtest</user-name>
| <password>jbpmtest</password>
|
| <!-- reduce isolation from the default level (repeatable read) -->
| <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
| <!-- separate connections used with and without JTA transaction -->
| <no-tx-separate-pools />
| <!-- disable transaction interleaving -->
| <track-connection-by-tx />
| <metadata>
| <type-mapping>Sybase</type-mapping>
| </metadata>
| </local-tx-datasource>
| </datasources>
|
I have tried it with an XA datasource and it doesn't even startup properly:
13:16:54,328 ERROR [JDBCExceptionReporter] Unable to get managed connection for JbpmDS; - nested thr
| owable: (javax.resource.ResourceException: Unable to get managed connection for JbpmDS)
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4255055#4255055
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4255055
15 years, 4 months