[Design of POJO Server] - Re: console-mgr.sar jars being registered as mbeans?
by emuckenhuber
"alesj" wrote : "scott.stark(a)jboss.org" wrote :
| | Why would jars in a sar be seen as mbean deployments? These are just library jars.
| I don't think they are treated as plain lib jars.
| They are treated as true deployments - see JARStructure.
Ah now i can remember talking with Ales once about the "directory feature".
Changing the loadApplications method in the SerializableDeploymentRepository (copied from the basic profile) seems to fix those errors.
| private void loadApplications(VirtualFile applicationDir)
| throws IOException
| {
| List<VirtualFile> children = applicationDir.getChildren();
| for(VirtualFile vf : children)
| {
| if (vf.isLeaf())
| {
| VFSDeployment vfCtx = loadDeploymentData(vf, DeploymentPhase.APPLICATION);
| String key = vfCtx.getName();
| applicationCtxs.put(key, vfCtx);
| }
| // TODO replace . in the name with isArchive() == false?
| else if (vf.getName().indexOf('.') == -1)
| {
| // recurse if not '.' in name and recursive search is enabled
| loadApplications(vf);
| }
| else
| {
| VFSDeployment vfCtx = loadDeploymentData(vf, DeploymentPhase.APPLICATION);
| String key = vfCtx.getName();
| applicationCtxs.put(key, vfCtx);
| }
| }
| }
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4183527#4183527
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4183527
16 years, 2 months
[Design of JBoss jBPM] - build failing ?
by tom.baeyens@jboss.com
i did a fresh checkout and ran mvn clean test with this result. does anyone else experience this problem too ?
Results :
|
| Failed tests:
| testSubProcessLogs(org.jbpm.graph.node.ProcessStateDbTest)
| testFindTaskInstancesByActorId(org.jbpm.db.TaskMgmtSessionDbTest)
|
| Tests in error:
| testRecursiveProcessDefinition(org.jbpm.graph.node.ProcessStateDbTest)
| testDynamicProcessBinding(org.jbpm.graph.node.ProcessStateDbTest)
| testUnboundSubProcess(org.jbpm.graph.node.ProcessStateDbTest)
| testMessageLogMessage(org.jbpm.logging.log.ProcessLogDbTest)
| testProcessLogDate(org.jbpm.logging.log.ProcessLogDbTest)
| testProcessLogToken(org.jbpm.logging.log.ProcessLogDbTest)
| testParentChildRelation(org.jbpm.logging.log.ProcessLogDbTest)
| testSimpleAvailableTransitions(org.jbpm.jpdl.exe.AvailableTransitionsDbTest)
| testSuperStateAvailableTransitions(org.jbpm.jpdl.exe.AvailableTransitionsDbTest)
| testTaskMgmtInstanceTaskInstances(org.jbpm.taskmgmt.exe.TaskMgmtInstanceDbTest)
| testTaskMgmtInstanceSwimlaneInstances(org.jbpm.taskmgmt.exe.TaskMgmtInstanceDbTest)
| testDeleteProcessInstance(org.jbpm.db.DeleteProcessInstanceDbTest)
| testDeleteProcessInstanceWithTask(org.jbpm.db.DeleteProcessInstanceDbTest)
| testDeleteProcessInstanceWithSubProcessInstance(org.jbpm.db.DeleteProcessInstanceDbTest)
| testDeleteProcessInstanceWithConcurrentPathsOfExecution(org.jbpm.db.DeleteProcessInstanceDbTest)
| testDefaultConfiguration(org.jbpm.DefaultConfigurationTest)
| testSituation1(org.jbpm.jpdl.patterns.Wfp13MiWithoutSynchronizationTest)
| testSituation2(org.jbpm.jpdl.patterns.Wfp13MiWithoutSynchronizationTest)
| testSituation3(org.jbpm.jpdl.patterns.Wfp13MiWithoutSynchronizationTest)
| testSituation4(org.jbpm.jpdl.patterns.Wfp13MiWithoutSynchronizationTest)
| testFindTaskInstancesByActorIds(org.jbpm.db.TaskMgmtSessionDbTest)
| testLoadTaskInstance(org.jbpm.db.TaskMgmtSessionDbTest)
| testTaskMgmtFinderMethods(org.jbpm.db.TaskMgmtSessionDbTest)
| testComments(org.jbpm.graph.exe.CommentDbTest)
| testCommentsOnDifferentTokens(org.jbpm.graph.exe.CommentDbTest)
| testTaskInstanceComment(org.jbpm.graph.exe.CommentDbTest)
| testCommentToTokenAndTaskInstance(org.jbpm.graph.exe.CommentDbTest)
| testTaskCommentAndLoadProcessInstance(org.jbpm.graph.exe.CommentDbTest)
| testParallelSplit(org.jbpm.jpdl.patterns.Wfp02ParallelSplitTest)
| testBudgetHignerThenThousand(org.jbpm.jpdl.exe.DecisionHandlerTest)
| testBudgetBetweenHundredAndThousand(org.jbpm.jpdl.exe.DecisionHandlerTest)
| testSmallBudget(org.jbpm.jpdl.exe.DecisionHandlerTest)
| testActionLog(org.jbpm.graph.log.ActionLogDbTest)
| testActionExceptionLog(org.jbpm.graph.log.ActionLogDbTest)
| testTakeSuperStateTransition(org.jbpm.graph.exe.SuperStateTest)
| testTransitionToSuperState(org.jbpm.graph.exe.SuperStateTest)
| testTaskAssignment(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testMultiActorTaskAssignment(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testAssignmentHandlerContext(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testAssignmentHandlerWithNullActorId(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testStartTaskSwimlaneAssignmentTest(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testActorId(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testPooledActors(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testActorIdsAndPooledActors(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testTaskAssignmentEvent(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testActorIdPropertyExpression(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testActorIdMethodExpression(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testPooledActorsStringArrayPropertyExpression(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testPooledActorsCollectionPropertyExpression(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testPooledActorsStringPropertyExpression(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testPooledActorStringArrayMethodExpression(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testPooledActorCollectionMethodExpression(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testPooledActorCommaSeparatedStringMethodExpression(org.jbpm.taskmgmt.exe.TaskAssignmentTest)
| testSimpleMergeScenario1(org.jbpm.jpdl.patterns.Wfp05SimpleMergeTest)
| testSimpleMergeScenario2(org.jbpm.jpdl.patterns.Wfp05SimpleMergeTest)
| testImplicitMergeScenario1(org.jbpm.jpdl.patterns.Wfp05SimpleMergeTest)
| testImplicitMergeScenario2(org.jbpm.jpdl.patterns.Wfp05SimpleMergeTest)
| testStartDate(org.jbpm.jbpm1106.JBPM1106Test)
| testStartTime(org.jbpm.jbpm1106.JBPM1106Test)
| testProcessDeleteWithTaskNotification(org.jbpm.graph.node.TaskNotificationDbTest)
| testSynchronizingMergeScenario1(org.jbpm.jpdl.patterns.Wfp07SynchronizingMergeTest)
| testSynchronizingMergeScenario2(org.jbpm.jpdl.patterns.Wfp07SynchronizingMergeTest)
| testSynchronizingMergeScenario3(org.jbpm.jpdl.patterns.Wfp07SynchronizingMergeTest)
| testSynchronizingMergeScenario4(org.jbpm.jpdl.patterns.Wfp07SynchronizingMergeTest)
| testEndEvent(org.jbpm.graph.node.EndStateTest)
| testTokenName(org.jbpm.graph.exe.TokenDbTest)
| testTokenStartAndEndDate(org.jbpm.graph.exe.TokenDbTest)
| testTokenNode(org.jbpm.graph.exe.TokenDbTest)
| testTokenProcessInstance(org.jbpm.graph.exe.TokenDbTest)
| testTokenParent(org.jbpm.graph.exe.TokenDbTest)
| testTokenChildren(org.jbpm.graph.exe.TokenDbTest)
| testAvailableTransitions(org.jbpm.graph.exe.TokenDbTest)
| testSetTransientVariable(org.jbpm.context.exe.TransientVariableTest)
| testGetTransientVariable(org.jbpm.context.exe.TransientVariableTest)
| testGetUnpersistableTransientVariable(org.jbpm.context.exe.TransientVariableTest)
| testSuspend(org.jbpm.graph.exe.SuspendAndResumeDbTest)
| testResume(org.jbpm.graph.exe.SuspendAndResumeDbTest)
| testAprioriRuntimeKnowledgeScenario1(org.jbpm.jpdl.patterns.Wfp15MiWithAPrioriRuntimeKnowledgeTest)
| testAprioriRuntimeKnowledgeScenario2(org.jbpm.jpdl.patterns.Wfp15MiWithAPrioriRuntimeKnowledgeTest)
| testAprioriRuntimeKnowledgeScenario3(org.jbpm.jpdl.patterns.Wfp15MiWithAPrioriRuntimeKnowledgeTest)
| testAprioriRuntimeKnowledgeScenario4(org.jbpm.jpdl.patterns.Wfp15MiWithAPrioriRuntimeKnowledgeTest)
| testAprioriRuntimeKnowledgeScenario1(org.jbpm.jpdl.patterns.Wfp16MiWithoutAPrioriRuntimeKnowledgeTest)
| testAprioriRuntimeKnowledgeScenario2(org.jbpm.jpdl.patterns.Wfp16MiWithoutAPrioriRuntimeKnowledgeTest)
| testAprioriRuntimeKnowledgeScenario3(org.jbpm.jpdl.patterns.Wfp16MiWithoutAPrioriRuntimeKnowledgeTest)
| testAprioriRuntimeKnowledgeScenario4(org.jbpm.jpdl.patterns.Wfp16MiWithoutAPrioriRuntimeKnowledgeTest)
| testCompositeLogs(org.jbpm.logging.exe.CompositeLogTest)
| testVarUpdate(org.jbpm.taskmgmt.exe.TaskVariableAccessDbTest)
| testProcessInstanceEndLog(org.jbpm.graph.log.ProcessLogsTest)
| testProcessInstanceStartLog(org.jbpm.graph.log.ProcessLogsTest)
| testFindRoot(org.jbpm.graph.exe.TokenNameTest)
| testTaskDecriptionExpression(org.jbpm.jpdl.el.TaskExpressionTest)
| testTaskActorIdExpression(org.jbpm.jpdl.el.TaskExpressionTest)
| testPooledActorsExpression(org.jbpm.jpdl.el.TaskExpressionTest)
| testEndState(org.jbpm.graph.node.EndStateDbTest)
| testLocking(org.jbpm.optimisticlocking.LockingTest)
| testUncaughtException(org.jbpm.graph.exe.ExceptionHandlingTest)
| testUncaughtRuntimeException(org.jbpm.graph.exe.ExceptionHandlingTest)
| testUncaughtError(org.jbpm.graph.exe.ExceptionHandlingTest)
| testSimpleCatchAll(org.jbpm.graph.exe.ExceptionHandlingTest)
| testCatchOnlyTheSpecifiedException(org.jbpm.graph.exe.ExceptionHandlingTest)
| testDontCatchTheNonSpecifiedException(org.jbpm.graph.exe.ExceptionHandlingTest)
| testCatchWithTheSecondSpecifiedExceptionHandler(org.jbpm.graph.exe.ExceptionHandlingTest)
| testTwoActionsInOneExceptionHandler(org.jbpm.graph.exe.ExceptionHandlingTest)
| testProcessDefinitionExceptionHandling(org.jbpm.graph.exe.ExceptionHandlingTest)
| testSuperStateExceptionHandling(org.jbpm.graph.exe.ExceptionHandlingTest)
| testSetOnTaskInstanceGetOnProcess(org.jbpm.taskmgmt.exe.TaskVariablesTest)
| testSetOnProcessGetOnTaskInstance(org.jbpm.taskmgmt.exe.TaskVariablesTest)
| testSetLocally(org.jbpm.taskmgmt.exe.TaskVariablesTest)
| testCopyWithController(org.jbpm.taskmgmt.exe.TaskVariablesTest)
| testDeployProcess(org.jbpm.jbpm522.JBPM522Test)
| testDeployBadProcess(org.jbpm.jbpm522.JBPM522Test)
| testDeployProcesses(org.jbpm.jbpm522.JBPM522Test)
| testDeployProcessesIncludingBad(org.jbpm.jbpm522.JBPM522Test)
|
| Tests run: 988, Failures: 2, Errors: 113, Skipped: 0
|
| [INFO] ------------------------------------------------------------------------
| [ERROR] BUILD FAILURE
| [INFO] ------------------------------------------------------------------------
| [INFO] There are test failures.
|
| Please refer to C:\test\trunk\modules\core\target\surefire-reports for the individual test results.
| [INFO] ------------------------------------------------------------------------
| [INFO] For more information, run Maven with the -e switch
| [INFO] ------------------------------------------------------------------------
| [INFO] Total time: 1 minute 23 seconds
| [INFO] Finished at: Tue Oct 21 13:03:30 CEST 2008
| [INFO] Final Memory: 13M/33M
| [INFO] ------------------------------------------------------------------------
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4183467#4183467
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4183467
16 years, 2 months
[Design of Messaging on JBoss (Messaging/JBoss)] - Ordering Group -- Transaction Scenario Analysis (Typical Use
by gaohoward
Ordering Group -- Transaction Scenario Analysis
Abbrev Used:
M1, M2, etc - Messages of the order of 1, 2, etc. that belong to an ordering group.
R - The message receiver.
TM - Transaction Manager
XATx - A XA Transaction
XAResJms - A XAResource from a JMS session.
XAResDB - A XAResource from a DB connection.
xid - Transaction ID of XATx.
1) M1 arrives at R, R's onMessage(M1) is called.
2) A XATx is started by the TM for the purpose of onMessage call.
3) The onMessage() method accepts the M1 and does some updates on the target DB accordingly (within the XATx context).
4) After onMessage() ends, TM starts to end the XATx.
5) It first gets the XAResJms and XAResDB and issues prepare(xid) on them respectively.
M1 at this point is still not completed and M2 is blocked.
6) If prepare calls result in roll back, On XAResJms.rollback(), M1 will be released from the ordering group and M2 will subsequently available for delivery.
7) If all prepare's replies are positive, TM goes on with commit.
8) The commit() on XAResJms causes the M1 to be acknowledged and thus make M2's delivery possible.
In this case, even the success of this commit doesn't mean that M1 is completed regarding ordering group rule, Simply because there may be other XA resources (XAResDB in this case) whose commit() may fail. JMS must not permit the deliver of M2 at this point of time and must be always aware of any recovery in the future. This means JMS server should not forget the M1 at this point.
9) The commit() on XAResDB causes the updates to really happen.
10) XAException from either of the above commits will fail the XATx and TM will initiates a recovery on behalf of this XATx. Eventually the commit() or rollback() will be issued again on problematic resources during recovery. Only when XATx completed in any way, M1 is finished and M2 becomes available. We need a way to monitor XATx, see my thought below.
----Summary-----
We've analysed the Transaction Scenario above regarding the ordering group issue. We focus on the transactions on message receiving end because it is where the user mostly concerns. To guarantee ordering group in such scenario, we need to enhance the JMS server so that
*) On XAResJms.rollback(), M1 will be released from the ordering group and M2 will subsequently available for delivery.
*) On XAResJms.commit(), remember (in-mem and/or persist) the M1. We hold the M1 until we found the Transaction is completed. This can be achieved by obtaining the javax.transaction.Transaction object and keep calling Transaction.getStatus() (thread may be used). Until the status is STATUS_COMMITTED or STATUS_ROLLEDBACK, we release M1, otherwise we hold M1 and block M2. (but if server dies when keep querying status, we will lose the Transaction, how do we get it back after server is up? any API available?) If there is no way to do this, or not worth it, we just forget M1 simply after commit().
*) Local transactions should be handled the similar way as if it is a one_phase commit XA transaction.
*) Multiple Ordering Messages in transaction is impossible because ordering group only release one message at a time but the transaction requires all or none at a time.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4183465#4183465
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4183465
16 years, 2 months