Jadual Kandungan
Pengenalan kepada Spring Boot dan Apache ServiceMix
Spring Boot
Apache ServiceMix
Bina sistem ESB menggunakan Spring Boot dan ServiceMix
Tentukan format mesej sistem ESB
Buat konfigurasi asas ServiceMix
Tambah titik akhir REST untuk sistem ESB
Mulakan sistem ESB
Ringkasan
Rumah Java javaTutorial Bina sistem ESB menggunakan Spring Boot dan Apache ServiceMix

Bina sistem ESB menggunakan Spring Boot dan Apache ServiceMix

Jun 22, 2023 pm 12:30 PM
spring boot apache servicemix sistem esb

Memandangkan perniagaan moden semakin bergantung pada pelbagai aplikasi dan sistem yang berbeza, integrasi perusahaan menjadi lebih penting. Bas Perkhidmatan Perusahaan (ESB) ialah model seni bina integrasi yang menghubungkan sistem dan aplikasi yang berbeza bersama-sama untuk menyediakan pertukaran data biasa dan perkhidmatan penghalaan mesej untuk mencapai penyepaduan aplikasi peringkat perusahaan. Menggunakan Spring Boot dan Apache ServiceMix, kami boleh membina sistem ESB dengan mudah Artikel ini akan memperkenalkan cara melaksanakannya.

Pengenalan kepada Spring Boot dan Apache ServiceMix

Spring Boot

Spring Boot ialah rangka kerja untuk mencipta kendiri, aplikasi berasaskan Java peringkat pengeluaran berdasarkan rangka kerja Spring. Ia memudahkan proses membina dan mengkonfigurasi aplikasi Spring dengan menyediakan beberapa konfigurasi dan pratetap biasa di luar kotak. Spring Boot juga menyediakan banyak ciri lain, seperti konfigurasi automatik, pelayan web terbenam, dan sokongan untuk pelbagai perkhidmatan luaran, yang boleh digunakan untuk mencipta pelbagai jenis aplikasi, termasuk aplikasi web, aplikasi kelompok dan perkhidmatan mikro.

Apache ServiceMix

Apache ServiceMix ialah bas perkhidmatan perusahaan (ESB) berasaskan Java sumber terbuka, yang menyediakan satu siri perkhidmatan asas, termasuk penghalaan mesej, transformasi mesej, penyebaran transaksi dan keselamatan . ServiceMix juga menyokong banyak standard bas perkhidmatan yang berbeza, seperti perkhidmatan web dan Java Message Service (JMS). Menggunakan ServiceMix dan komponen luarannya, pembangun boleh dengan mudah menyepadukan sistem dan aplikasi yang berbeza untuk penghalaan mesej dan pertukaran data yang cekap.

Bina sistem ESB menggunakan Spring Boot dan ServiceMix

Untuk membina sistem ESB menggunakan Spring Boot dan ServiceMix, kita perlu melengkapkan langkah berikut terlebih dahulu:

  1. Pasang dan konfigurasikan persekitaran Java.
  2. Muat turun dan pasang Apache Maven dan Apache ServiceMix.
  3. Buat projek Spring Boot bernama "esb-demo".

Seterusnya, kami akan melaksanakan bahagian berlainan sistem ESB langkah demi langkah.

Tentukan format mesej sistem ESB

Bahagian teras sistem ESB ialah format mesej. Dalam contoh ini, kami akan menggunakan format JSON yang ringkas sebagai format mesej, yang termasuk medan berikut:

  • id: Pengecam unik mesej.
  • sumber: Sumber.
  • destinasi: destinasi mesej.
  • kandungan: kandungan mesej.

Buat konfigurasi asas ServiceMix

Seterusnya, kita perlu menentukan konfigurasi asas untuk ServiceMix. Untuk melakukan ini, cipta fail dipanggil "esb.xml" dan tambah kandungan berikut:

