اليوم ، دعنا نسجل المشكلات التي واجهتها أثناء دمج الإطار:
1. عند استخدام redis لتنفيذ مشاركة الجلسة ، يتم تحديد تقرير بدء المشروع
2. عند استدعاء فئة أداة ذاكرة التخزين المؤقت ، يكون Jedispool الذي تم حقنه فارغًا (خطأ مفصل يتعلق بفحص الربيع)
حسنًا ، لقد بدأت في إضافة الملفات التي قمت بدمجها
يعتمد pom.xml على حزمة جرة
<!-ابدأ جلسة الربيع-> <reperency> <roupiD> redis.clients </groupId> <intifactid> jedis </shintifactid> <sophy> 2.9.0 </version> </sependency> <redency> <roupid> org.springframework.session </groupid> <splection> 1.2.1.release </version> </sependency>
web.xml التكوين
<؟ XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.0.xd" <Param-Name> contextConfigLocation </param-name> <Param-value> classpath: spring-cfg.xml </parm-value> </suctext-param> <!-مرشح الجلسة الموضوعة في رأس المرشح-> <filter> <ilter-name> springsessionRepositoryfilter </ilter-name> <lipter-class> org.springframework.web.filter.delegatingFilterproxy </filter-class> </filter> <filter-mapter> <ilter-name> springsessionRepositoryFilter </filter-name> <Url-pattern>/*</url-pattern> <Filter-Name> encodingFilter </filter-name> <lipter-class> org.springframework.web.filter.characterencodingfilter </firlter-class> <async-name> true </async-supported> <Param-value> utf-8 </parm-value> </ith-param> </filter> <filter-mapping> <filter-name> encodingFilter </filter-name> <Url-pattern>/*</urop-pattern> </filed-mapping> <! <Cankerer-Class> org.springframework.web.context.contextloaderListener </stanterer-class> </stanker> <!-Spring mvc-> <Servlet> <Sradlet-name> springmvc </servlet-name> <Param-name> contextConfigLocation </param-name> <Param-value> classpath: spring-mvc.xml </parm-value> </ith-param> <load-on-startup> 1 </load-on-startup> <arsync-suborted> true </sync-supported> </servlet <Srevlet-Name> springmvc </servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-<servlet mapping> <Sradlet-Name> افتراضي </servlet-name> <url-pattern>/static/*</
ملف تكوين spring-cfg.xml
<؟ xmlns: context = "http://www.springframework.org/schema/context" xmlns: util = "http://www.springframework.org/schema/util" http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/Util <!-مسح التعليق التوضيحي لإنشاء الفول-> <السياق: التعليق التوضيحي-config/> <السياق: مكون المستحضر الأساسي = "com.zyt"> <السياق: استبعاد الترتيب = "annotation" expression = "org.springframework.steretype.controller"/>/compenext: ID = "propertyConfigurer"> <property name = "sortations"> <list> <value> classPath: jdbc.properties </value> <value> classPath: Redis.properties </value> </list> </spremaze> </bean> <! <property name = "maxtOtal" value = "$ {redis.maxactive}"/> <property name = "maxWaitMillis" value = "$ {redis.maxwait}"/> <property name = "testonborrow" value = "$ {redis.testonborrow}"/> </!- "jedispool"> <constructor-arg index = "0" ref = "poolconfig"/> <constructor-arg index = "1" "$ {redis.host}"/> <constructor-arg index = "2" value = "$ {redis.port}" type = "int"/> type = "int"/> <!-<constructor-arg index = "4" value = "$ {redis.password}"/> </bean> <!-jedis connection factory-> <bean id = "jedisconnectionfactory"> <property name = "poolconfig" ref = poolconfig "/> <property name = name = "hostname" value = "$ {redis.host}"/> <!-<property name = "password" value = "$ {redis.pass}"/>-> </bean> <util: ثابت ثابت- id = "redistemplate"> <property name = "connectionfactory" ref = "jedisconnectionfactory"/> </bean> <!-redis end-> <!-start sent in spring-> <bean id = "redishttpatessionConfiguration"> <property name = "maxinactiveintervalinseconds" id = "sqlsessionfactory"> <property name = "datasource" ref = "datasource"/> <property name = "mapperlocations" value = "classpath: com/zyt/**/**. value = "sqlsessionfactory"/> </bean> <!-إعلان إدارة المعاملات باستخدام التعليق التوضيحي-> <tx: المعاملة المعاملة التي تعتمد على التعليقات التوضيحية = "TransactionManager"/> <bean id = "TransactactionManager"> <property name = "datasource" ref = "datasource"/ تدمير method = "close" init-method = "init"> <property name = "url" value = "$ {JDBC_URL}"/> <property name = "username" value = "$ {jdbc_username}"/> <property name = "password" value = $ {jdbc_password} value = "0"/> <!-الحد الأقصى لعدد الاتصالات المستخدمة من خلال تجمع الاتصال-> <property name = "maxactive" value = "20"/> <property name = "minimum idle value =" property name = "minidle" value = "0"/> <! /> <name property = "maxpoolPrepedStatePerConnectionize" value = "33"/>-> <property name = "ValidationQuery" value = "$ {ValideDquery}"/> <property name = "testOnBorrow" value = "false"/> <property name = "value =" false "/ يأخذ لأداء فاصل زمني للكشف للكشف عن اتصالات الخمول التي يجب إغلاقها ، بالمللي ثانية-> <property name = "timeBetweenevictionRunsmillis" value = "60000"/> <!-تكوين الحد الأدنى للوقت للاتصال في المتجمع ، بالميليسيكوند- requovaBandoned function-> <property name = "removaBandoned" value = "true"/> <!-1800 ثانية ، أي 30 دقيقة-> <property name = "removaBandonedTimeOut" value = "1800"/> <! name = "filters" value = "stat"/> -> <property name = "filters" value = "mergestat"/> </bans>JDBC.Properties
driverClassName = com.mysql.jdbc.driver validentQuery = select 1 jdbc_url = jdbc: mysql: // localhost: 3306/zyt_demo؟ useUnicode = true & distarrending = utf-8 & zerodateTimeBehavior =
redis.properties
redis.isopen = on redis.host = 127.0.0.1 redis.port = 6379 redis.maxidle = 300 redis.maxactive = 600 redis.maxwait = 1000 redis.testonborrow = true redis.timeout = 2000 #password =
ما سبق هو ملف التكوين المتكامل ، حيث يكون التكوين حول redis هو مفتاح نجاح التكامل
ملخص السؤال
1. تم الإبلاغ عن مشروع بدء التشغيل كاستثناء بعد دمج التكامل بسبب موقع ملف التكوين ، وبالتالي لم تنجح بدء التشغيل. جربه عدة مرات. يمكن استخدام ملف التكوين أعلاه.
2. اتصلت بفئة أداة ذاكرة التخزين المؤقت من قبل ، وأظهرت أن حقن Jedispool كان فارغًا. حقن في وحدة التحكم وكان هناك قيمة. نظرًا لأن الطريقة التي اتصلت بها فئة الأدوات على وحدة التحكم كانت جديدة ، لذا فقد حقن الربيع حقن Jedispool عند مسح فئة الأدوات. يمكن حلها باستخدام فئة أداة الحقن بدلاً من ذلك في وحدة التحكم.
على سبيل المثال:
لخص
ما سبق هو عملية دمج الربيع Redis (Jedis) لتحقيق مشاركة الجلسة ، وآمل أن يكون مفيدًا للجميع. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر على الجميع في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!