[Design of JBoss ESB] - Problem in Content Based Routing
by Neha29
I want to perform Content Based Routing. I want to give my custom object for the rules to execute the action.I am sending a serialized java object using jms .
But i am unable to get the right output.
My JBossesb.xml snippet is
|
| <services>
| <!-- ESB CBR Service -->
| <service category="MyFirstCBRServicesESB" description="ESB Listener" name="FirstCBRServiceESB">
| <listeners>
| <!-- Gateway -->
| <jms-listener busidref="quickstartGwChannel" is-gateway="true"
| maxThreads="1" name="the-gateway"/>
| <jms-listener busidref="quickstartEsbChannel" maxThreads="1" name="XPathContentBasedRouter"/>
| </listeners>
| <actions mep="OneWay">
| <action name="print" class="org.jboss.soa.esb.actions.SystemPrintln">
| <property name="message"
| value="Message beforeeee Routing"/>
| </action>
| <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="ContentBasedRouter">
| <property name="destinations">
| <route-to destination-name="express"
| service-category="ExpressShipping" service-name="ExpressService"/>
| <route-to destination-name="normal"
| service-category="NormalShipping" service-name="NormalService"/>
| <route-to destination-name="test"
| service-category="Test" service-name="TestService"/>
| </property>
| <property name="ruleReload" value="true"/>
| <property name="ruleSet" value="SimpleCBRRules"/>
| <property name="object-paths">
| <object-path esb="body.Task" />
| </property>
|
| </action> </actions>
| </service>
My Rule file is
|
| package com.jboss.soa.esb.routing.cbr
|
| #list any import classes here.
| import org.jboss.soa.esb.message.Message;
| import org.jboss.soa.esb.message.format.MessageType;
| import task.Task;
|
| //expander XPathLanguage.dsl
|
| #declare any global variables here
| global java.util.List destinations;
|
| rule "Routing Rule using XPATH"
|
| when
| t : Task(status == 1)
|
| then
| System.out.println("EXPRESS");
| destinations.add("express");
|
|
| end
|
| rule "Routing Rule using XPATH less"
| when
| t:Task(status == 2 )
|
| then
|
| System.out.println("NORMAL");
| destinations.add("normal");
|
| end
|
| rule "Routing Rule using XPATH test"
| when
| t:Task(status == 3)
|
| then
| System.out.println("TEST");
| destinations.add("test");
|
| end
|
Iam sending a Task object with the status member defined to the queue but iam not able to find the desired output.
How to go about it ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4169775#4169775
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4169775
17 years, 8 months
[Design of JBoss Portal] - Re: portal clustering problem when using optimistic locking
by prabhat.jha@jboss.com
I spent this weekend watching Olympics and running tests with new hibernate/jbc jar. Here are the results:
With new jar, results are as good as previous jar upto 3-node which is almost linear taking 1400 users on one node as baseline. In 4-node cluster, results are better and it can handle 5300 users which used to be only 4200. With 5-nodes, result is only a bit better, it handles 3100 which used to be 2800.
Just to make sure there was nothing wrong with 5th server, I used another server and results look similar.
I also verified the new jar with Opt. Lock. because this whole issue started when OL was used (please see the first page of this thread). I don't see any problem with OL and REPL_SYNC combination. So, I think this new jar is better.
I will take thread dumps with 5 nodes with new jar as Brian had asked for. I will also look into why org.jboss.portal.core.impl.model.portal.PortalObjectImpl.getChild is not using cache.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4169772#4169772
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4169772
17 years, 8 months
[Design of EJB 3.0] - Re: EJBTHREE-1423 Test case for @RemoteBinding
by ALRubinger
Good job, you've exposed https://jira.jboss.org/jira/browse/JBMETA-91, which I'll get into the next release (1.0.0.Beta36) this weekend assuming no regression in other dependent testsuites.
Using current SNAPSHOT of jboss-metadata, I've now got all these tests passing locally.
Some change requests to your patch (mostly housekeeping):
* build/pom.xml .. let's keep that out of scope. I've updated the jboss-metadata dependency in SVN.
* Add to setupBeforeClass the boilerplate for deploying *-aop.xml, example in JndiSessionRegistrarTestCaseBase (else tests will fail)
* Add tests that the explicit addresses are also unbound upon undeploy
Also, the package name / class name of the test could be more in-line with those you've done for JndiSessionRegistrarTestCaseBase; they both test pretty much the same thing, only difference is that this new one uses explicit bindings as opposed to the default. Maybe they could be merged? I'd just like it to be ultra-clear what these tests do from their names alone (JndiSessionRegistrarTestCaseBase sounds pretty vauge). Open to your suggestions here and then we'll move things around to be friendlier.
S,
ALR
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4169740#4169740
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4169740
17 years, 8 months
[Design of EJB 3.0] - Some Issues for Community
by ALRubinger
I've the following issues which should be good candidates for community input, so sign up here. :)
All deal with the EJB3 Proxy Component, located:
http://anonsvn.jboss.org/repos/jbossas/projects/ejb3/trunk/proxy/
Encapsulate Container infomation in TO/VO:
https://jira.jboss.org/jira/browse/EJBTHREE-1454
The Container, in its initialization, calls upon a JNDI Registrar to "bindEjb"; this is responsible for creating all Proxy Factories, registering them with the MC abstraction, and binding appropriate Proxy entries to JNDI. Over the past couple weeks I've kept adding onto the API (JndiSessionRegistrarBase.bindEjb, all Proxy Factory and Proxy Invocation Handler Constructors) container information, and now everything's cluttered. Also making a simple change means you have to propogate that through the 3 layers involved. So this needs encapsulation into a single value object to describe the necessary info from the requesting container, and pass that around instead.
MockServer must report startup / shutdown
https://jira.jboss.org/jira/browse/EJBTHREE-1396
RemoteAccessTestCase starts up a MockServer in a separate process. The current mechanism used is to Thread.sleep for it to startup, and kill the Process to shut it down. Could be more elegant such that the test doesn't rely on a startup within X seconds (under load this can cause incorrect transient failures). Best approach here is probably to open some socket, implement a minimal protocol, and make hooks for "isRunning" and "shutdown" tasks. Nothing too fancy required, this is a little standalone process used in testing only.
Create Tests for @Remote pass-by-value within local JVM
https://jira.jboss.org/jira/browse/EJBTHREE-1401
Spec-defined, see ticket.
S,
ALR
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4169734#4169734
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4169734
17 years, 8 months