[JBoss JIRA] Created: (JBESB-3389) CBR: an object path is converted to a real object twice
by Martin Vecera (JIRA)
CBR: an object path is converted to a real object twice
-------------------------------------------------------
Key: JBESB-3389
URL: https://jira.jboss.org/browse/JBESB-3389
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Content Based Routing, Rosetta
Affects Versions: 4.8, 4.7 CP2
Reporter: Martin Vecera
Priority: Critical
1) org.jboss.soa.esb.actions.ContentBasedWiretap.executeRules()
A call is made to ObjectMapper to get real objects from a message based on the predefined object paths.
2) org.jboss.soa.esb.actions.cbr.AbstractPropertyRulesRouter.getMessageObjectsToTests()
Another call is made to ObjectMapper to convert the Object (used as an object path) to the real object.
When the object on the object path is not a String an exception will be thrown, else the routing does not work.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 6 months
[JBoss JIRA] Created: (JBESB-3403) ESB CEP support for KnowledgeBase Partitioning
by David Ward (JIRA)
ESB CEP support for KnowledgeBase Partitioning
----------------------------------------------
Key: JBESB-3403
URL: https://jira.jboss.org/browse/JBESB-3403
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Configuration, Content Based Routing
Affects Versions: 4.9
Reporter: David Ward
Assignee: David Ward
Fix For: 4.9 CP1
In some cases, KnowledgeBase partitioning can improve the overall performance of rule evaluation.
To support this feature, two new configuration options would be added to BusinessRulesProcessor:
1. <property name="ruleMultiThreadEvaluation" value="true"/>
In code, this is simply:
KnowledgeBaseConfiguration config = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
config.setOption(MultithreadEvaluationOption.YES);
2. <property name="ruleMaxThreads" value="5"/>
In code, this is simply:
KnowledgeBaseConfiguration config = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
config.setOption( MaxThreadsOption.get(5) );
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 7 months
[JBoss JIRA] Created: (JBESB-2805) Splitter EAI Pattern: A router that really split the message and delivery the message parts to different message channels
by Ricardo Ferreira (JIRA)
Splitter EAI Pattern: A router that really split the message and delivery the message parts to different message channels
-------------------------------------------------------------------------------------------------------------------------
Key: JBESB-2805
URL: https://jira.jboss.org/jira/browse/JBESB-2805
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Content Based Routing
Affects Versions: 4.6, 4.5, 4.4
Reporter: Ricardo Ferreira
Current JBoss ESB Routers (StaticRouter and StaticWiretap) does not implement fully the EAI Patterns Splitter (http://www.eaipatterns.com/Sequencer.html). Those implementations just take the incoming message and redelivery for diferent services using basic routing. But in the pattern description we found:
"Use a Splitter to BREAK OUT the composite message into a series of INDIVIDUAL MESSAGES, each containing data related to one item"
The proposal is to implement a generic Splitter (org.jboss.soa.esb.actions.Splitter) that takes a message, and, using Smooks, separate the message onto diferent messages (individual messages) and send those individual messages to others message channels. Here's a example of this action:
<action name="splitter" class="org.jboss.soa.esb.actions.Splitter">
<property name="destinations">
<route-to
service-category="Enterprise Business Services"
service-name="FirstService">
<message-splitter
smooksConfig="/META-INF/smooks-res-1.xml"
resultType="STRING" />
</route-to>
<route-to
service-category="Enterprise Business Services"
service-name="SecondService">
<message-splitter
smooksConfig="/META-INF/smooks-res-2.xml"
resultType="JAVA" />
</route-to>
</property>
</action>
I've implemented this action and it is fully working in the following enviroment:
OS: Red Hat Enterprise Linux 5
JVM: Sun JDK 1.5-16
JBoss ESB 4.5
I would like that this feature would be available in the JBoss ESB and the SOA Platform product, since, I've customers that asked me for this kind of feature.
--
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
15 years, 7 months
[JBoss JIRA] Created: (JBESB-880) The ESB is blocked under heavy load when using JMS
by Jiri Pechanec (JIRA)
The ESB is blocked under heavy load when using JMS
--------------------------------------------------
Key: JBESB-880
URL: http://jira.jboss.com/jira/browse/JBESB-880
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Rosetta, Transports
Affects Versions: 4.2 Milestone Release 3
Environment: RHEL 5, PostgreSQL
Reporter: Jiri Pechanec
Assigned To: Mark Little
Priority: Blocker
When the ESB is forced to process a huge batch of messages then it blocks completely.
The ESB configuration was just one service with one listener and gateway. Both gateway and listener are using JMS. The testing was executed twice using one and then four threads per listener and gateway.
The service contains two actions that serves only for message counting.
If you try to send 10000 messages sized around 20 KB it will probaly block after few minutes of processing. The ESB do not respond to TERM signal and even JMX console is not available. The only solution is to kill process violently. With the smaller messages the block does not happend or happends after bigger amount of messages.
The sender is generating following log messages
[Timer-1][BisocketServerInvoker] org.jboss.remoting.transport.bisocket.BisocketServerInvoker$ControlMonitorTimerTask@201d592a: detected failure on control connection Thread[control: Socket[addr=/10.34.34.47,port=2660,localport=51957],5,main]: requesting new control connection
We can not exclude problem in JBoss Messaging itself but when we tried to use plain JMS without ESB we were able to send/receive 300000 messages without any problem.
Moreover the more messages were processed the longer time it takes for the next batch to be processed.
--
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
15 years, 7 months
[JBoss JIRA] Created: (JBESB-3396) ESB CEP support for multiple event streams
by David Ward (JIRA)
ESB CEP support for multiple event streams
------------------------------------------
Key: JBESB-3396
URL: https://jira.jboss.org/browse/JBESB-3396
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Configuration, Content Based Routing, Documentation, Examples
Affects Versions: 4.9
Reporter: David Ward
Assignee: David Ward
Fix For: 4.9 CP1
CEP applications often are designed to correlate messages from multiple event streams. A common example (used often the Drools CEP presentations and documentation) is a Online Trading System, which has a "Home Broker Stream" and a "Stock Trader Stream".
An Enterprise Service Bus such as JBoss ESB can provide a good architecture to support this type of CEP application. The developer could create three ESB Serivces. The first would create the Drool stateful knowledge session (and somehow publish this object to make it available for the other services), insert static facts, and call fireUntilHalt. The second service would represent the Home Broker Stream. It would receive trade requests from the Home Broker (say via a SOAP message), transform the XML into Java BuyOrderEvent objects, and insert these events into the stateful knowledge session via the Home Broker Stream entry point. The third service would be similar to the second service, except that it would handle messages from the Stock Trader, which for the sake of this example, come in as XML via a JMS transport, get transformed into Java BuyAckEvent objects and inserted into the session via the Stock Trader Stream entry point.
The rationale for having multiple services is to be able to handle different protocols and perform different transformations.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 7 months
[JBoss JIRA] Created: (JBESB-3404) Improve business_ruleservice_cep quickstart
by David Ward (JIRA)
Improve business_ruleservice_cep quickstart
-------------------------------------------
Key: JBESB-3404
URL: https://jira.jboss.org/browse/JBESB-3404
Project: JBoss ESB
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Content Based Routing, Examples
Affects Versions: 4.9
Reporter: David Ward
Assignee: David Ward
Fix For: 4.9 CP1
The business_ruleservice_cep quickstart is a good start to an example CEP application. For example, it uses @role(event)'s and sliding time windows.
However, it could be improved in at least a couple ways:
1. Also use entry-points.
2. Re-work it so that things like classnames, test hooks and some of the overall scenario make a bit more sense for a CEP app.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 7 months