Салом ба ҳама дар ин блог, ин ҷо паёми чорум дар силсилаи Quarkus аст!

дар бораи он буд, ки чӣ тавр Quarkus MicroProfile ва Springро муттаҳид мекунад. Биёед инро ба хотир орем ҳамчун "Java-субатомии ултра-суръат", яъне "Стеки Java-и ба Кубернетес нигаронидашуда, ки барои GraalVM ва OpenJDK HotSpot мутобиқ карда шудааст ва аз беҳтарин китобхонаҳо ва стандартҳо ҷамъ оварда шудааст." Имрӯз мо бо истифода аз имкониятҳои Quarkus, бо истифода аз мисол, чӣ гуна навсозии замимаҳои мавҷудаи Java-ро нишон медиҳем , ки технологияҳои CDI ва Servlet 3-ро истифода мебарад, ки аз ҷониби Quarkus дастгирӣ карда мешавад.
Дар ин ҷо қайд кардан муҳим аст, ки ҳам Quarkus ва ҳам JBoss EAP истифодаи абзорҳоеро, ки ба қадри имкон ба стандарт асос ёфтаанд, таъкид мекунанд. Оё барномае дар JBoss EAP кор намекунад? Мушкил нест, онро бо истифода аз сервери замимаи ҷории худ ба JBoss EAP ба осонӣ интиқол додан мумкин аст . Пас аз он версияи ниҳоӣ ва кории коди модернизатсияшуда дар анбор дастрас хоҳад шуд , дар модул .
Ҳангоми навиштани ин мақола мо истифода мебурдем , асосан ва бинои а .
Биёед кодро гирем
Пеш аз ҳама, биёед як клони маҳаллии анборро созем :
$ git clone https://github.com/jboss-developer/jboss-eap-quickstarts.git
Cloning into 'jboss-eap-quickstarts'...
remote: Enumerating objects: 148133, done.
remote: Total 148133 (delta 0), reused 0 (delta 0), pack-reused 148133
Receiving objects: 100% (148133/148133), 59.90 MiB | 7.62 MiB/s, done.
Resolving deltas: 100% (66476/66476), done.
$ cd jboss-eap-quickstarts/helloworld/
Биёед бубинем, ки олами аслӣ чӣ гуна кор мекунад
Воқеан, моҳияти ин барнома аз ном маълум аст, аммо мо коди онро ба таври қатъӣ илмӣ навсозӣ хоҳем кард. Аз ин рӯ, аввал биёед ин барномаро дар шакли аслии он бубинем.
Ҷойгиркунии олами hellowld
1. Терминалро кушоед ва ба решаи ҷузвдони JBoss EAP гузаред (шумо метавонед онро зеркашӣ кунед ), яъне ба ҷузвдони EAP_HOME.
2. Сервери JBoss EAP-ро бо профили пешфарз оғоз кунед:
$ EAP_HOME/bin/standalone.sh
Эзоҳ: ба Windows Барои оғоз скрипти EAP_HOMEbinstandalone.bat истифода мешавад.
Пас аз чанд сония, чизе монанди ин бояд дар гузориш пайдо шавад:
[org.jboss.as] (Controller Boot Thread) WFLYSRV0025: JBoss EAP 7.2.0.GA (WildFly Core 6.0.11.Final-redhat-00001) started in 3315ms - Started 306 of 527 services (321 services are lazy, passive or on-demand)
3. Дар браузер кушоед :8080 ва мо инро мебинем:

Райс. 1. Саҳифаи асосии JBoss EAP.
4. Дастурҳои дастурамалро иҷро кунед : helloworld-ро васеъ кунед ва фармони зеринро иҷро кунед (аз папкаи решаи лоиҳа):
$ mvn clean install wildfly:deploy
Пас аз бомуваффақият иҷро кардани ин фармон, мо дар гузориш чизи зеринро мебинем:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.224 s
Ҳамин тавр, ҷойгиркунии аввалини замимаи helloworld дар JBoss EAP ҳамагӣ беш аз 8 сонияро гирифт.
Санҷиши олами хайр
Ба таври қатъӣ мувофиқи дастурҳо амал кунед , дар браузер кушоед :8080/helloworld ва мо инро мебинем:

Райс. 2. Original Hello World аз JBoss EAP.
Тағйирот ворид кардан
Параметри вуруди createHelloMessage(Номи сатр)-ро аз Ҷаҳон ба Марко тағир диҳед:
writer.println("<h1>" + helloService.createHelloMessage("Marco") + "</h1>");
Фармони зеринро дубора иҷро кунед:
$ mvn clean install wildfly:deploy
Сипас, мо саҳифаро дар браузер навсозӣ мекунем ва мебинем, ки матн тағир ёфтааст:

Райс. 3. Салом Марко дар JBoss EAP.
Ҷойгиркунии ҷаҳонии helloworld-ро баргардонед ва JBoss EAP-ро хомӯш кунед
Ин ихтиёрӣ аст, аммо агар шумо хоҳед, ки паҳнкуниро бекор кунед, шумо метавонед ин корро бо фармони зерин иҷро кунед:
$ mvn clean install wildfly:undeploy
Барои хомӯш кардани намунаи JBoss EAP-и худ, танҳо дар равзанаи терминал Ctrl+C -ро пахш кунед.
Такмил додани олами олам
Акнун биёед барномаи аслии helloworld-ро навсозӣ кунем.
Филиали нав эҷод кунед
Мо як филиали нави корӣ пас аз ба итмом расидани лоиҳаи зуд оғоз мекунем:
$ git checkout -b quarkus 7.2.0.GA
Тағир додани файли pom.xml
Мо тағир додани барномаро аз файли pom.xml оғоз мекунем. Барои он ки Quarkus ба он блокҳои XML ворид кунад, фармони зеринро дар папкаи helloworld иҷро кунед:
$ mvn io.quarkus:quarkus-maven-plugin:0.23.2:create
Ҳангоми навиштани ин мақола версияи 0.23.2 истифода шудааст. Quarkus аксар вақт версияҳои навро мебарорад, шумо метавонед дар вебсайт фаҳмед, ки кадом версияи охирин аст .
Фармони боло унсурҳои зеринро ба pom.xml дохил мекунад:
- Амволи , ки версияи Quarkus-ро барои истифода муайян мекунад.
- Блоки барои воридоти Quarkus BOM (ҳисоби мавод), то версияи ҳар як вобастагии Quarkus илова нашавад.
- Васлкунаки quarkus-maven барои бастабандии барнома ва таъмини ҳолати рушд масъул аст.
- Профили аслӣ барои эҷоди файлҳои иҷрошавандаи барнома.
Илова бар ин, мо ба pom.xml тағйироти зеринро дастӣ ворид мекунем:
- Мо теги -ро аз блоки бароварда, онро дар болои теги ҷойгир мекунем. Азбаски дар қадами оянда мо блоки -ро нест мекунем, мо бояд -ро захира кунем.
- Мо блоки -ро хориҷ мекунем, зеро ҳангоми кор бо Quarkus, ин барнома дигар ба поми волидайн аз JBoss ниёз надорад.
- Теги илова кунед ва онро дар зери теги ҷойгир кунед. Шумо метавонед рақами версияи дилхоҳатонро муайян кунед.
- Мо теги -ро нест мекунем, зеро ин барнома дигар Ҷанг нест, балки JAR муқаррарӣ аст.
- Мо вобастагиҳои зеринро тағир медиҳем:
- Мо вобастагии javax.enterprise:cdi-api-ро ба io.quarkus:quarkus-arc иваз карда, provided-ро нест мекунем, зеро (тибқи ҳуҷҷатҳо) ин васеъшавии Quarkus тазриқи вобастагии CDI-ро таъмин мекунад.
- Мо вобастагии org.jboss.spec.javax.servlet:jboss-servlet-api_4.0_spec -ро ба io.quarkus:quarkus-undertow иваз мекунем, ки provided -ро нест мекунем, зеро (тибқи ҳуҷҷатҳо) ин васеъшавии Quarkus дастгирии сервлетро таъмин мекунад 'ov.
- Мо вобастагии org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_specро нест мекунем, зеро он бо вобастагиҳое, ки мо нав иваз кардаем, меояд.
Версияи файли pom.xml бо ҳама тағиротҳо дар ҷойгир аст .
Дар хотир доред, ки фармони mvn io.quarkus:quarkus-maven-plugin:0.23.2:create дар боло на танҳо файли pom.xml-ро тағир медиҳад, балки як қатор ҷузъҳоро ба лоиҳа илова мекунад, яъне файлҳо ва ҷузвдонҳои зерин:
- Файли mvnw ва mvnw.cmd ва ҷузвдони .mvn: Maven Wrapper ба шумо имкон медиҳад, ки лоиҳаҳои Maven-и версияи додаи Mavenро бидуни насби он версия иҷро кунед.
- Папкаи Docker (дар феҳристи src/main/): Ин дорои намунаи Dockerfiles барои шеваҳои аслӣ ва jvm (дар якҷоягӣ бо файли .dockerignore).
- Папкаи захираҳо (дар феҳристи src/main/): Ин файли холии application.properties ва саҳифаи ибтидоии Quarkus index.html-ро дар бар мегирад (барои тафсилоти бештар нигаред ба "Иҷроиши ҷаҳони муосири helloworld).
helloworld-ро оғоз кунед
Барои санҷидани барнома, мо quarkus: dev -ро истифода мебарем, ки Quarkus -ро дар реҷаи таҳия оғоз мекунад (барои тафсилоти бештар ба ин қисм дар дастур нигаред. ).
Эзоҳ: Ин қадам интизор меравад, ки ба хатогӣ оварда расонад, зеро мо то ҳол тамоми тағйироти заруриро ворид накардаем.
Акнун биёед фармонро иҷро кунем, то бубинем, ки он чӣ гуна кор мекунад:
$ ./mvnw compile quarkus:dev
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< org.jboss.eap.quickstarts:helloworld >----------------
[INFO] Building Quickstart: helloworld quarkus
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ helloworld ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ helloworld ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- quarkus-maven-plugin:0.23.2:dev (default-cli) @ helloworld ---
Listening for transport dt_socket at address: 5005
INFO [io.qua.dep.QuarkusAugmentor] Beginning quarkus augmentation
INFO [org.jbo.threads] JBoss Threads version 3.0.0.Final
ERROR [io.qua.dev.DevModeMain] Failed to start quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: javax.enterprise.inject.spi.DeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type org.jboss.as.quickstarts.helloworld.HelloService and qualifiers [@Default]
- java member: org.jboss.as.quickstarts.helloworld.HelloWorldServlet#helloService
- declared on CLASS bean [types=[javax.servlet.ServletConfig, java.io.Serializable, org.jboss.as.quickstarts.helloworld.HelloWorldServlet, javax.servlet.GenericServlet, javax.servlet.Servlet, java.lang.Object, javax.servlet.http.HttpServlet], qualifiers=[@Default, @Any], target=org.jboss.as.quickstarts.helloworld.HelloWorldServlet]
at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:841)
at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:214)
at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:106)
at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:249)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at io.quarkus.deployment.ExtensionLoader$1.execute(ExtensionLoader.java:780)
at io.quarkus.builder.BuildContext.run(BuildContext.java:415)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2011)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1535)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1426)
at java.lang.Thread.run(Thread.java:748)
at org.jboss.threads.JBossThread.run(JBossThread.java:479)
Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type org.jboss.as.quickstarts.helloworld.HelloService and qualifiers [@Default]
- java member: org.jboss.as.quickstarts.helloworld.HelloWorldServlet#helloService
- declared on CLASS bean [types=[javax.servlet.ServletConfig, java.io.Serializable, org.jboss.as.quickstarts.helloworld.HelloWorldServlet, javax.servlet.GenericServlet, javax.servlet.Servlet, java.lang.Object, javax.servlet.http.HttpServlet], qualifiers=[@Default, @Any], target=org.jboss.as.quickstarts.helloworld.HelloWorldServlet]
at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:428)
at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:371)
at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:206)
... 14 more
Пас, он кор намекунад ... Чаро?
UnsatisfiedResolutionException ба синфи HelloService ишора мекунад, ки узви синфи HelloWorldServlet аст (узви java: org.jboss.as.quickstarts.helloworld.HelloWorldServlet#helloService). Мушкилот дар он аст, ки HelloWorldServlet ба намунаи воридшудаи HelloService ниёз дорад ва онро ёфтан мумкин нест (ҳарчанд ҳардуи ин синфҳо дар як баста ҳастанд).
Вақти бозгашт ба он расидааст ва хонед, ки он дар Кваркус чӣ гуна кор мекунад , ва бинобар ин (CDI). Аз ин рӯ, дастури тазриқи контекстҳо ва вобастагӣ ва дар қисматро кушоед мо мехонем: "Кинфи лӯбиёе, ки шарҳи лӯбиё надорад, ҷустуҷӯ карда намешавад."
Биёед ба синфи HelloService назар кунем - он воқеан чунин эзоҳро надорад. Аз ин рӯ, он бояд илова карда шавад, то Кваркус лубиёро ҷустуҷӯ ва пайдо кунад. Ва азбаски ин объекти бешаҳрванд аст, мо метавонем ба осонӣ шарҳи @ApplicationScoped-ро ба таври зерин илова кунем:
@ApplicationScoped
public class HelloService {
Эзоҳ: Дар ин ҷо муҳити таҳия метавонад аз шумо хоҳиш кунад, ки бастаи лозимиро илова кунед (ба сатри поён нигаред) ва шумо бояд ин корро дастӣ иҷро кунед, ба монанди:
import javax.enterprise.context.ApplicationScoped;
Агар шумо шубҳа дошта бошед, ки кадом миқдор бояд дар сурати умуман барои лӯбиёи манбаъ зикр нашуда бошад, ҳуҷҷатҳоро хонед. .
Акнун мо бори дигар кӯшиш мекунем, ки барномаро бо фармони ./mvnw compile quarkus:dev оғоз кунем:
$ ./mvnw compile quarkus:dev
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< org.jboss.eap.quickstarts:helloworld >----------------
[INFO] Building Quickstart: helloworld quarkus
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ helloworld ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ helloworld ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /home/mrizzi/git/forked/jboss-eap-quickstarts/helloworld/target/classes
[INFO]
[INFO] --- quarkus-maven-plugin:0.23.2:dev (default-cli) @ helloworld ---
Listening for transport dt_socket at address: 5005
INFO [io.qua.dep.QuarkusAugmentor] (main) Beginning quarkus augmentation
INFO [io.qua.dep.QuarkusAugmentor] (main) Quarkus augmentation completed in 576ms
INFO [io.quarkus] (main) Quarkus 0.23.2 started in 1.083s. Listening on: http://0.0.0.0:8080
INFO [io.quarkus] (main) Profile dev activated. Live Coding activated.
INFO [io.quarkus] (main) Installed features: [cdi]
Акнун ҳама чиз бе хатогӣ мегузарад.
Оғози ҷаҳони муосири муосир
Тавре ки дар гузориш навишта шудааст, онро дар браузер кушоед :8080 (саҳифаи ибтидоии Quarkus) ва мо инро мебинем:

Райс. 4. Саҳифаи ибтидоии Quarkus dev.
Аннотацияи WebServlet барои ин барнома таърифи контексти зеринро дар бар мегирад:
@WebServlet("/HelloWorld")
public class HelloWorldServlet extends HttpServlet {
Аз ин рӯ, мо ба браузер меравем :8080/HelloWorld ва мо инҳоро мебинем:

Райс. 5: Саҳифаи dev Quarkus барои барномаи Hello World.
Хуб, ҳама чиз кор мекунад.
Акнун биёед ба код тағирот ворид кунем. Аҳамият диҳед, ки фармони ./mvnw compile quarkus:dev ҳоло ҳам кор мекунад ва мо нияти қатъи онро надорем. Акнун биёед кӯшиш кунем, ки ҳамон тағиротро - хеле ночиз - ба худи код татбиқ кунем ва бубинем, ки чӣ гуна Quarkus ҳаёти таҳиягарро осон мекунад:
writer.println("<h1>" + helloService.createHelloMessage("Marco") + "</h1>");
Файлро захира кунед ва сипас саҳифаи интернетиро нав кунед, то Салом Маркоро бубинед, тавре ки дар тасвири зер нишон дода шудааст:

Райс. 6. Салом Марко саҳифа дар Quarkus dev.
Акнун биёед баромадро дар терминал тафтиш кунем:
INFO [io.qua.dev] (vert.x-worker-thread-3) Changed source files detected, recompiling [/home/mrizzi/git/forked/jboss-eap-quickstarts/helloworld/src/main/java/org/jboss/as/quickstarts/helloworld/HelloWorldServlet.java]
INFO [io.quarkus] (vert.x-worker-thread-3) Quarkus stopped in 0.003s
INFO [io.qua.dep.QuarkusAugmentor] (vert.x-worker-thread-3) Beginning quarkus augmentation
INFO [io.qua.dep.QuarkusAugmentor] (vert.x-worker-thread-3) Quarkus augmentation completed in 232ms
INFO [io.quarkus] (vert.x-worker-thread-3) Quarkus 0.23.2 started in 0.257s. Listening on: http://0.0.0.0:8080
INFO [io.quarkus] (vert.x-worker-thread-3) Profile dev activated. Live Coding activated.
INFO [io.quarkus] (vert.x-worker-thread-3) Installed features: [cdi]
INFO [io.qua.dev] (vert.x-worker-thread-3) Hot replace total time: 0.371s
Навсозии саҳифа боиси муайян кардани тағирот дар коди сарчашма шуд ва Quarkus ба таври худкор тартиби қатъ-оғозро иҷро кард. Ва ҳамаи ин танҳо дар 0.371 сония анҷом дода шуд (дар ин ҷо он "Яваи субатомӣ хеле зуд" аст).
Сохтани helloworld ба бастаи JAR
Акнун, ки код тавре кор мекунад, биёед онро бо фармони зерин баста кунем:
$ ./mvnw clean package
Ин фармон ду файли JAR-ро дар папкаи /target эҷод мекунад: файли helloworld-.jar, ки артефакти стандартӣ мебошад, ки аз ҷониби дастаи Maven дар якҷоягӣ бо синфҳо ва захираҳои лоиҳа ҷамъ оварда шудааст. Ва файли helloworld-runner.jar, ки JAR иҷрошаванда аст.
Лутфан қайд кунед, ки ин uber-jar нест, зеро ҳама вобастагӣ ба ҷузвдони /target/lib нусхабардорӣ карда мешаванд (ба файли JAR бастабандӣ нашудаанд). Аз ин рӯ, барои иҷро кардани ин JAR аз ҷузвдони дигар ё дар ҳости дигар, шумо бояд ҳам худи файли JAR ва ҳам ҷузвдони /lib-ро дар он ҷо нусхабардорӣ кунед, бо назардошти он, ки унсури Синф-Поҳ дар файли MANIFEST.MF дар бастаи JAR дорои мавҷуд аст. рӯйхати равшани JAR-ҳо аз ҷузвдонҳои lib
Барои омӯхтани тарзи сохтани замимаҳои uber-jar, лутфан ба дастур муроҷиат кунед .
helloworld-ро дар JAR бастабандӣ кунед
Акнун мо метавонем JAR-и худро бо истифода аз фармони стандартии java иҷро кунем:
$ java -jar ./target/helloworld-<version>-runner.jar
INFO [io.quarkus] (main) Quarkus 0.23.2 started in 0.673s. Listening on: http://0.0.0.0:8080
INFO [io.quarkus] (main) Profile prod activated.
INFO [io.quarkus] (main) Installed features: [cdi]
Пас аз анҷом додани ин ҳама, ба браузери худ равед :8080 ва санҷед, ки ҳама чиз тавре ки лозим аст, кор мекунад.
Тартиб додани helloworld ба файли иҷрошавандаи аслӣ
Ҳамин тавр, ҷаҳони мо ҳамчун як барномаи мустақили Java бо истифода аз вобастагии Quarkus кор мекунад. Аммо шумо метавонед пештар равед ва онро ба файли иҷрошавандаи аслӣ табдил диҳед.
Насб кардани GraalVM
Пеш аз ҳама, барои ин шумо бояд асбобҳои заруриро насб кунед:
1. Download GraalVM 19.2.0.1 аз .
2. Архиви зеркашидашударо васеъ кунед:
$ tar xvzf graalvm-ce-linux-amd64-19.2.0.1.tar.gz
3. Ба ҷузвдони untar гузаред.
4. Барои зеркашӣ ва илова кардани тасвири аслӣ фармони зерро иҷро кунед:
$ ./bin/gu install native-image
5. Папкаи дар қадами 2 сохташударо ба тағирёбандаи муҳити GRAALVM_HOME сабт кунед:
$ export GRAALVM_HOME={untar-folder}/graalvm-ce-19.2.0.1)
Барои маълумоти иловагӣ ва дастурҳои насбкунӣ дар бораи дигар OS, ба дастур нигаред .
Сохтани helloworld ба файли иҷрошавандаи маҳаллӣ
Хондани дастур : "Акнун биёед як файли иҷрошавандаи аслии барномаро эҷод кунем, то вақти оғозёбӣ ва андозаи дискро кам кунад. Файли иҷрошаванда дорои ҳама чизест, ки барои иҷро кардани барнома, аз ҷумла JVM (ё дурусттараш, версияи буридашудаи он, ки танҳо он чизеро, ки барои иҷро кардани барнома лозим аст) ва худи замимаи мо дарбар мегирад."
Барои сохтани файли иҷрошавандаи аслӣ, шумо бояд профили аслии Maven -ро фаъол созед:
$ ./mvnw package -Pnative
Сохтани мо як дақиқаю 10 сония тӯл кашид ва файли ниҳоии helloworld-runner f дар папкаи /target сохта шуд.
Барномаи иҷрошавандаи helloworld-ро иҷро кунед
Дар қадами қаблӣ мо файли иҷрошавандаи /target/helloworld—runner гирифтем. Акнун биёед онро иҷро кунем:
$ ./target/helloworld-<version>-runner
INFO [io.quarkus] (main) Quarkus 0.23.2 started in 0.006s. Listening on: http://0.0.0.0:8080
INFO [io.quarkus] (main) Profile prod activated.
INFO [io.quarkus] (main) Installed features: [cdi]
Онро дар браузер боз кушоед :8080 ва санҷед, ки ҳама чиз тавре ки лозим аст, кор мекунад.
Давом дорад!
Мо боварӣ дорем, ки усули модернизатсияи замимаҳои Java бо истифода аз қобилиятҳои Quarkus, ки дар ин мақола баррасӣ шудааст (ҳарчанд бо истифода аз як мисоли оддӣ) бояд дар ҳаёти воқеӣ фаъолона истифода шавад. Дар ин ҳолат, шумо эҳтимолан бо як қатор мушкилот дучор мешавед, ки мо қисман дар мақолаи навбатӣ ҳал хоҳем кард ва дар он ҷо мо дар бораи чӣ гуна чен кардани истеъмоли хотира барои арзёбии беҳбуди кор, ҷузъи муҳими тамоми раванди модернизатсияи барномаҳо сӯҳбат хоҳем кард.
Манбаъ: will.com
