[JBoss JIRA] Created: (JBMESSAGING-1151) Guarantee ordering with a delayed redelivery (FIFO)
by Markus Lutum (JIRA)
Guarantee ordering with a delayed redelivery (FIFO)
---------------------------------------------------
Key: JBMESSAGING-1151
URL: http://jira.jboss.com/jira/browse/JBMESSAGING-1151
Project: JBoss Messaging
Issue Type: Feature Request
Affects Versions: 1.4.0.GA
Reporter: Markus Lutum
Assigned To: Tim Fox
Make it possible to configure JBM to guarantee ordering with a delayed redelivery means preserve ordering of messages to a Consumer also in case of NACK / rollback.
In other words, block any other messages that arrived in the intervening period being delivered.
Needed behaviour
A and B are in the Queue
delivered A (ok)
delivered B (NOK/Transaction roll back)
C comes in
delivered B again after 20 sec (NOK/Transaction roll back)
delivered B again after 20 sec (Now processing is OK- Commit)
delivered C
I have now 2 customers which need this behaviour so I can replace a buggy self written persistent queue package.
--
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
16 years, 2 months
[JBoss JIRA] Created: (SECURITY-89) Fast ACL Implementation
by Anil Saldhana (JIRA)
Fast ACL Implementation
-----------------------
Key: SECURITY-89
URL: http://jira.jboss.com/jira/browse/SECURITY-89
Project: JBoss Security and Identity Management
Issue Type: Task
Security Level: Public (Everyone can see)
Components: ACL
Reporter: Anil Saldhana
Assigned To: Stefan Guilhen
Fix For: 2.0.2.GA
We need to implement a FAST ACL implementation to be used by the non JBAS projects such as JBoss Rules, Portal etc.
The key here is performance.
We basically have a tuple (key, CRUD) where key is an object instance. We need to devise some mechanism by which the projects can plug in their key (similar to hibernate primary key mapping).
The ACL implementation should not assume any strategies, which need to be pluggable. The strategies can be Hibernate, Cache or ldap depending on user needs.
--
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
16 years, 3 months
[JBoss JIRA] Created: (JBRULES-966) update(fact) in 2 rules dont check for other updated facts - a loop is created
by Felipe Piccolini (JIRA)
update(fact) in 2 rules dont check for other updated facts - a loop is created
------------------------------------------------------------------------------
Key: JBRULES-966
URL: http://jira.jboss.com/jira/browse/JBRULES-966
Project: JBoss Rules
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Reteoo
Affects Versions: 4.0.0.MR3
Environment: tested on eclipse 3.2, JBossRules 4.0MR3, OS Mac OSX 10.4.10
Reporter: Felipe Piccolini
Assigned To: Mark Proctor
When using update in 2 rules that update the same object... a loop is created even when trying to
avoid the loop adding an extra condition to each rule inserting an ArrayList as a fact too, so each rule should not be
evaluated again...
//-------RULES-----------------------------
package org.drools.test
#list any import classes here.
import java.util.List
import java.util.ArrayList
import cl.bluesoft.test.rules.Fact
#declare any global variables here
rule "test update A"
salience 699
no-loop
when
$f : Fact($n: number > 0)
$list: ArrayList( this excludes "key1")
then
System.out.println("A-fact number1:"+$f.getNumber()+" list 1:"+$list);
$list.add("key1");
$f.setNumber($n + 1);
update ($f);
update ($list);
System.out.println("A-fact number2:"+$f.getNumber()+" list 2:"+$list);
end
rule "test update B"
salience 699
no-loop
when
$f : Fact($n: number > 1)
$list: ArrayList( this excludes "key2")
then
System.out.println("B-fact number1:"+$f.getNumber()+" list 1:"+$list);
$list.add("key2");
$f.setNumber($n + 1);
update ($f);
update ($list);
System.out.println("B-fact number2:"+$f.getNumber()+" list 2:"+$list);
end
//-------FACT-----------------------------
public class Fact implements Serializable {
private static final long serialVersionUID = 331627137981862975L;
private int number;
public Fact(int number){
this.number = number;
}
public Fact(){
this(0);
}
/**
* @return the number
*/
public int getNumber() {
return number;
}
/**
* @param number the number to set
*/
public void setNumber(int number) {
this.number = number;
}
}
//------TEST---------
public class TestUpdateFact implements Serializable {
private static final long serialVersionUID = -574789596641083743L;
/**
* @param args
*/
public static void main(String[] args) {
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
Package pkg = builder.getPackage();
....
WorkingMemory session = ruleBase.getStatefulSession();
...etc etc...
List list = new ArrayList();
Fact fact1 = new Fact(1);
session.insert(fact1 false);
session.insert(list, false);
session.fireAllRules();
session.dispose();
}
}
//--------OUTPUT------------
A-fact number1:1 list 1:[]
A-fact number2:2 list 2:[key1]
B-fact number1:2 list 1:[key1]
B-fact number2:3 list 2:[key1, key2]
A-fact number1:3 list 1:[key1, key2]
A-fact number2:4 list 2:[key1, key2, key1]
B-fact number1:4 list 1:[key1, key2, key1]
B-fact number2:5 list 2:[key1, key2, key1, key2]
A-fact number1:5 list 1:[key1, key2, key1, key2]
A-fact number2:6 list 2:[key1, key2, key1, key2, key1]
B-fact number1:6 list 1:[key1, key2, key1, key2, key1]
B-fact number2:7 list 2:[key1, key2, key1, key2, key1, key2]
A-fact number1:7 list 1:[key1, key2, key1, key2, key1, key2]
A-fact number2:8 list 2:[key1, key2, key1, key2, key1, key2, key1]
B-fact number1:8 list 1:[key1, key2, key1, key2, key1, key2, key1]
.... for ever.....
So a loop is created... only when I use update and both rules... condition about the
list not containing "key1" and "key2" seems not properly chequed...
--
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
16 years, 3 months