ActiveMQ এর সাথে Spring Framework ইন্টিগ্রেশন

Java Technologies - অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) Apache ActiveMQ এর সাথে Java ইন্টিগ্রেশন |
126
126

অ্যাপাচি অ্যাকটিভএমকিউ (Apache ActiveMQ) এবং স্প্রিং ফ্রেমওয়ার্ক (Spring Framework) একসাথে ব্যবহৃত হলে এটি একটি শক্তিশালী মেসেজিং সিস্টেম তৈরি করতে সক্ষম হয়, যা জাভা অ্যাপ্লিকেশনগুলিতে মেসেজ পাসিং এবং অ্যাসিঙ্ক্রোনাস যোগাযোগ পরিচালনা করতে সহায়তা করে। স্প্রিং ফ্রেমওয়ার্ক অ্যাকটিভএমকিউ এর সাথে সহজে ইন্টিগ্রেট হতে পারে, যার মাধ্যমে আপনি মেসেজিং সিস্টেমকে আরও কার্যকর এবং স্কেলযোগ্যভাবে পরিচালনা করতে পারেন।

Spring Framework এর সাথে ActiveMQ ইন্টিগ্রেশন

স্প্রিং ফ্রেমওয়ার্ক অ্যাকটিভএমকিউ এর সাথে ইন্টিগ্রেট করতে কিছু সাধারণ ধাপ অনুসরণ করতে হয়। এখানে স্প্রিং এর Spring JMS (Java Message Service) API ব্যবহৃত হয়, যা অ্যাকটিভএমকিউ-এর সাথে যোগাযোগ স্থাপন করতে সহায়তা করে।

১. ডিপেনডেন্সি যোগ করা

প্রথমে আপনাকে স্প্রিং এবং অ্যাকটিভএমকিউ সম্পর্কিত ডিপেনডেন্সি আপনার pom.xml (যদি আপনি মাভেন ব্যবহার করেন) ফাইলে যোগ করতে হবে।

<dependencies>
    <!-- Spring JMS -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jms</artifactId>
        <version>5.3.20</version>
    </dependency>

    <!-- Apache ActiveMQ -->
    <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-spring</artifactId>
        <version>5.16.3</version>
    </dependency>
</dependencies>

২. Spring Context Configuration

স্প্রিং কনফিগারেশনে অ্যাকটিভএমকিউ ব্রোকারের সাথে সংযোগ স্থাপন করার জন্য একটি ConnectionFactory কনফিগার করতে হবে। এটি স্প্রিং কনটেইনারে সেভ করা হয়, যাতে বিভিন্ন প্রোডিউসার এবং কনজিউমার এর মাধ্যমে মেসেজ সিস্টেম পরিচালিত হতে পারে।

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- ActiveMQ Connection Factory -->
    <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL" value="tcp://localhost:61616"/>
    </bean>

    <!-- JMS Template -->
    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
        <property name="connectionFactory" ref="connectionFactory"/>
        <property name="defaultDestinationName" value="queue/testQueue"/>
    </bean>

    <!-- Default Message Listener Container -->
    <bean id="messageListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
        <property name="connectionFactory" ref="connectionFactory"/>
        <property name="destinationName" value="queue/testQueue"/>
        <property name="messageListener" ref="messageListener"/>
    </bean>

    <!-- Message Listener Bean -->
    <bean id="messageListener" class="com.example.MessageListener"/>
</beans>

৩. Message Producer (Producer) তৈরি করা

স্প্রিং অ্যাপ্লিকেশনে একটি প্রোডিউসার তৈরি করতে, আপনাকে JmsTemplate ব্যবহার করতে হবে, যা মেসেজ প্রেরণের জন্য ব্যবহৃত হয়। নিচে একটি সিম্পল প্রোডিউসারের উদাহরণ দেওয়া হল:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Component;

@Component
public class MessageProducer {

    @Autowired
    private JmsTemplate jmsTemplate;

    public void sendMessage(String message) {
        jmsTemplate.convertAndSend("queue/testQueue", message);
    }
}

এই কোডটি testQueue নামে একটি কিউতে মেসেজ পাঠাবে।

৪. Message Consumer (Consumer) তৈরি করা

কনজিউমার তৈরি করতে, আপনাকে MessageListener ইন্টারফেস ইমপ্লিমেন্ট করতে হবে, যা অ্যাকটিভএমকিউ কিউ থেকে মেসেজ গ্রহণ করে এবং প্রসেস করে।

import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

public class MessageListener implements MessageListener {

    @Override
    public void onMessage(Message message) {
        try {
            String textMessage = ((TextMessage) message).getText();
            System.out.println("Received message: " + textMessage);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

এটি testQueue কিউ থেকে মেসেজ গ্রহণ করে এবং কনসোল এ প্রিন্ট করবে।

৫. অ্যাপ্লিকেশন চালানো

এখন, আপনার অ্যাপ্লিকেশন চালানোর জন্য স্প্রিং কনটেইনারকে লোড করতে হবে। এটি সাধারণত AnnotationConfigApplicationContext বা ClassPathXmlApplicationContext এর মাধ্যমে করা হয়।

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MainApplication {

    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        MessageProducer producer = context.getBean(MessageProducer.class);
        producer.sendMessage("Hello, ActiveMQ with Spring!");
    }
}

এই কোডটি একটি মেসেজ প্রোডিউস করবে এবং testQueue কিউতে পাঠাবে। কনজিউমার সেই মেসেজ গ্রহণ করবে এবং কনসোলে দেখাবে।


সারাংশ

  • ActiveMQ এবং Spring Integration: স্প্রিং ফ্রেমওয়ার্কের সাথে অ্যাকটিভএমকিউ ইন্টিগ্রেট করার জন্য JmsTemplate, ConnectionFactory, এবং MessageListener ব্যবহার করা হয়। এই সংযোগের মাধ্যমে অ্যাপ্লিকেশনগুলি মেসেজ পাসিং, অ্যাসিঙ্ক্রোনাস কমিউনিকেশন, এবং মেসেজ কিউ পরিচালনা করতে সক্ষম হয়।
  • Producer এবং Consumer: প্রোডিউসার মেসেজ পাঠানোর জন্য JmsTemplate ব্যবহার করে এবং কনজিউমার MessageListener এর মাধ্যমে মেসেজ গ্রহণ করে।
  • Configuration: স্প্রিং কনফিগারেশন ফাইলে অ্যাকটিভএমকিউ সংযোগ এবং মেসেজ লিসেনিং কনফিগার করা হয়।

স্প্রিং ফ্রেমওয়ার্ক এবং অ্যাপাচি অ্যাকটিভএমকিউ ইন্টিগ্রেশন একটি শক্তিশালী মেসেজিং সিস্টেম তৈরি করতে সক্ষম যা বড় এবং স্কেলেবল অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion