OpenLiberty - สั่งซื้อการเปิดใช้งานเว็บแอป

มีวิธีใดบ้างในการกำหนดค่าลำดับที่คอนเทนเนอร์ OpenLiberty เปิดตัวเว็บแอปที่ปรับใช้ (WAR ที่ปรับใช้) ฉันต้องการเว็บแอปใดแอปหนึ่งให้พร้อมก่อนที่เว็บแอปอื่นๆ จะโหลดเต็ม ขอบคุณ.


person Hristo Stoyanov    schedule 14.01.2018    source แหล่งที่มา
comment
นอกกรอบไม่ใช่ อย่างไรก็ตาม มีวิธีที่สามารถทำได้โดยใช้สคริปต์การปรับใช้ คุณช่วยอธิบายกรณีการใช้งานเพิ่มเติมอีกหน่อยได้ไหม? ฉันสงสัยว่ามีการออกแบบทางเลือกที่ดีกว่าซึ่งไม่ต้องใช้แอปตามลำดับที่แน่นอน   -  person Andy Guibert    schedule 15.01.2018
comment
ตกลง นี่คือกรณีการใช้งาน: ฉันต้องการใช้ประโยชน์จาก OrientDB เป็นเซิร์ฟเวอร์แบบฝังใน OL สำหรับเว็บแอปของฉัน ตามนี้: orientdb.com/docs/3.0.x/internals/Embedded-Server.html โดยพื้นฐานแล้ว ฉันจะรวมเซิร์ฟเวอร์ไว้ใน @ApplicationScoped bean และปรับใช้ใน OL เป็นเว็บแอปแยกต่างหาก ดังนั้นเมื่อฉันปรับใช้เว็บแอป ฉันต้องการให้เซิร์ฟเวอร์พร้อมใช้งาน แน่นอนว่าฉันสามารถสำรวจความคิดเห็นบางประเภทได้ แต่โดยทั่วไปแล้ว ฉันไม่รู้ว่า OL จะนำแอปพลิเคชันเว็บใดมาออนไลน์ก่อน ดังนั้นฉันจึงมีคำถาม   -  person Hristo Stoyanov    schedule 15.01.2018
comment
อย่างไรก็ตาม ฉันสามารถรวมเซิร์ฟเวอร์และแอปของฉันไว้ในสงครามได้ แต่การปรับใช้เว็บแอปของฉันใหม่ทุกครั้งในระหว่างการพัฒนาจะทำให้เซิร์ฟเวอร์ OrientDB รีสตาร์ท (ช้า)   -  person Hristo Stoyanov    schedule 15.01.2018
comment
ตามหลักการแล้ว เราสามารถกำหนดค่าทรัพยากรที่กำหนดเองใน server.xml ที่ได้รับการลงทะเบียนใน JNDI เพื่อให้แอปพลิเคชันทั้งหมดสามารถใช้งานได้ -- มี RFE สำหรับสิ่งนั้นที่นี่: ibm.com/developerworks/rfe/ นอกจากนั้น แอปมีการเปลี่ยนแปลงบ่อยพอที่จะทำให้การปรับใช้ใหม่เป็นปัญหาหรือไม่ หากคุณมีแอปที่ไม่มีอะไรเลยนอกจาก DB อยู่ในนั้น ก็ถือว่าใช้ได้ นอกจากนี้ ทุกครั้งที่เซิร์ฟเวอร์ Liberty รีสตาร์ท DB จะหายไปหรือไม่   -  person Andy Guibert    schedule 15.01.2018
comment
จริงๆ แล้ว เมื่อพิจารณาเอกสารของ Liberty ให้ละเอียดยิ่งขึ้น ฉันเชื่อว่าคุณสามารถทำได้ด้วยองค์ประกอบการกำหนดค่า ‹jndiObjectFactory› และ ‹jndiReferenceEntry› คอนฟิกูเรชันได้รับการบันทึกไว้ที่นี่: ibm.com/support/knowledgecenter/SSD28V_9.0.0/   -  person Andy Guibert    schedule 15.01.2018
comment
ขอบคุณ Andy ฉันเห็นว่ามีใครสามารถปรับใช้ Object Factory ซึ่งสามารถสร้างและอินสแตนซ์เซิร์ฟเวอร์ OriendDB และผูกเข้ากับชื่อ JNDI เนื่องจากเป็นสากล เว็บแอปทั้งหมดจึงสามารถอ้างอิงได้ใช่ไหม มี 3 ปัญหา: 1/ ฉันจะได้รับการแจ้งเตือนอย่างไรเมื่อเซิร์ฟเวอร์ OL หยุดทำงาน เพื่อที่ฉันจะได้ปิดเซิร์ฟเวอร์ได้ (สำคัญมาก!) 2/ เมื่อหยุดเซิร์ฟเวอร์ OL ฉันต้องการให้เว็บแอปปิดตัวลงก่อน OrientDB เซิร์ฟเวอร์ - สุดท้าย และ 3/ ตัวอย่างใช้คำอธิบายประกอบทรัพยากร OL รองรับ Resorce หรือเพียงแค่ Inject   -  person Hristo Stoyanov    schedule 15.01.2018
comment
กลับไปสู่แนวคิดดั้งเดิมของการไม่ใช้โรงงาน JNDI ที่เป็นกรรมสิทธิ์ของ OL .. แล้วเว็บแอปแยกต่างหากที่มี ApplicationScoped CDI Producer เดียวพร้อมวงจรชีวิต PostConstruct PreDestroy ที่กำหนดไว้อย่างดีสำหรับการจัดการเซิร์ฟเวอร์ฝังตัว OrientDB ... ฉันสามารถส่งออก OriendDB ไปยังระดับโลกได้หรือไม่ OL JNDI มีช่องว่างจาก CDI bean นั้นเพื่อให้เว็บแอปอื่นสามารถใช้งานได้หรือไม่   -  person Hristo Stoyanov    schedule 15.01.2018
comment
Andy หลังจากที่ค้นหาสิ่งนี้แล้ว ดูเหมือนว่าจะมีตัวเลือกแบบพกพาอื่นที่ใช้งานได้มากกว่านี้ - โดยใช้ JCA: ibm.com/support/knowledgecenter/en/SSEQTP_8.5.5/   -  person Hristo Stoyanov    schedule 15.01.2018
comment
ไม่แน่ใจว่า JCA จะแก้ไขปัญหานี้ได้อย่างไร เว้นแต่คุณจะมี RA สำหรับ OrientDB หรือวางแผนที่จะเขียนอย่างใดอย่างหนึ่ง แต่ถ้าคุณมีแอปหนึ่ง ใช่ การพึ่งพาแอปของคุณกับ RA นั้นจะทำให้แอปเหล่านั้นรอจนกว่าทรัพยากรจะพร้อมใช้งานก่อนจะเริ่มต้นให้เสร็จสิ้น   -  person F Rowe    schedule 16.01.2018
comment
มีอะแดปเตอร์ OrientDB jca 2 ตัวอยู่แล้ว ฉันแค่ต้องอัปเกรดโค้ด นี่คืออันที่ใหม่กว่า: ops4j1.jira.com/wiki/spaces/ORIENT/pages/65241104/ คำถามคือ ฉันสามารถใช้ JCA และ JNDI ใน OpenLiberty ได้หรือไม่ เนื่องจากสิ่งเหล่านี้อยู่นอกข้อกำหนด MicroProfile   -  person Hristo Stoyanov    schedule 16.01.2018
comment
ใช่ JCA เป็นส่วนหนึ่งของข้อมูลจำเพาะ Java EE และ JDBC เป็นส่วนหนึ่งของข้อมูลจำเพาะ Jave SE ซึ่ง Liberty รองรับทั้งคู่ นอกเหนือจาก MicroProfile   -  person F Rowe    schedule 16.01.2018