[JBoss JIRA] Created: (JBRULES-1770) IndexOutOfBoundsException with subflows while removing listener from RuleFlowEventSupport
by Richard bedard (JIRA)
IndexOutOfBoundsException with subflows while removing listener from RuleFlowEventSupport
-----------------------------------------------------------------------------------------
Key: JBRULES-1770
URL: https://jira.jboss.org/jira/browse/JBRULES-1770
Project: JBoss Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Rule Flow
Affects Versions: 4.0.7
Environment: MyEclipse Blue, Windows XP,
Reporter: Richard bedard
Assignee: Mark Proctor
I have 9 ruleFlows, A, B and C and 6 others
A is the main one that include B as a subflow and 6 others, B include C as a subflow
When RuleFlowEventSupport.fireRuleFlowProcessCompleted is called, the listeners list contains 8 elements, 1 per sub ruleflow.
The size of the list is set in a variable "i" for performance i guess:
for ( int i = 0, size = this.listeners.size(); i < size; i++ ) {
But somehow, i didn't check the reason, the method removeEventListener is called and the list size is now 7, so im
having an java.lang.IndexOutOfBoundsException.
This appen when the subflow C isn't changing the working memory(no insert, modify or remove), when an object is inserted,
there is no error... I've tried with and without shadow fact "setShadowProxy( false/true );"
Object removed:
listener RuleFlowProcessInstanceImpl (id=7454)
id 2
nodeInstances ArrayList<E> (id=7749)
process RuleFlowProcessImpl (id=7750)
state 2
workingMemory ReteooStatefulSession (id=7444)
Stack that show the object removing while iterating on the list:
RuleFlowEventSupport.removeEventListener(RuleFlowEventListener) line: 48 <----- A listerner is removed here
ReteooStatefulSession(AbstractWorkingMemory).removeEventListener(RuleFlowEventListener) line: 306
RuleFlowProcessInstanceImpl.setState(int) line: 184
EndNodeInstanceImpl.trigger(RuleFlowNodeInstance) line: 30
RuleFlowJoinInstanceImpl.triggerCompleted() line: 89
RuleFlowJoinInstanceImpl.checkActivation() line: 85
RuleFlowJoinInstanceImpl.trigger(RuleFlowNodeInstance) line: 59
SubFlowNodeInstanceImpl.triggerCompleted() line: 51
RuleFlowProcessInstanceImpl.ruleFlowCompleted(RuleFlowCompletedEvent, WorkingMemory) line: 262
RuleFlowEventSupport.fireRuleFlowProcessCompleted(RuleFlowProcessInstance, InternalWorkingMemory) line: 86 <--- Iterating on the listeners list here
RuleFlowProcessInstanceImpl.setState(int) line: 185
EndNodeInstanceImpl.trigger(RuleFlowNodeInstance) line: 30
RuleFlowJoinInstanceImpl.triggerCompleted() line: 89
RuleFlowJoinInstanceImpl.checkActivation() line: 85
RuleFlowJoinInstanceImpl.trigger(RuleFlowNodeInstance) line: 59
RuleFlowGroupImpl(RuleFlowSequenceNodeInstanceImpl).triggerCompleted() line: 38
RuleFlowGroupImpl.setActive(boolean) line: 103
RuleFlowGroupImpl$DeactivateCallback.execute(InternalWorkingMemory) line: 211
ReteooStatefulSession(AbstractWorkingMemory).executeQueuedActions() line: 1312
ReteooStatefulSession(AbstractWorkingMemory).fireAllRules(AgendaFilter, int) line: 467
ReteooStatefulSession(AbstractWorkingMemory).fireAllRules() line: 439
DroolsStdImpl.executeRulesEngine(List<Object>, String) line: 100
--
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
13 years, 1 month
[JBoss JIRA] Created: (EJBTHREE-1166) jta-data-source / non-jta-data-source
by Jesper Pedersen (JIRA)
jta-data-source / non-jta-data-source
-------------------------------------
Key: EJBTHREE-1166
URL: http://jira.jboss.com/jira/browse/EJBTHREE-1166
Project: EJB 3.0
Issue Type: Bug
Environment: JBoss AS: SVN / trunk (rev 68402)
jboss-ejb3-cache version="0.11.1"
jboss/jboss-ejb3-ext-api version="0.1.2.Beta1"
jboss/jboss-ejb3-impl version="0.1.2.Beta1"
Reporter: Jesper Pedersen
I get the following:
persistence.units:ear=rasp-sender.ear,unitName=e-akten-test -> java.lang.RuntimeException: Specification violation [EJB3 JPA 6.2.1.2] - You have not defined a non-jta-data-source for a RESOURCE_LOCAL enabled persistence context named: e-akten-test
persistence.units:ear=rasp-sender.ear,unitName=e-akten -> java.lang.RuntimeException: Specification violation [EJB3 JPA 6.2.1.2] - You have not defined a jta-data-source for a JTA enabled persistence context named: e-akten
The EJB3 persistence spec section 6.2.1.5 states:
"In Java EE environments, the jta-data-source and non-jta-data-source elements are used
to specify the global JNDI name of the JTA and/or non-JTA data source to be used by the persistence
provider. If neither is specified, the deployer must specify a JTA data source at deployment or a JTA
data source must be provided by the container, and a JTA EntityManagerFactory will be created to cor-
respond to it."
I'm counting on the last case -- data source must be provided by container + entity manager.
Hope this helps !
--
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
13 years, 1 month
[JBoss JIRA] Created: (JBAS-4413) Incorrect behaviour in TCLFilter
by Poyan (JIRA)
Incorrect behaviour in TCLFilter
--------------------------------
Key: JBAS-4413
URL: http://jira.jboss.com/jira/browse/JBAS-4413
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Logging
Affects Versions: JBossAS-4.0.5.GA
Reporter: Poyan
Assigned To: Scott M Stark
Just one TCLFilter can be added to an appender, decide method return either ACCEPT or DENY.
Should return NEUTRAL is some case.
public int decide(LoggingEvent event)
{
int ok = Filter.DENY;
if( acceptOnMatch == true )
{
ok = Filter.DENY;
if( isMatchingTCL() ){
ok = Filter.ACCEPT;
}
}
else
{
ok = Filter.ACCEPT; // CHANGING THIS ROW TO ok = Filter.NEUTRAL; should do that you check the other filters to.
if( isMatchingTCL() )
ok = Filter.DENY;
}
return ok;
}
Log4j.xml:
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t] %c - %m%n"/>
</layout>
<filter class="org.jboss.logging.filter.TCLFilter">
<param name="AcceptOnMatch" value="false"/>
<param name="DeployURL" value="jboss-common-client.jarpoyan"/>
</filter>
<filter class="org.jboss.logging.filter.TCLFilter">
<param name="AcceptOnMatch" value="false"/>
<param name="DeployURL" value="dnsns.jarpoyan"/>
</filter>
</appender>
--
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
13 years, 1 month