Santhosh Kalisamy

Ranch Hand
+ Follow
since Apr 15, 2008
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Santhosh Kalisamy

I have managed to achieve this with WMQ Connector itself...



WMQ Queue name should be "topic:<TOPIC_NAME>"

I hope, this helps for someone....
I have confirmed with Mulesoft and WMQ Connector doesn't support Publish/Subscribe to Queue.

So, alternative solution could be....

Solution

Use a standard JMS connector, pointing to a Spring bean defined Connection Factory.

Procedure

1 - Create a Spring Bean Connection factory



2 - Create a standard JMS connector and point to the Connection Factory defined in the previous step using a connectionFactory-ref attribute


3 - Create Publishers using <jms:outbound-endpoint ...> elements



4 - Create Subscribers using <jms:inbound-endpoint ...> elements



You can use wildcards in the topic name, so you can match more than one node in a topic tree:



In the previous sample, the inbound endpoint is subscribed to any node in the topic tree that starts with TEST. In the provided sample application it will receive messages from both TEST/TOPIC/1 and TEST/TOPIC/2.

Sample Application


Please refer to the attached configuration file.

You must create a properties file named wmq.properties and place it in the classpath. The required properties are as follow:

wmq.hostName
wmq.port
wmq.queueManager
wmq.channel
wmq.username
wmq.password


You should change the topics names to match the ones used in your environment. To run the application as is, ensure that the following topics are created:

TEST/TOPIC/1
TEST/TOPIC/2


To test the application issue the following commands from the prompt (requires curl):

curl -v -X GET http://localhost:8081/input
curl -v -X GET http://localhost:8082/input


You should be able to see an output like:

INFO 2013-07-23 17:40:26,539 [[wmq-topics].Subscriber3.stage1.02] org.mule.api.processor.LoggerMessageProcessor: Received by Subscriber3: TESTING TEST/TOPIC/1
INFO 2013-07-23 17:40:26,539 [[wmq-topics].Subscriber1.stage1.02] org.mule.api.processor.LoggerMessageProcessor: Received by Subscriber1: TESTING TEST/TOPIC/1

INFO 2013-07-23 17:40:36,183 [[wmq-topics].Subscriber3.stage1.02] org.mule.api.processor.LoggerMessageProcessor: Received by Subscriber3: TESTING TEST/TOPIC/2
INFO 2013-07-23 17:40:36,183 [[wmq-topics].Subscriber2.stage1.02] org.mule.api.processor.LoggerMessageProcessor: Received by Subscriber2: TESTING TEST/TOPIC/2

Hi,

We are using Java 8, Mule ESB 3.7.2 with WMQ Connector.

This is Pub/Sub application and I have created subscribers with Unique Application Identity Data. This is available within IBM WMQ as MQMD.ApplIdentityData.

But, Mule message doesn't bring this header information. Is there any way to access this value in Mule flow?

Application Design is like this...
* 2 Flows. Flow #1 works as a Publish flow will publish into a WMQ Topic.
* WMQ Subscribers will be added into a WMQ - Queue.
* Flow #2 will be pickup each subscriber message and process.
* Each subscriber got unique Application Identity Data and I need to access that value in Flow #2 (Consumer Flow).

Mule - WMQ Connector:



Mule Message:
Hi,

We are using...

Java 8, Mule ESB 3.7.2 and IBM WMQ.

I have a requirement to configure Mule WMQ Connector to write message into Topic.

Does anyone know how to do this? if so, please share.

Primary Goal: Design 2 flows. 1 will work as Producer and 2nd would behave as Consumer.
This will help to add one message to WMQ where as Multiple Consumers will receive messages.

Any help is highly appreciated.
Thanks Jai.

We are already LIVE with JBoss AS 7.1.1.Final. Is there any workaround?
Hi,
I do have 2 JBoss standalone instances running. 1 act as Server and another 1 would client.


SERVER:


Remote Interface


EJB Impl

server.log

Client


jboss-ejb-client.properties


It's working well. But,

I have a scenario, where (only) SERVER Application has been redeployed. It breaks the connection on CLIENT application. I have to redeploy CLIENT application (even if no changes made on CLIENT). Possible to avoid this?

If CLIENT tries to reconnect, It gets following error message....




Hi,

I do have an design question regarding making EJB call within JMS Queue

Java : Java 7
Server: JBoss AS 7.1.1.Final
EJB: EJB 3 (Not fully, Migrated from EJB 2 to 3 with some tweeks)

The current design is like that.

ApplicationSer1 has been deployed JBossInstance1 @ UNIXServer1, and
ApplicationCli2 has been deployed JBossInstance2 @ UNIXServer1.

ApplicationCli2 makes EJB call to ApplicationSer1 for many actions - Direct Call.

ApplicationCli2 already has an Message Queue (Local).

Is it ok to make a EJB call to ApplicationSer1 on ApplicationCli2 within Message Queue (Receiver)

I tested the call, it works well.

I am just worried about the performance issues.

BingBing Wang wrote:Santhosh,

I created a custome module which has log4j.xml and module.xml. The module is included on JBoss deployment structure xml file. But I did not see the log created in the defined directory.

Please give me some pointers when you get a chance.

Thank you!



Hi Wang,

could you please paste here (or new thread and give me the link) your log4j.xml, module.xml with module directory structure and jboss-deployment-structure.xml.

Will see, how can I help...

Good Luck!
11 years ago
Friends,

I am working on Migration project. I have to upgrade my Java webservice from Axis to Axis2.

services.xml




Java Webservice Class:


WSDL File (Part)


I have used Java annotations to change port number (based few tutorials and forums). But it didn't update port name on WSDL.

Could anyone help me to update Port Name on WSDL please?


Because, my Java webservice client is VB6 and it is hard to update them...

For reference I have pasted the VB6 (snippet) code:



When I replace

with


It worked.

But, It is very hard to fix on client side. So, would like to fix on Server side byt changing the SERVICE NAME and PORT NAME on WSDL.

Please share your views.

11 years ago
I have fixed it. 2 solutions.

1. add log4j.xml in to a blank jar and place it on EAR/lib directory.
2. Create a custom module which just has log4j.xml and module.xml. Include that module on JBoss deployment structure xml file. It will be picked up.

Good luck buddies. If anyone need more information, I will post the solution code here later.
12 years ago
Friends,

I found few details about the log4j configuration.

We do have few application already running on JBoss 3.x and I am migrating them to JBoss 7.1.1.Final.

Few of the WAR file, JAR files and EAR files. I found some documents to configure the Log4j within JBoss.

It worked great with WAR files. Still, I couldn't make it work on EAR files.




I can't use JBoss logging because it is a big application and all classes using Log4j. Now, what is the best place for log4j.properties?

I can have all EAR classes Logging to 1 configuration....
12 years ago
Found the problem. Thanks to Jaikiran.



12 years ago
Hi, I do have 2 JBoss stanalon instance running. 1 act as Server and another 1 would client.


SERVER:


Remote Interface


EJB Impl

server.log

Client


jboss-ejb-client.properties


No error/log on server side. Client side, it is failing with following error:



*************************************************

Tried without using properties file:




12 years ago
Thanks Jai.

Yes. Our BA team has the knowledge to edit the Properties files.

We do have few values to be configured.

Mostly, they update the properties file and restart the JBoss server without Developer's help.

If I build within Application packaging, I may need to rebuild the application.

One more thing, my client doesn't like rebuilding for LIVE environment. They want to use UAT Deployment files to deploy in Production. But, they are OK with us to change values on External properties files, which has few environment specific values/URLs.

12 years ago