1. تخصيص التمهيد الربيعي وتحسين حاويات tomcat المدمجة.
> هناك ثلاث حاويات مدمجة ، وهي تعهد ، رصيف ، تومكات ، وحذاء الربيع. يتم تنفيذ هذه الحاويات الثلاثة بشكل منفصل. الواجهات العليا كلها مضمنة في ServletContainerFactory ، والتي هي أيضًا النواة الرئيسية لهذه المقالة.
هناك طريقتان رئيسيتان لتخصيص الحاويات المدمجة وتحسينها. الطريقة الأولى هي تكوينها من خلال ملفات التكوين ، والطريقة الأخرى هي رمز الرمز. بعد ذلك ، يتم تنفيذ طريقتين أعلاه بشكل رئيسي.
2. تخصيص وتحسين tomcat من خلال ملفات التكوين
> للحصول على المحتوى الأساسي للتكوين ، راجع إلى org.springframework.boot.autoconfigure.web.serverproperties فئة خدمة. ما يلي يعرض بعض تكوين tomcat
الخادم: المنفذ: 8081 # TOMCAT SET TOMCAT: Accesslog: # تمكين الوصول إلى السجل ممكّن: TRUE # DOOG PATH DIRENTORY: E:/TMP/LOGS
لمزيد من محتوى التكوين ، راجع الخصائص المدمجة لفئة org.springframework.boot.autoconfigure.web.serverProperties.
3. قم بتنفيذ تكوين وتحسين الحاويات المدمجة من خلال رمز الرمز
> هناك طريقتان لعرض تحسين الحاويات المدمج والتخصيص باستخدام الكود. الأول هو تنفيذ مخصص حاوية Servlet المدمج (org.springframework.boot.context.embedded.embeddedServletContainerCustomizer) وتسليم الفصل إلى إدارة الحاويات الربيعية. والآخر هو تكوين فئة تنفيذ واجهة الواجهة المدمجة في حاوية الربيع. هنا نستهدف بشكل أساسي tomcat المدمج ، أي tomcatembeddedservletcontainerfactory فئة
3.1. الطريقة الأولى هي تنفيذ واجهة EmbedServletContainerCustomizer وتسليمها إلى إدارة الحاويات الربيعية
@componentpublic class myembeddedServletContainerCustomizer تنفذ inserdedservletcontainercustomizer // تعليمات أن الافتراضي هو tomcat container system.out.println (Container.getClass ()) ؛ TomCatemBedDedServletContainerfactory Factory = (TomCatemBedDedServletContainerFactory) ؛ // set port factory.setport (8088) ؛ // تعيين Tomcat Root Directory.SetBasedirectory (ملف جديد ("D:/TMP/Tomcat")) ؛ // قم بتعيين دليل تخزين سجل الوصول. // تعيين Tomcat Threads and Connections Factory.AddConnectorCustomizers (new MyTomCatConnectorCustomizer ()) ؛ // تهيئة servletcontext كائن المصنع. } accesslogvalve private getLogAccessLogValue () {AccessLogValve AccessLogValve = new AccessLogValve () ؛ accesslogvalve.setDirectory ("d:/tmp/tomcat/logs") ؛ accesslogvalve.setEnabled (true) ؛ AccessLogvalve.setPattern (Constants.AccessLog.Common_Pattern) ؛ accesslogvalve.setprefix ("Springboot-Access-log") ؛ accesslogvalve.setsuffix (". txt") ؛ إرجاع AccessLogvalve ؛ }}/*** تخصيص عدد الاتصالات ومواضيع Tomcat*/class mytomcatconnectorcustomizer تنفذ tomcatconnectorcustomizer {Override public void (connector.getprotocol () ؛ // معالج بروتوكول الاتصال org.apache.coyote.http11.http11nioprotocol system.out.println (connector.getProtocolhandler (). getClass ()) ؛ // http11nioprotocol http11nioprotocol protocolhandler = (http11nioprotocol) connector.getProtocolhandler () ؛ // قم بتعيين الحد الأقصى لعدد من بروتوكولدري. // قم بتعيين الحد الأقصى لعدد بروتوكولر هاندر. }}3.1. تكوين فئة تنفيذ SerfedServletContainerFactory في حاوية الربيع
springBootConfigurationPublic فئة webserverConfiguration {bean public inserdservletcontainerfactory inservedservletcontainerfactory () {tomCatemBedDedServletContainerfactory = جديد tomcatembeddedservletcontainerfactory () ؛ // Set Port Factory.setport (8089) ؛ . // قم بتعيين المصنع. // قم بتعيين الحد الأقصى لعدد الاتصالات وعدد أقصى عدد من المواضيع المصنع. }) ؛ // قم بتعيين الدليل حيث يتم الوصول إلى ملف التسجيل المصنع. عودة المصنع } accesslogvalve private getLogAccessLogValue () {AccessLogValve AccessLogValve = new AccessLogValve () ؛ accesslogvalve.setDirectory ("d:/tmp/logs") ؛ accesslogvalve.setEnabled (true) ؛ AccessLogvalve.setPattern (Constants.AccessLog.Common_Pattern) ؛ accesslogvalve.setprefix ("Springboot-Access-log") ؛ accesslogvalve.setsuffix (". txt") ؛ إرجاع AccessLogvalve ؛ }}4. ملخص
ما ورد أعلاه هو شرح مفصل لأمثلة حاوية tomcat المدمجة لتخصيص التمهيد الربيعي والتحسين المقدمة لك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!