<?xml version="1.0" encoding="UTF-8"?>
<blueprint
        xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="
            http://www.osgi.org/xmlns/blueprint/v1.0.0
            http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">

    <camelContext id="camel" xmlns="http://camel.apache.org/schema/blueprint">
        <route>
            <from uri="jms:queue:incoming"/>
            <to uri="jms:queue:outgoing"/>
        </route>
    </camelContext>

    <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL" value="tcp://localhost:61616"/>
    </bean>

    <bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop">
        <property name="maxConnections" value="8"/>
        <property name="connectionFactory" ref="jmsConnectionFactory"/>
    </bean>

    <bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
        <property name="connectionFactory" ref="pooledConnectionFactory"/>
    </bean>

    <bean id="jms" class="org.apache.camel.component.jms.JmsComponent" lazy-init="true">
        <property name="configuration" ref="jmsConfig"/>
    </bean>

</blueprint>
Salin selepas log masuk

Fail konfigurasi ini mentakrifkan laluan Camel yang menerima mesej daripada baris gilir JMS bernama "masuk" dan Hantarnya ke JMS baris gilir bernama "keluar". Fail konfigurasi juga mentakrifkan kilang sambungan JMS untuk menyambung ke ActiveMQ, serta kilang sambungan terkumpul, yang membenarkan penggunaan maksimum sambungan JMS dan komponen JMS untuk menyepadukan Camel dan JMS bersama-sama.

Tambah titik akhir REST untuk sistem ESB

Untuk menerima dan menghantar mesej ESB, kita perlu mencipta titik akhir REST untuk sistem perniagaan. Dalam artikel ini, kami akan melaksanakan dua titik akhir berikut:

  • POST /esb/incoming: Terima mesej ESB daripada sistem perniagaan.
  • DAPATKAN /esb/outgoing: Mengembalikan mesej ESB yang diproses.

Untuk melaksanakan titik akhir ini, buat pengawal Spring Boot bernama "EsbController.java" dan tambahkan yang berikut pada kod sumbernya:

@RestController
public class EsbController {

    private final JmsTemplate jmsTemplate;

    public EsbController(JmsTemplate jmsTemplate) {
        this.jmsTemplate = jmsTemplate;
    }

    @PostMapping("/esb/incoming")
    public ResponseEntity<?> sendIncomingMessage(@RequestBody EsbMessage message) {
        jmsTemplate.convertAndSend("incoming", message.toMessage());
        return ResponseEntity.ok().build();
    }

    @GetMapping("/esb/outgoing")
    public ResponseEntity<List<EsbMessage>> getOutgoingMessages() {
        List<EsbMessage> messages = jmsTemplate.browse("outgoing", session -> {
            List<EsbMessage> result = new ArrayList<>();
            Enumeration<?> enumeration = session.getEnumeration();
            while (enumeration.hasMoreElements()) {
                Message message = (Message) enumeration.nextElement();
                result.add(EsbMessage.fromMessage(message));
            }
            return result;
        });
        return ResponseEntity.ok(messages);
    }

}
Salin selepas log masuk

Kawalan ini Kelas kontena menggunakan JmsTemplate untuk menukar Mesej JSON daripada sistem perniagaan ke dalam mesej JMS dan menghantarnya ke baris gilir ESB. Juga gunakan JmsTemplate untuk mendapatkan semula mesej JSON yang diproses daripada baris gilir ESB.

Mulakan sistem ESB

Selepas melengkapkan langkah di atas, kami telah membina infrastruktur sistem ESB. Untuk menjalankan dan mengujinya secara setempat, kita perlu melakukan langkah berikut:

  1. Tukar kepada direktori akar projek.
  2. Jalankan arahan "mvn clean install" dalam terminal untuk menjana fail JAR projek.
  3. Mulakan Apache ServiceMix dan jalankan "bin/servicemix".
  4. Pasang fail konfigurasi ESB dalam konsol baris arahan ServiceMix dan masukkan "install esb.xml".
  5. Pasang projek ESB dalam konsol baris arahan ServiceMix, masukkan "install -s mvn:com.example/esb-demo/0.0.1-SNAPSHOT".
  6. Gunakan permintaan POST untuk menghantar mesej ESB, contohnya: "curl -X POST -H "Content-Type:application/json" -d '{"id":1,"source":"SystemA" ," destination":"SystemB","content":"test message"}' http://localhost:8080/esb/incoming".
  7. Dapatkan semula mesej ESB yang diproses menggunakan permintaan GET, contohnya: "curl http://localhost:8080/esb/outgoing".

