Rumah >Java >javaTutorial >Menggunakan JNDI untuk sambungan JMS dalam pembangunan API Java

Menggunakan JNDI untuk sambungan JMS dalam pembangunan API Java

WBOY
WBOYasal
2023-06-18 09:21:521281semak imbas

Memandangkan pembangunan aplikasi perusahaan moden semakin bergantung pada sistem yang diedarkan, penggunaan baris gilir mesej menjadi semakin penting. Perkhidmatan Mesej Java (JMS) ialah API berorientasikan mesej yang boleh digunakan untuk membina sistem pemesejan dengan mudah. Java Penamaan dan Antara Muka Direktori (JNDI) ialah API standard Java untuk mengakses perkhidmatan penamaan dan direktori. Dalam pembangunan API Java, menggunakan JNDI untuk sambungan JMS boleh memudahkan kami mengurus dan menggunakan baris gilir mesej.

  1. Pengenalan kepada JNDI

JNDI ialah API Java yang digunakan terutamanya untuk mengakses perkhidmatan penamaan dan direktori pada masa jalan. Ia menyediakan kaedah biasa untuk mengakses pelbagai perkhidmatan penamaan dan direktori seperti Lightweight Directory Access Protocol (LDAP), Sistem Nama Domain (DNS), dan Common Object Request Broker Architecture (CORBA). JNDI menyembunyikan butiran perkhidmatan penamaan dan direktori di sebalik tabir, membenarkan pembangun menumpukan hanya pada cara mendapatkan dan menggunakan objek yang disediakan oleh perkhidmatan tersebut.

  1. Pengenalan kepada JMS

JMS ialah API berorientasikan mesej untuk menghantar mesej antara aplikasi. Dengan menggunakan JMS, kami boleh menghantar mesej ke baris gilir atau topik dan menerimanya pada masa yang ditetapkan. JMS menyediakan keupayaan untuk pemesejan tak segerak, menjadikannya cara yang ideal untuk berkomunikasi antara sistem yang diedarkan.

  1. Gunakan JNDI untuk menyambung ke JMS

Dalam pembangunan Java API, sangat mudah untuk menggunakan JNDI untuk menyambung ke JMS. Berikut ialah langkah asas untuk menyambung ke JMS:

3.1 Cipta konteks JNDI

Pertama, kita perlu mencipta konteks JNDI. Dalam JMS, konteks ialah objek yang bertanggungjawab untuk menguruskan sambungan dan destinasi. Anda boleh menggunakan kod berikut untuk mencipta konteks awal JNDI:

Hashtable<String, String> env = new Hashtable<>();
env.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
env.put(Context.PROVIDER_URL, "tcp://localhost:61616");
Context context = new InitialContext(env);

3.2 Dapatkan ConnectionFactory dan Destinasi

Seterusnya, kita perlu mendapatkan objek ConnectionFactory dan Destination. ConnectionFactory ialah objek kilang yang digunakan untuk membuat sambungan, manakala Destinasi mewakili destinasi di mana mesej dihantar dan diterima. Jika anda menggunakan ActiveMQ, anda boleh mendapatkan objek ini menggunakan kod berikut:

ConnectionFactory factory = (ConnectionFactory) context.lookup("ConnectionFactory");
Destination destination = (Destination) context.lookup("dynamicQueues/TEST.QUEUE");

3.3 Mencipta Sambungan dan Sesi

Selepas mendapat ConnectionFactory dan Destinasi, kami boleh mencipta objek Connection dan Session. Apabila membuat sambungan menggunakan ConnectionFactory, anda juga boleh menentukan nama pengguna dan kata laluan. Kod berikut menunjukkan cara membuat sambungan:

Connection connection = factory.createConnection("username", "password");
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

3.4 Cipta Pengeluar dan Pengguna

Kini, kita boleh mencipta Pengeluar (untuk menghantar mesej) dan Pengguna (untuk menerima mesej). Kod berikut menunjukkan cara untuk mencipta objek ini:

MessageProducer producer = session.createProducer(destination);
MessageConsumer consumer = session.createConsumer(destination);

3.5 Menghantar dan menerima mesej

Akhir sekali, kami boleh menggunakan Producer untuk menghantar mesej dan Pengguna untuk menerima mesej. Kod berikut menunjukkan cara untuk melaksanakan operasi ini:

TextMessage message = session.createTextMessage("Hello World!");
producer.send(message);

Message receivedMessage = consumer.receive();
if (receivedMessage instanceof TextMessage) {
    TextMessage textMessage = (TextMessage) receivedMessage;
    String text = textMessage.getText();
    System.out.println(text);
}
  1. Ringkasan

Secara amnya, dalam pembangunan API Java, menggunakan JNDI untuk menyambung ke JMS boleh membantu kami dengan lebih mudah Mengurus dan gunakan baris gilir mesej. Dengan menggunakan JNDI kita boleh mendapatkan ConnectionFactory dan Destinasi dengan mudah dan mencipta Connection, Session, Producer dan Consumer. Anda juga boleh menghantar dan menerima mesej dengan mudah. Oleh itu, menggunakan JNDI untuk menyambung ke JMS ialah pilihan yang baik untuk aplikasi perusahaan yang perlu menggunakan JMS dengan kerap.

Atas ialah kandungan terperinci Menggunakan JNDI untuk sambungan JMS dalam pembangunan API Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn