[JBoss JIRA] Created: (JBAS-3848) jms message disappeared from db then exception is occured
by Ramil Israfilov (JIRA)
jms message disappeared from db then exception is occured
---------------------------------------------------------
Key: JBAS-3848
URL: http://jira.jboss.com/jira/browse/JBAS-3848
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: JMS service
Affects Versions: JBossAS-4.0.5.GA
Environment: JBOSS 4.0.5.GA, JDK1.5.0_06, solarisx86, clustered on two nodes
Reporter: Ramil Israfilov
Assigned To: Adrian Brock
We running clustered jboss4.0.5 and JBOSS MQ is configured to run in clustered environment.
The node which was running Jboss MQ went down. JBOSS MQ successfully restarted on second node.But deliver of JMS message failed with error:
2006-11-13 11:47:59,130 ERROR [org.jboss.resource.adapter.jms.inflow.JmsServerSession] (cludev02) (WorkManager(3)-28:) Unexpected error delivering message SpyTextMessage {
Header {
jmsDestination : QUEUE.certione/ExecutorQueue
jmsDeliveryMode : 2
jmsExpiration : 0
jmsPriority : 4
jmsMessageID : ID:13-116341486898510
jmsTimeStamp : 1163414868985
jmsCorrelationID: null
jmsReplyTo : null
jmsType : CertioneAsyncProcessingMessage
jmsRedelivered : false
jmsProperties : {TrackItemId=738, ExecutorName=certione/PreProcessingProcessRemote, TokenId=19666, AuditRecord=137}
jmsPropReadWrite: false
msgReadOnly : true
producerClientId: ID:13
}
Body {
text :null
}
}
javax.ejb.EJBException: Failed to acquire the pool semaphore, strictTimeout=10000
at org.jboss.ejb3.StrictMaxPool.get(StrictMaxPool.java:106)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:245)
at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:268)
at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:138)
at $Proxy272.onMessage(Unknown Source)
at org.jboss.resource.adapter.jms.inflow.JmsServerSession.onMessage(JmsServerSession.java:183)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:905)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
at org.jboss.mq.SpySession.run(SpySession.java:323)
at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:249)
at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
at java.lang.Thread.run(Thread.java:595)
And the most important is that JMS message disappeared after that from database !
--
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
19 years, 1 month
[JBoss JIRA] Created: (JBAS-3738) On Windows: timer.test.BasicTimerUnitTestCase fails
by Prabhat Jha (JIRA)
On Windows: timer.test.BasicTimerUnitTestCase fails
---------------------------------------------------
Key: JBAS-3738
URL: http://jira.jboss.com/jira/browse/JBAS-3738
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Test Suite
Environment: Windows 2003, Sun JDK1.4
Reporter: Prabhat Jha
Assigned To: Dimitris Andreadis
Fix For: JBossAS-4.0.5.GA
Test Class: org.jboss.test.timer.test.BasicTimerUnitTestCase
Test Name: testMDBTimer
Message property 'UNIQUE_ID' not set.
java.lang.NumberFormatException: Message property 'UNIQUE_ID' not set.
at org.jboss.mq.SpyMessage.getIntProperty(SpyMessage.java:581)
at org.jboss.test.timer.test.BasicTimerUnitTestCase.testMDBTimer(BasicTimerUnitTestCase.java:332)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
at junit.extensions.TestSetup.run(TestSetup.java:23)
--
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
19 years, 1 month
[JBoss JIRA] Created: (JBRULES-532) Query feature doesnt seem to work if there is more than one query.
by Sridhar Chandrasekharan (JIRA)
Query feature doesnt seem to work if there is more than one query.
------------------------------------------------------------------
Key: JBRULES-532
URL: http://jira.jboss.com/jira/browse/JBRULES-532
Project: JBoss Rules
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Sridhar Chandrasekharan
Assigned To: Mark Proctor
Consider the following:-
*******************************************************************************
1) Foo.java
package com.foo;
public class Foo {
private int a;
private int b;
public Foo(int a, int b) {
super();
this.a = a;
this.b = b;
}
public boolean test()
{
return (a > b);
}
public int getA() {
return a;
}
public int getB() {
return b;
}
}
*******************************************************************************************
2) FooTest.java
package com.foo;
import java.io.InputStreamReader;
import java.io.*;
import java.util.*;
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.WorkingMemory;
import org.drools.compiler.PackageBuilder;
import org.drools.rule.Package;
import org.drools.QueryResults;
import org.drools.QueryResult;
public class FooTest {
/**
* This is a sample file to launch a rule package from a rule source file.
*/
public static final void main(String[] args) {
try {
//load up the rulebase
RuleBase ruleBase = readRule();
WorkingMemory workingMemory = ruleBase.newWorkingMemory();
//go !
workingMemory.fireAllRules();
QueryResults results = workingMemory.getQueryResults( "Foo query" );
if(results == null)
{
System.out.println("Result is null");
return;
}
System.out.println( "we have " + results.size() );
for ( Iterator it = results.iterator(); it.hasNext(); ) {
QueryResult result = ( QueryResult ) it.next();
Foo foo = ( Foo ) result.get( "foo" );
System.out.println( "A="+foo.getA() + " B=" + foo.getB());
}
} catch (Throwable t) {
t.printStackTrace();
}
}
/**
* Please note that this is the "low level" rule assembly API.
*/
private static RuleBase readRule() throws Exception {
//read in the source
Reader source = new InputStreamReader( FooTest.class.getResourceAsStream( "/Foo.drl" ) );
//optionally read in the DSL (if you are using it).
//Reader dsl = new InputStreamReader( DroolsTest.class.getResourceAsStream( "/mylang.dsl" ) );
//Use package builder to build up a rule package.
//An alternative lower level class called "DrlParser" can also be used...
PackageBuilder builder = new PackageBuilder();
//this wil parse and compile in one step
//NOTE: There are 2 methods here, the one argument one is for normal DRL.
builder.addPackageFromDrl( source );
//Use the following instead of above if you are using a DSL:
//builder.addPackageFromDrl( source, dsl );
//get the compiled package (which is serializable)
Package pkg = builder.getPackage();
//add the package to a rulebase (deploy the rule package).
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( pkg );
return ruleBase;
}
}
**************************************************
3) Foo.drl
#created on: Oct 9, 2006
package com.foo
rule "Initialization rule"
when
#conditions
then
assert(new Foo(1,1));
assert(new Foo(2,1));
assert(new Foo(2,3));
assert(new Foo(3,2));
assert(new Foo(3,4));
assert(new Foo(4,3));
end
query "Foo query"
foo : Foo()
end
****************************************
The output is as follows:-
we have 6
A=1 B=1
A=2 B=1
A=2 B=3
A=3 B=2
A=3 B=4
A=4 B=3
*****************************************
Now add another query to the Foo.drl file
query "Bar query"
foo : Foo()
end
and the output is
Result is null
Adding a second query caused the first query to stop working properly.
--
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
19 years, 1 month
[JBoss JIRA] Created: (JBRULES-372) QueryResult.get fires ClassCastException when using the string argument
by Giovanni Cuccu (JIRA)
QueryResult.get fires ClassCastException when using the string argument
-----------------------------------------------------------------------
Key: JBRULES-372
URL: http://jira.jboss.com/jira/browse/JBRULES-372
Project: JBoss Rules
Issue Type: Bug
Security Level: Public (Everyone can see)
Environment: JBoss Rules 3.0.1 and JBoss Rules as downloaded from svn trunk as of 12/07/06
Reporter: Giovanni Cuccu
Assigned To: Mark Proctor
here is the simple test case:
package simpletest;
public class AssertedObject {
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public AssertedObject(String value) {
// TODO Auto-generated constructor stub
this.value = value;
}
}
package simpletest;
import simpletest.AssertedObject;
rule rule1
when
then
assert( new AssertedObject( "value1") );
assert( new AssertedObject( "value2") );
end
query "assertedobjquery"
assertedobj : AssertedObject( value=="value1" )
end
package simpletest;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import mit.rules.test.Prestazione;
import mit.rules.test.StrutturaErogante;
import mit.rules.test.TempiAttesa;
import mit.rules.test.TestRules;
import org.drools.QueryResult;
import org.drools.QueryResults;
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.WorkingMemory;
import org.drools.audit.WorkingMemoryFileLogger;
import org.drools.compiler.PackageBuilder;
public class TestQuery {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
final PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( new InputStreamReader( TestQuery.class.getResourceAsStream( "testquery.drl" ) ) );
final RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( builder.getPackage() );
final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
fireRules(workingMemory);
}
public static void fireRules(WorkingMemory workingMemory) {
final WorkingMemoryFileLogger logger = new WorkingMemoryFileLogger( workingMemory );
logger.setFileName( "log/testquery" );
workingMemory.fireAllRules();
QueryResults results = workingMemory.getQueryResults( "assertedobjquery" );
if (results==null || !results.iterator().hasNext()) {
System.err.println("Empty list");
} else {
for ( Iterator it = results.iterator(); it.hasNext(); ) {
QueryResult result = ( QueryResult )it.next();;
AssertedObject assertedObject=(AssertedObject)result.get( "assertedobj" );
System.out.println("AssertedObject with value " + assertedObject.getValue());
}
}
logger.writeToDisk();
}
}
--
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
19 years, 1 month
[JBoss JIRA] Created: (JBRULES-445) behavior of globals?
by G£bor Lipt£k (JIRA)
behavior of globals?
--------------------
Key: JBRULES-445
URL: http://jira.jboss.com/jira/browse/JBRULES-445
Project: JBoss Rules
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Drl Parser/Builder
Affects Versions: 3.0.4
Reporter: G£bor Lipt£k
Assigned To: Mark Proctor
Priority: Minor
It seems that the value of DRL globals without external env backup is removed between rules:
package globaltest
import Policy;
global java.lang.String text;
rule "Foo"
salience 999
when
Policy()
then
text="foo";
System.out.println("foo+"+text);
end
rule "Bar"
salience 998
when
Policy()
then
System.out.println("bar+"+text);
text="bar";
System.out.println("bar+"+text);
end
results in:
foo+foo
bar+null
bar+bar
The documentation does not seem to provide details if this is the expected behavior.
Please comment. Thanks
--
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
19 years, 2 months
[JBoss JIRA] Created: (JBRULES-520) How to refer one rule in another
by Sridhar Ramaswamy (JIRA)
How to refer one rule in another
--------------------------------
Key: JBRULES-520
URL: http://jira.jboss.com/jira/browse/JBRULES-520
Project: JBoss Rules
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 3.0.4
Environment: WSAD
Reporter: Sridhar Ramaswamy
Assigned To: Mark Proctor
I have the following three rules created in a drl:
rule "Sales"
when
abc: abcData( $abcName : abcName,
$value: value > 20)
then
abc.setFlagColor("RED");
end
rule "Count"
when
bcd: bcdData( $bcdName : bcdName,
$count: count < 120)
then
abc.setFlagColor("RED");
end
How to create a new rule which will use these rules, for instance
rule "sales & count"
when
either rule "sales" is true or "count" is true
and
aaa: aaaData($aaaName: aaaName, $amount: amount < 1000)
then
aaa.setFlag("Critical");
end
I am not able to call a rule into another rule to check that is also true.
Thanks/Sri.
--
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
19 years, 2 months