Rumah > Java > javaTutorial > teks badan

Bagaimana untuk melaksanakan tindakan klien java elasticsearch

WBOY
Lepaskan: 2023-05-22 08:43:50
ke hadapan
1506 orang telah melayarinya

Kebanyakan operasi dalam elasticsearch adalah melalui tindakan yang sepadan, yang terdapat dalam pakej tindakan. Strukturnya ditunjukkan dalam rajah di bawah:

Bagaimana untuk melaksanakan tindakan klien java elasticsearch

Ditunjukkan di sini ialah tangkapan skrin separa pakej Tindakan, yang mengandungi Tindakan yang sepadan dengan pelbagai fungsi. Pakej setiap tindakan juga sangat serupa dengan indeks. Tindakan ini semuanya diwarisi daripada tindakan asas, jadi pelaksanaannya sangat serupa. Angka berikut menunjukkan hubungan pewarisan indexaction

Bagaimana untuk melaksanakan tindakan klien java elasticsearch

Tindakan ini hanyalah pengganti dan tidak melaksanakan fungsi sebenar, jadi ia sangat mudah untuk dilaksanakan. Fungsi utama mereka adalah untuk menyediakan kaedah untuk mencipta respons dan permintaan baharu, sepadan dengan nama operasi yang sepadan. Ambil indexaction sebagai contoh. Rajah kaedahnya adalah seperti berikut:

Bagaimana untuk melaksanakan tindakan klien java elasticsearch

Anda boleh melihat bahawa ia hanya menyediakan dua kaedah untuk membuat respons dan permintaan, dan medan NAME , ini Medan NAME akan digunakan dalam panggilan tindakan seterusnya. Fungsi yang sepadan dilaksanakan dalam transportAction yang sepadan.

Bagaimana untuk melaksanakan tindakan klien java elasticsearch

Antara muka TransportAction diwarisi oleh semua tansportAction. Apabila pelanggan memanggil antara muka pelanggan yang berkaitan, pelanggan akan menghantar permintaan untuk melaksanakan transportAction. TransportAction bagi setiap fungsi melaksanakan kaedah doExecute, dan logik fungsi itu dilaksanakan dalam kaedah ini Kami tidak akan menyebutnya di sini buat masa ini.

Terdapat sekeping kod dalam analisis pelanggan:

TransportAction transportAction = actions.get((ClientAction)action) Fungsinya adalah untuk mendapatkan TransportAction berdasarkan tindakan itu. Kerana tindakan hanyalah proksi. Pelaksanaan persatuan ini dijalankan dalam ActionModule, seperti yang ditunjukkan dalam kod berikut:

registerAction(NodesInfoAction.INSTANCE, TransportNodesInfoAction.class);
        registerAction(NodesStatsAction.INSTANCE, TransportNodesStatsAction.class);
        registerAction(NodesShutdownAction.INSTANCE, TransportNodesShutdownAction.class);
        registerAction(NodesRestartAction.INSTANCE, TransportNodesRestartAction.class);
        registerAction(NodesHotThreadsAction.INSTANCE, TransportNodesHotThreadsAction.class);
        registerAction(ClusterStatsAction.INSTANCE, TransportClusterStatsAction.class);
        registerAction(ClusterStateAction.INSTANCE, TransportClusterStateAction.class);
        registerAction(ClusterHealthAction.INSTANCE, TransportClusterHealthAction.class)
Salin selepas log masuk

Hanya sebahagian daripada kandungan ditunjukkan di sini, di mana modul akan mengikat tindakan dan TransportAction yang sepadan. Dengan cara ini, apabila pelanggan perlu menerima permintaan, ia akan mencari contoh tansportAction yang sepadan mengikut contoh tindakan yang sepadan, dan permintaan akhir akan diproses di bawahnya.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan tindakan klien java elasticsearch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan