Hari ini, mari kita catat masalah yang saya temui selama integrasi kerangka kerja:
1. Saat menggunakan Redis untuk mengimplementasikan berbagi sesi, proyek mulai melaporkan tidak ada kacang bernama 'SpringsessionRepositoryFilter' didefinisikan pengecualian
2. Saat memanggil kelas alat cache, jedispool yang disuntikkan adalah null (kesalahan terperinci yang terkait dengan pemindaian pegas)
Oke, saya sudah mulai menambahkan file yang saya terintegrasi
pom.xml tergantung pada paket jar
<!-Sesi Musim Semi Mulai-> <dependency> <GroupId> redis.clients </groupid> <t ArtifactId> jedis </arttifactid> <version> 2.9.0 </version> </dependency> <dependency> <rupprupid> org.springframework. </dependency>
Konfigurasi Web.xml
<? Xml Version = "1.0" encoding = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xmlns =" http://java.com/xmlns = "http://java.com/xmlns = XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http:/java.sun.com/xml/ns/javaee/weEee> Version>" "Version" "Version" "Version" "Version" "Version" "Version" <param-name> ContextConfigLocation </param-name> <param-value> classPath: spring-cfg.xml </param-value> </context-param> <!-Filter sesi ditempatkan di kepala filter-> <TERFERTERTER-NAME> SpringSessionRepositoryFilter </filter-name> <nilter-class> org.springframework.web.filter.delegatingfilterproxy </tilter-class> </filter> <nilter-mapping> <nilter-name> SpringSessionRepositoryFilter </filter-name> <rilter-Pattern>/</url-Pattern> </filter-mapping> <ter! <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name> encodingfilter </tiler-name> <ruct-pola>/*</ruRl-pattern> </tiler-Mapping> <!-listener spring-> <listener> <listener-class> org.springframework.web.context.contextLoadererer </listener-class> </listener> <! <servlet-name> springmvc </servlet-name> <servlet-class> org.springframework.web.servlet.dispatcherServlet </servlet-class> <Ilin-param> <param-name> ContextConfigLocation </param-name> <param-value> classpath: spring-mvc.xm <load-on-startup> 1 </boid-on-startup> <Sinync-supported> true </supported-pupported> </servlet> <servlet-Mapping> <servlet-Mapping> <servlet-name> SpringMvc </servlet-name> <rerl-pattern>/</url-pola> </servlet-mapping> <! <rerl-pola>/static/*</url-pola> </servlet-Mapping>-> </seb-app>
File konfigurasi spring-cfg.xml
<? XML Versi = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmls xmlns: context = "http://www.springframework.org/schema/context" xmlns: aop = "http://www.springframework.org/schema/aop" xmlns: tx = "http:/schema/aop" xmlns: tx = "http:/schema.aop" xmlns: util = "http://www.springframework.org/schema/util" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework 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/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/schema http://www.springframework.org/schema/util/spring-util.xsd "> <!-buka proxy otomatis untuk pemrograman facet-> <aop: aspectj-autopproxy proxy-target-class =" true "/<! <Konteks: komponen-scan-package = "com.zyt"> <konteks: tidak termasuk filter type = "annotation" ekspresi = "org.springframework.steretype.controller"/> </context: component-scan> <!-baca beberapa file konfigurasi properti-> <bean id = "properti configurer"> <! <value> classpath: jdbc.properties </ value> <value> classpath: redis.properties </ value> </list> </preate> </ bean> <!-jedis connection pool-> <bean id = "poolconfig"> <"maxidle" value = "$ {redis.maxid"> <"MaxIdle" value = "$ {redis.maxid"> <"Properti =" "MAXIDLE" Value = "$ {REDIS." value = "$ {redis.maxActive}"/> <name properti = "maxwaitmillis" value = "$ {redis.maxwait}"/> <name properti = "testonborrow" value = "$ {redis.testonborrow}"/> </bean> <!-kumpulan koneksi redis "tidak ada." <constructor-arg index = "0" ref = "poolconfig"/> <constructor-arg index = "1" value = "$ {redis.host}"/> <constructor-arg index = "2" value = "$ {redis.port}" type = "int"/> <konstruktor-arg index = "3" value = "$" $ "$" <constructor-arg index = "4" value = "$ {redis.password}"/> </ bean> <!-jedis connection factory-> <bean id = "jedisconnectionfactory"> <name properti = "poolconfig" ref = "poolconfig"/> <property name = "port" value = "$ {" $ {"poolconfig {" poolconfig "/> <properti nama =" port "value =" $ {"$ {" "" "$" $ "$" "" $ "$ {" poolconfig "/> <Property =" port "value =" $ {"$ {" "" "$" $ "" NAME "" $ "$ {" $ "$" $ "$" $ "$" $ "$" $ "$" $ "$" $ "$" $ "$" $ "$" $ "$" $ "$" $ "$" $ "$" $ "$" $ "$ value = "$ {redis.host}"/> <!-<name properti = "kata sandi" value = "$ {redis.pass}"/>-> </ bean> <util: constant static-field = "org.sprramework.session.data.redis.config.configureredisaction.noo.noo.noo.noate" id="redisTemplate"> <property name="connectionFactory" ref="jedisConnectionFactory"/> </bean> <!-- redis end --> <!-- Spring Session begin --> <bean id="redisHttpSessionConfiguration" > <property name="maxInactiveIntervalInSeconds" value="1800"/> </bean> <!--integration of mybatis--> <bean id = "sqlSessionFactory"> <name properti = "DataSource" ref = "DataSource"/> <name properti = "mapperlocations" value = "classpath: com/zyt/**/**. xml"/> </bean> <bean> <nama properti = "basepackage" value = "com.zy. name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean> <!--Declare transaction management using annotation--> <tx:annotation-driven transaction-manager="transactionManager"/> <bean id="transactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!--Database Pengaturan-> <bean id = "DataSource" Destroy-Method = "Tutup" init-metod = "init"> <name properti = "url" value = "$ {jdbc_url}"/> <name properti = "name" name "$" $ {jdbc_username} "//<nama properti =" value "$" $ " size-> <name properti = "inisialisasi" value = "0"/> <!-jumlah maksimum koneksi yang digunakan oleh koneksi kumpulan-> <name properti = "maxactive" value = "20"/> <name properti = "minimum idle" value = "name properti =" minidle "value =" 0 "/> <!-Dapatkan waktu tunggu koneksi maksimum-<maidle" value = "0"/> <! name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="33" /> --> <property name="validationQuery" value="${validationQuery}"/> <property name="testOnBorrow" value="false"/> <property name="testOnBorrow" value="false"/> <property name="testWhileIdle" value = "true"/> <!-Mengkonfigurasi berapa lama untuk melakukan interval deteksi untuk mendeteksi koneksi idle yang perlu ditutup, dalam milidetik-> <nama properti = "timebetweenevictionrunsmillis" value = "60000"/> <!-Konfigurasi waktu minimum untuk koneksi untuk bertahan hidup di kumpulan, di millisec-"MINEVOUM-" MINEVOUBICTERICE- " value = "25200000"/> <!-Nyalakan fungsi yang dilepas-> <nama properti = "removeAbandoned" value = "true"/> <!-1800 detik, yaitu, 30 menit-> <nama properti = "RemoveAbandonTimeOut" value = "1800"/<!-output kesalahan logam ketika tutup peperdon ("Nilai =" name = "1800"/> <!-output kesalahan logam ketika tutup peperdon ("Nilai =" Nilai = "1800"/> <!-output kesalahan logam ketika tutup The AbandonedTimeOut "value =" 1800 "/<! <!-Database Pemantauan-> <!-<name properti = "filter" value = "stat"/>-> <name properti = "filter" value = "grestat"/> </tobe>jdbc.properties
driverclassName = com.mysql.jdbc.driver validationQuery = pilih 1 jdbc_url = jdbc: mysql: // localhost: 3306/zyt_demo? UseUncode = true & characterencoding = UTF-8 & zerodateTimeMeHeHavior = converttonulkton = UTF-8 & ZerOdateTimEMeHeHavior = ConFERTTONLOLING = UTF-8 & ZERODATIMEMEBEHAVIOR = ConVERTTONULLON = BBRENLOULLING = BBRENOULLOULLECHOULLOULLOULLOULNEULLING = ZerODATETIEDEHEVIOR = ConVERTtonul
redis.properties
redis.isopen = pada redis.host = 127.0.0.1 redis.port = 6379 redis.maxidle = 300 redis.maxactive = 600 redis.maxwait = 1000 redis.testonborrow = true redis.timeout = 2000 #redis.password =
Di atas adalah file konfigurasi terintegrasi, di mana konfigurasi tentang redis adalah kunci keberhasilan integrasi
Ringkasan pertanyaan
1. Proyek startup dilaporkan sebagai pengecualian setelah mengintegrasikan integrasi karena lokasi file konfigurasi, sehingga startup tidak berhasil. Cobalah beberapa kali. File konfigurasi di atas dapat digunakan.
2. Saya menelepon kelas alat cache sebelumnya, dan itu menunjukkan bahwa injeksi Jedispool kosong. Disuntikkan dalam pengontrol dan ada nilai. Karena cara saya memanggil kelas alat pada controller adalah baru, sehingga musim semi kehilangan suntikan Jedispool saat memindai kelas alat. Ini dapat diselesaikan dengan menggunakan kelas alat injeksi sebagai gantinya di pengontrol.
Misalnya:
Meringkaskan
Di atas adalah proses mengintegrasikan musim semi Redis (JEDIS) untuk mewujudkan berbagi sesi, saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!