[JBoss JIRA] Created: (JBESB-2882) Add support for fireUntilHalt to BusinessRulesProcessor
by Jeff DeLong (JIRA)
Add support for fireUntilHalt to BusinessRulesProcessor
-------------------------------------------------------
Key: JBESB-2882
URL: https://jira.jboss.org/jira/browse/JBESB-2882
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 4.6
Reporter: Jeff DeLong
To better support CEP, an ESB Rule Service should be able to create the KnowledgeBase, StatefulKnowledgeSession, etc, and then execute fireUntilHalt. This will cause the thread to block, and the rules engine will continue to process (in a separate thread). Either the same ESB Service, or different service with access to the StatefulKnowledgeSession, can then receive messages / events and insert them into the StatefulKnowledgeSession.
FireUntil Halt provides two important benefits to a CEP application. First it provides more timely rules firing. Even more important, it support the case where the absence of incoming events should cause rules to fire.
--
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
14 years, 4 months
[JBoss JIRA] Created: (JBESB-2830) Add Stream Mode support to BusinessRulesProcessor
by Jeff DeLong (JIRA)
Add Stream Mode support to BusinessRulesProcessor
-------------------------------------------------
Key: JBESB-2830
URL: https://jira.jboss.org/jira/browse/JBESB-2830
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Reporter: Jeff DeLong
The BusinessRulesProcessor should support configuration for "StreamMode" with StatelessKnowledgeSessions. Most CEP applications will require StreamMode to enable sliding window support, garbage collection of expired facts, etc. This is really important (a necessity), and is turned on through the API.
This would require configuration such as
<action class="org.jboss.soa.esb.actions.BusinessRulesProcessor" name="OrderCountHistory">
<property name="ruleSet" value="OrderCount.drl"/>
<property name="ruleReload" value="true"/>
<property name="stateful" value="true"/>
<property name="vventProcessingOption " value="STREAM"/>
The code to use this would be something like:
kconfig = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
kconfig.setOption( EventProcessingOption.STREAM );
kbase = readKnowledgeBase(kconfig);
sconfig = KnowledgeBaseFactory.newKnowledgeSessionConfiguration();
sconfig.setOption( ClockTypeOption.get( ClockType.REALTIME_CLOCK.getId() ) );
ksession = kbase.newStatefulKnowledgeSession(sconfig, null);
--
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
14 years, 4 months
[JBoss JIRA] Created: (JBESB-2831) Add Exit Point support to BusinessRulesProcessor
by Jeff DeLong (JIRA)
Add Exit Point support to BusinessRulesProcessor
------------------------------------------------
Key: JBESB-2831
URL: https://jira.jboss.org/jira/browse/JBESB-2831
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Reporter: Jeff DeLong
ExitPoint support should be provided with BusinessRulesProcess. This would allow one or more ExitPoints to be declared in the ESB service configuration. Basically exit point support would take the object inserted into the exit point from the rule, create a new ESBMessage, copy the object into the ESB Message based on the exit point configuration, and send the ESB message to a configured "destination" (similar to a router configuration).
This would require configuration such as
<action class="org.jboss.soa.esb.actions.BusinessRulesProcessor" name="OrderCountHistory">
<property name="ruleSet" value="OrderCount.drl"/>
<property name="ruleReload" value="true"/>
<property name="stateful" value="true"/>
<property name="object-paths">
<object-path entry-point="OrderEntryPoint" esb="body.TheOrderHeader"/>
</property>
<property name="exitPoint value="OrderExitPoint"
<route-to destination-name="x" service-category="y" service-name="z"/>
<need to either use set-payload-location or object mapper to map location of added data in new message>
</property>
</action>
The configuration of multiple exit points should be allowed.
A class would then need to be added that implemented the ExitPointInterface and was instantiated and configured from the BusinessRulesProcessor such as:
public class RulesExitPointServiceInvoker implements ExitPoint
{
// constructor with configuration details
// service category, service name, and object mapping or set-payload-location details
// required method
public void insert(Object object) {
try {
ServiceInvoker invoker = new ServiceInvoker(service-category, service-name);
Message requestMessage;
requestMessage = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
// add payload stuff /object mapping
requestMessage.getBody().add(object);
invoker.deliverAsync(requestMessage);
} catch (MessageDeliverException mde) {
System.out.println("Eating this Exception: " + mde);
}
}
}
where the BRP code looked like:
RulesExitPointServiceInvokerr exit = new RulesExitPointServiceInvoker();
KnowledgeRuntime kruntime = (KnowledgeRuntime) ksession.getEnvironment();
kruntime.registerExitPoint("exit-point", exit);
--
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
14 years, 4 months
[JBoss JIRA] Created: (JBESB-2883) Support Drools audit log in BusinessRulesProcessor
by Jeff DeLong (JIRA)
Support Drools audit log in BusinessRulesProcessor
--------------------------------------------------
Key: JBESB-2883
URL: https://jira.jboss.org/jira/browse/JBESB-2883
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 4.6
Reporter: Jeff DeLong
It would be nice if the BusinessRulesProcessor allowed for configuration of a log file for audit logging. This audit log can then be read by the JBTools Drools Audit viewer. Which is very convenient for debugging.
The API looks like:
logger = KnowledgeRuntimeLoggerFactory.newThreadedFileLogger(ksession, "log/audit", 500);
So the configuration requires the path to the log file (relative path will be from the bin directory and the user must create the log directory in bin) as well as the time interval after which the log will be written, e.g. 500 milliseconds.
--
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
14 years, 4 months
[JBoss JIRA] Created: (JBESB-2783) systinet specific loopback transport
by Kevin Conner (JIRA)
systinet specific loopback transport
------------------------------------
Key: JBESB-2783
URL: https://jira.jboss.org/jira/browse/JBESB-2783
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Registry and Repository
Affects Versions: 4.6
Reporter: Kevin Conner
Fix For: 4.7
We are currently proxying systinet UDDI requests via a mock servlet implementation but we need to investigate implementing a loopback transport as a replacement.
It looks like we need to create an implementation of org.idoox.transport.Transport and register this with the TransportRepository.
I looked into the JdkClient but this is not what we are after, all it does is use the JDK URLConnection class as the transport.
--
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
14 years, 4 months