Ringkasan

Menggunakan Spring Boot dan Apache ServiceMix, kami boleh membina sistem ESB yang cekap dengan mudah untuk menyambungkan berbilang sistem dan aplikasi, serta melaksanakan pertukaran data dan penghalaan pemesejan. Dalam artikel ini, kami telah melihat cara untuk menyediakan sistem ESB asas dan menambah titik akhir REST untuk memudahkan komunikasi dengan sistem perniagaan. Walaupun artikel ini hanyalah contoh mudah, ia menyediakan titik permulaan yang baik untuk membina sistem ESB yang lebih kompleks.

Atas ialah kandungan terperinci Bina sistem ESB menggunakan Spring Boot dan Apache ServiceMix. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Spring Boot+MyBatis+Atomikos+MySQL (dengan kod sumber) Spring Boot+MyBatis+Atomikos+MySQL (dengan kod sumber) Aug 15, 2023 pm 04:12 PM

Dalam projek sebenar, kami cuba mengelakkan transaksi yang diedarkan. Walau bagaimanapun, kadangkala ia benar-benar perlu untuk melakukan beberapa pemisahan perkhidmatan, yang akan membawa kepada masalah transaksi yang diedarkan. Pada masa yang sama, transaksi yang diedarkan juga ditanya di pasaran semasa temu bual Anda boleh berlatih dengan kes ini, dan anda boleh bercakap tentang 123 dalam temu bual.

Mencapai sokongan berbilang bahasa dan aplikasi antarabangsa melalui Spring Boot Mencapai sokongan berbilang bahasa dan aplikasi antarabangsa melalui Spring Boot Jun 23, 2023 am 09:09 AM

Dengan perkembangan globalisasi, semakin banyak laman web dan aplikasi perlu menyediakan sokongan berbilang bahasa dan fungsi pengantarabangsaan. Bagi pembangun, melaksanakan fungsi ini bukanlah tugas yang mudah kerana ia memerlukan pertimbangan dari banyak aspek, seperti terjemahan bahasa, tarikh, masa dan format mata wang, dsb. Walau bagaimanapun, menggunakan rangka kerja SpringBoot, kami boleh melaksanakan sokongan berbilang bahasa dan aplikasi antarabangsa dengan mudah. Mula-mula, marilah kita memahami antara muka LocaleResolver yang disediakan oleh SpringBoot. Loc

Cara menggunakan Spring Boot untuk membina aplikasi blockchain dan kontrak pintar Cara menggunakan Spring Boot untuk membina aplikasi blockchain dan kontrak pintar Jun 22, 2023 am 09:33 AM

Dengan peningkatan mata wang digital seperti Bitcoin, teknologi blockchain secara beransur-ansur menjadi topik hangat. Kontrak pintar boleh dianggap sebagai bahagian penting dalam teknologi blockchain. SpringBoot, sebagai rangka kerja pembangunan back-end Java yang popular, juga boleh digunakan untuk membina aplikasi blockchain dan kontrak pintar. Artikel ini akan memperkenalkan cara menggunakan SpringBoot untuk membina aplikasi dan kontrak pintar berdasarkan teknologi blockchain. 1. SpringBoot dan blockchain Pertama, kita perlu memahami beberapa konsep asas yang berkaitan dengan blockchain. Rantaian sekat

Cara menggunakan Spring Boot untuk membina aplikasi pemprosesan data besar Cara menggunakan Spring Boot untuk membina aplikasi pemprosesan data besar Jun 23, 2023 am 09:07 AM

