/ Ako jar slúži pre jednolôžkové fazuľa na viac žiadostí súčasne - java, jar, servlety

Ako jar slúži singleton fazuľa na viac požiadaviek v rovnakom čase - java, jar, servlety

Na jar, čo keď mám na to dve žiadostiprístup k singleton bean súčasne? Musí jedna žiadosť počkať, kým skončí druhá. Ako nájde jarný kontajner singleton fazuľa pre moje požiadavky?

Pre servlety, ak mám dve žiadosti, ktoré majú prístup anormálna metóda normálnej triedy (žiadna statika, žiadne ďalšie zložité veci) súčasne? Musí jedna žiadosť počkať, kým sa dokončí druhá, aby sa zabránilo súbežnosti (súčasne sa dve žiadosti snažia získať prístup k objektu rovnakej triedy) Ako nájde webový kontajner inštanciu pre moje žiadosti?

odpovede:

8 pre odpoveď č. 1

Čo sa týka jari, čo mám, keď mám dve žiadosti o prístup k singleton bean v rovnaký čas? Musí jedna žiadosť počkať, kým druhá skončiť?

Jarná nádoba vytvára jednu a iba jednu inštanciu pre triedu bôbov singleton (napríklad pre kontrolór, triedu služieb atď.). V jazyku Java existuje niekoľko spôsobov, ako môžete vytvoriť samostatnú inštanciu pre triedu bezpečne, môžete vyzerať tu pre viac informácií. Akonáhle je inštancia singleton vytvorená pomocou kontajnera Spring, potom sa webové požiadavky budú vybavovať pomocou tejto jedinej inštancie radičov / služieb.

Tiež to nie je žiadny problém (t. J., medzi tým nebudú čakať), a to ani v prípade, ak k žiadosti o prístup k dvojzrnnej fazuli budú mať dve žiadosti, pretože sa budú doručovať v dvoch samostatných vláknach a všetko, čo potrebujete, je zabezpečiť, aby vaše radiče a triedy služieb (t. j. bôby s jednoduchým jedlom) nemajú žiadny stav (t. j. sú bez štátnej príslušnosti) a sú bezpečné pre vlákna.

Ako nájde jarný kontajner singleton fazuľa pre moje Žiadosti?

Jarná nádoba vytvára a potom injektuje inštancie singletonových fazule na základe konfigurácií, ktoré ste poskytli pomocou xml alebo prostredníctvom anotácií.

Pre servlety, ak mám dve žiadosti o prístupnormálna trieda normálna metóda (žiadna statika, žiadne iné zložité veci) súčasne? Aby sa tomu zabránilo, musí jedna žiadosť počkať, kým sa dokončí druhá súbežnosť (súčasne sa dve žiadosti snažia získať prístup k internetu) predmet rovnakej triedy)?

nie, každá žiadosť sa vybaví v samostatnom vlákne takže jedna žiadosť nebude čakať na druhúžiadosť, ktorá sa má doručiť / dokončiť, t. j. inými slovami, žiadosti sa budú doručovať / spracovávať paralelne. To sa dosahuje pomocou webových kontajnerov pomocou / spravovaním oblasti vlákien.

Ako nájde webový kontajner inštanciu pre moje žiadosti?

Webový kontajner (napríklad Tomcat atď.) Vytvára a načíta všetky triedy servletov (ako jar DispatcherServlet alebo vašich vlastných servletov) a potom, keď webová požiadavka príde od klienta (napríklad Browser), bude spracovaná do servletu podľa url-pattern nakonfigurovaný v web.xml alebo prostredníctvom anotácií.