April 2012


Last 2 days i was facing a problem with CORBA environment, as the client was providing us incorrect corba names. Running the application and load everything to get a not found error was a big deal for me (lazy i am ).

so i have developed a very small program that checks the corba name in the corba Naming service.

the usage of the program is as the following:

Usage: java -jar corbaPing.jar host port namingService contextPath

Example: java -jar corbaPing.jar 192.168.122 20000 NameService all/product/bundle/manager

if the there is something registered in the provided context path, you will get the IOR for this reference. or you got an error for the problem you face.

you can download the jar from this URL: http://www.nile-sys.com/tools/corba/corbaPing.jar

i wish this small tool could make your life easier.

Sometimes you have to use the Simple Language to determine the endpoint URI in the Spring DSL.
For example suppose the input message contains the (to endpoint URI) in an attribute called “targetID”. if you used the normal definition like the following:

<route>
<camel:from uri="vm://add"/>
<camel:to uri="vm://${in.body[0].targetID}"/>
</route>

You will end up with Camel trying to create a queue called “${in.body[0].targetID}” not its value.

in order to avoid this you can use the EIP Reception List which allow you to define a set of recipients, and inside the recipient list you can use the Simple Language as the following:

<route>
<camel:from uri="vm://add"/>
<camel:recipientList>
<camel:simple>vm://${in.body[0].targetID}</camel:simple>
</camel:recipientList>
</route>

in this case the Camel creates a queue with the value of the Simple Expression.