Dengan kemunculan era data besar, semakin banyak syarikat mula memahami dan mengiktiraf nilai data besar dan menerapkannya dalam perniagaan. Masalah yang datang dengannya ialah bagaimana mengendalikan aliran data yang besar ini. Dalam kes ini, aplikasi pemprosesan data besar telah menjadi sesuatu yang mesti dipertimbangkan oleh setiap perusahaan. Bagi pembangun, cara menggunakan SpringBoot untuk membina aplikasi pemprosesan data besar yang cekap juga merupakan isu yang sangat penting. SpringBoot ialah rangka kerja Java yang sangat popular yang membolehkan

Bina sistem ESB menggunakan Spring Boot dan Apache ServiceMix Bina sistem ESB menggunakan Spring Boot dan Apache ServiceMix Jun 22, 2023 pm 12:30 PM

Memandangkan perniagaan moden semakin bergantung pada pelbagai aplikasi dan sistem yang berbeza, integrasi perusahaan menjadi lebih penting. Bas Perkhidmatan Perusahaan (ESB) ialah model seni bina integrasi yang menghubungkan sistem dan aplikasi yang berbeza bersama-sama untuk menyediakan pertukaran data biasa dan perkhidmatan penghalaan mesej untuk mencapai penyepaduan aplikasi peringkat perusahaan. Menggunakan SpringBoot dan ApacheServiceMix, kami boleh membina sistem ESB dengan mudah Artikel ini akan memperkenalkan cara melaksanakannya. SpringBoot dan A

Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus Jun 22, 2023 pm 09:27 PM

Dalam proses pembangunan aplikasi web Java, teknologi pemetaan ORM (Object-RelationalMapping) digunakan untuk memetakan data hubungan dalam pangkalan data kepada objek Java, menjadikannya mudah untuk pembangun mengakses dan mengendalikan data. SpringBoot, sebagai salah satu rangka kerja pembangunan web Java yang paling popular pada masa ini, telah menyediakan cara untuk mengintegrasikan MyBatis, dan MyBatisPlus ialah rangka kerja ORM yang dilanjutkan berdasarkan MyBatis.

Caching data dan sistem storan teragih berdasarkan Spring Boot Caching data dan sistem storan teragih berdasarkan Spring Boot Jun 22, 2023 am 09:48 AM

Dengan pembangunan dan pempopularan Internet yang berterusan, permintaan untuk pemprosesan dan penyimpanan data juga semakin meningkat Cara memproses dan menyimpan data dengan cekap dan boleh dipercayai telah menjadi topik hangat di kalangan industri dan penyelidik. Sistem caching dan penyimpanan data yang diedarkan berdasarkan SpringBoot adalah penyelesaian yang telah menarik banyak perhatian dalam beberapa tahun kebelakangan ini. Apakah sistem caching dan penyimpanan data teragih? Sistem caching dan penyimpanan data teragih merujuk kepada penyimpanan data teragih melalui berbilang nod (pelayan), yang meningkatkan keselamatan dan kebolehpercayaan data dan juga boleh meningkatkan pemprosesan data.

Penyepaduan dan penggunaan pangkalan data Spring Boot dan NoSQL Penyepaduan dan penggunaan pangkalan data Spring Boot dan NoSQL Jun 22, 2023 pm 10:34 PM

Dengan perkembangan Internet, analisis data besar dan pemprosesan maklumat masa nyata telah menjadi keperluan penting bagi perusahaan. Untuk memenuhi keperluan tersebut, pangkalan data hubungan tradisional tidak lagi memenuhi keperluan pembangunan perniagaan dan teknologi. Sebaliknya, menggunakan pangkalan data NoSQL telah menjadi pilihan penting. Dalam artikel ini, kita akan membincangkan penggunaan SpringBoot yang disepadukan dengan pangkalan data NoSQL untuk membolehkan pembangunan dan penggunaan aplikasi moden. Apakah pangkalan data NoSQL?

See all articles