How do I configure a kafka publisher within a liferay application? - apache-kafka

We have a big Liferay workspace project with a lot of OSGi modules. Now we came into a situation like an event-driven notification system.
The Liferay application should send events to the Kafka broker
A spring boot application should listen to those events and send out appropriate notifications
So the Liferay application act as a producer and the spring boot application as a consumer. The latter part is not a concern. I can find thousands of resources that will help me. But the first one is a headache now.
All over the internet, I haven't found a single piece of information where it explains how to configure a Liferay application as a Kafka producer. If someone could shed some light on that, it will be really helpful.
nb : I am a newbie to liferay world, basically I am a spring boot developer.

Related

Zookeeper/Kafka with Tomcat - Possible At All?

I was wondering if someone has used zookeeper/kafka embeeded within Tomcat. I know that Kafka requires Zookeeper, but does it mean that I have to run Kafka and Zookeeper as separate instances? So far I cannot see any use cases where everything has been bolt in. Could anyone advise?
My question is more around the concept of using zookeeper and kafka as a jar within the same tomcat web application.
Both Kafka and Zookeeper are meant to be used in a stand-alone fashion, run as separate processes.
They should even be on different machines/vms/containers than the tomcat web application.
You also probably want a Zookeeper cluster of 3-5 machines, rather than a single one, at least for production.
Both of them have Java clients though, for you to interact from the web application with them, and those are OK to include.

ISO8583 middleware with JBoss

I want to ask about JBoss Middleware for ISO8583.
So, I kinda new on ISO8583, from what I know is we could use JPOS framework for this one. Then my supervisor ask me to research about JBoss Middleware that could be used to develop middleware application for send, receive, and parse ISO8583 message.
I have read on JBoss Middleware website, unfortunately I'm still not sure which JBoss technology should I use to develop such application.
Here is my questions:
1. In order develop enterprise application that capable to send, receive, and parse ISO8583, should I combine JPOS with JBoss Middleware? or JBoss Middleware has a complete capability to handle it?
2. Does anyone has/know good material/tutorial for me to learn about building ISO8583 middleware with JBoss technology?
Thank you.
JBoss Middleware is a family of products and its components alone do not provide ISO8583 capabilities out of the box.
jPOS is one of the most popular Java frameworks that provide complete capabilities to handle sending and receiving ISO8583 messages. There are other alternatives such as j8583 and IsoTypes.
You can combine any of these ISO8583 libraries together with JBoss Fuse (part of the JBoss Middleware family) to build a solution capable of sending, receiving and parsing ISO8583 messages.
I'm not aware of a definitive guide about building such solutions. If you need to use JBoss Middleware, you can follow this route:
Look into IsoTypes, which provides an ISO8583 marshalling library for Apache Camel (used by JBoss Fuse).
Start by building a Camel route that implements the IsoType library functions. Look into this sample project.
Please, be aware that building a production ready ISO8583 server and/or client from open source solutions require significant work in terms of scalability, information security and compatibility with multiple financial hosts and switches.
My answer only refers to the first basic steps to understand your problem/solution fit a bit better.
As a side note, you may be interested in looking at jreactive-8583, an ISO8583 connector that handles message parsing and the network layer out of the box. You may build your application using this and deploy it into JBoss Application Server (part of the JBoss Middleware family too). I use it in production.
You can take advantage of JPos Q2 and create a servlet deployable to JBoss container.
In the service init method you can do this:
Q2 q2 = new Q2();
q2.start();

Creating JMS message using activemq and eclipse and automated with ANT?

I am very novice in Java programming but In my course have to do JMS work. But I don't know how to do. and can anyone help me by sending the very clear step by step process for creating the publisher/subscriber model using activemq and eclipse? how to integrate these two and I also have to make it automated using ant but i don't know how to do.
You can get them by simply google "Getting started with ActiveMQ" So alwayts try to google first and then ask here.Anyway ActiveMQ is a messaging service. These 1 , 2 , 3 are very clear tutorials.By using them You can build a simple messaging service either it use queue or topic.But I strongly suggest you to follow ActiveMQ guide for help in your case.Now You also want to setup eclipse and ant(as i am unable to understand why you need ant) then follow this step by step tutorial.This may be a better tutorial among allNow You can find a step by step configurtation of activemq with eclipse here

Jboss ESB Services on multiple machines

I am very new to jboss esb and trying to learn and configure a new startup project.
The project deals with using ESB as the backbone and multiple applications connecting to it for Intg.
I have gone through each of the examples provided and was able to reach to a certain level, but little confused on few other stuff.
1) Use ESB to be hosted on machine1 (consumer) and process this message (it works).
2) Now the sender and ESB consumer are on 2 different machines. The sender is unable to locate/load the esb consumer.
I believe you might have enough experience working through this, so would you know how do I get this resolved.
you can reach out to me on hitjain_83#hotmail.com
Your help would be appreciated!!!
This will probably help:
https://community.jboss.org/thread/146623

Problem with embedding activemq to jboss application server

I'm totally a newbie in Java Enterprise and I have a lot stuff yet to learn. Right now I'm working which involves JMS using JBoss and ActiveMQ. An application sends messages to queues in JBoss and my goal is to access those messages using any message broker (in this case I tried to use ActiveMQ). So I think it's better for me to embed ActiveMQ to JBoss. I used the link below as the guidance :
http://activemq.apache.org/integrating-apache-activemq-with-jboss.html
I followed every single steps in the guide except that I used JBoss 4.2.3 and ActiveMQ 5.1.1. If this problem results from the different version of the tools, I think I can't help it out because other versions seem does not work on my machine. When I run JBoss to test whether the embedding is working or not, I can't see anything running on port localhost:61616 which is the default port for ActiveMQ, although JBoss seems run well. My question is :
Is any one know how to fix this? Or has anyone ever experienced such problem?
Is there any way to access queue in Jboss?
If this question is pretty ambiguous or need more details, let me know. Thanks in advance for any help.
I'm quite sure the embedded broker is started (transport vm://localhost) which results in a working JMS broker for that VM. But this broker isn't reachable from outside (via tcp or anything else)
Do you see any error in the log when launching jboss? I managed to make it work with Jboss 4.2 and ActiveMQ 5.4, and once integrated it only gives you a small hint that is working correctly with some info message saying "broker started in port ..." .
Also you can try to use the sample producers and receivers in ActiveMQ to test if the queue is working correctly.
If you still have problems I can try to help