Java Message Service (JMS) হল Java প্ল্যাটফর্মের একটি API যা অ্যাপ্লিকেশনগুলির মধ্যে অ্যাসিনক্রোনাস মেসেজিং যোগাযোগের সুবিধা প্রদান করে। এটি মেসেজ প্রডিউসার (Producer) এবং কনজিউমার (Consumer) এর মধ্যে মেসেজ আদান-প্রদান নিশ্চিত করে। অ্যাপাচি অ্যাকটিভএমকিউ একটি JMS কমপ্লায়েন্ট মেসেজ ব্রোকার, যা JMS প্রটোকল সাপোর্ট করে এবং বিভিন্ন ধরনের মেসেজিং সিস্টেমে কার্যকরীভাবে কাজ করে।
অ্যাপাচি অ্যাকটিভএমকিউ এবং JMS এর মধ্যে ইন্টিগ্রেশন অ্যাপ্লিকেশনগুলোকে সহজেই একে অপরের সাথে যোগাযোগ করতে সাহায্য করে এবং তাদের মধ্যে মেসেজ পাঠানোর জন্য সাধারণ API প্রদান করে।
JMS এর মাধ্যমে অ্যাপাচি অ্যাকটিভএমকিউ এর সঙ্গে ইন্টিগ্রেট করতে হলে, প্রথমে কিছু নির্দিষ্ট পদক্ষেপ অনুসরণ করতে হয়। নিচে প্রতিটি পদক্ষেপ বর্ণনা করা হলো।
প্রথমে অ্যাপাচি অ্যাকটিভএমকিউ সঠিকভাবে ইন্সটল করতে হবে। এর আগে যদি অ্যাকটিভএমকিউ ইন্সটল না করে থাকেন, তবে প্রথমে Apache ActiveMQ Download থেকে সর্বশেষ ভার্সন ডাউনলোড করে ইন্সটল করুন।
আপনার Java অ্যাপ্লিকেশনকে ActiveMQ ব্রোকারের সঙ্গে যোগাযোগ করার জন্য JMS API এবং ActiveMQ JMS Client লাইব্রেরি প্রয়োজন। আপনি Maven অথবা Gradle ব্যবহার করে লাইব্রেরি ইনক্লুড করতে পারেন।
Maven Dependency:
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-client</artifactId>
<version>5.16.4</version> <!-- সর্বশেষ ভার্সন ব্যবহার করুন -->
</dependency>
Gradle Dependency:
implementation 'org.apache.activemq:activemq-client:5.16.4' <!-- সর্বশেষ ভার্সন ব্যবহার করুন -->
JMS ক্লায়েন্ট ব্যবহার করে অ্যাকটিভএমকিউ ব্রোকারের সঙ্গে সংযোগ স্থাপন করার জন্য, প্রথমে ConnectionFactory
তৈরি করতে হবে, যা অ্যাপাচি অ্যাকটিভএমকিউ ব্রোকারে যোগাযোগ স্থাপন করবে।
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class JMSProducer {
public static void main(String[] args) throws JMSException {
// ActiveMQ ব্রোকারের URL দিয়ে কনফিগারেশন তৈরি
String brokerURL = "tcp://localhost:61616"; // অ্যাকটিভএমকিউ ব্রোকারের URL
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerURL);
// JMS Connection তৈরি
Connection connection = connectionFactory.createConnection();
connection.start();
// JMS Session তৈরি
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Queue বা Topic তৈরি
Destination destination = session.createQueue("TestQueue"); // বা createTopic("TestTopic");
// MessageProducer তৈরি
MessageProducer producer = session.createProducer(destination);
// মেসেজ তৈরি
TextMessage message = session.createTextMessage("Hello, ActiveMQ with JMS!");
// মেসেজ পাঠানো
producer.send(message);
System.out.println("Message Sent: " + message.getText());
// সংযোগ বন্ধ করা
producer.close();
session.close();
connection.close();
}
}
এখন, একটি কনজিউমার তৈরি করতে হবে যা ব্রোকার থেকে মেসেজ গ্রহণ করবে। এখানে একটি উদাহরণ দেওয়া হলো:
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class JMSConsumer {
public static void main(String[] args) throws JMSException {
// ActiveMQ ব্রোকারের URL দিয়ে কনফিগারেশন তৈরি
String brokerURL = "tcp://localhost:61616";
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(brokerURL);
// JMS Connection তৈরি
Connection connection = connectionFactory.createConnection();
connection.start();
// JMS Session তৈরি
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Queue বা Topic তৈরি
Destination destination = session.createQueue("TestQueue");
// MessageConsumer তৈরি
MessageConsumer consumer = session.createConsumer(destination);
// মেসেজ গ্রহণ করা
TextMessage message = (TextMessage) consumer.receive();
System.out.println("Message Received: " + message.getText());
// সংযোগ বন্ধ করা
consumer.close();
session.close();
connection.close();
}
}
এখন অ্যাপাচি অ্যাকটিভএমকিউ ব্রোকার চালু করুন। উইন্ডোজ, লিনাক্স বা macOS-এ activemq
স্ক্রিপ্ট রান করে এটি করা যায়।
cd <activemq-directory>/bin
./activemq start
এর পর, আপনার Java অ্যাপ্লিকেশনটি চালু করুন এবং ব্রোকারে মেসেজ পাঠান ও গ্রহণ করুন।
JMS এবং Apache ActiveMQ এর ইন্টিগ্রেশন একটি খুবই সাধারণ এবং কার্যকরী পদ্ধতি যা অ্যাপ্লিকেশনগুলোর মধ্যে অ্যাসিনক্রোনাস মেসেজিং যোগাযোগের জন্য ব্যবহৃত হয়। অ্যাকটিভএমকিউ ব্যবহার করে Queue এবং Topic মডেলগুলোতে মেসেজ পাঠানো এবং গ্রহণ করার জন্য Java অ্যাপ্লিকেশনগুলো সহজেই কনফিগার করা যেতে পারে। এই ইন্টিগ্রেশন আপনাকে একটি স্কেলেবল এবং রিলায়েবল মেসেজিং সিস্টেম তৈরি করতে সাহায্য করবে।
common.read_more