我正在尝试使用 jcs 设置横向 TCP 缓存。我添加了 commons-jcs3-core-3.0.jar 作为依赖项。
但是得到 java.lang.ClassNotFoundException: org.apache.commons.jcs3.utils.discovery.UDPDiscoveryMessage
缓存.ccf
==== DEFAULT CACHE REGION
jcs.default=LTCP
jcs.default.cacheattributes=org.apache.commons.jcs3.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache
==== PRE-DEFINED CACHE REGIONS
jcs.region.dnbToken=LTCP
jcs.region.dnbToken.cacheattributes=org.apache.commons.jcs3.engine.CompositeCacheAttributes
jcs.region.dnbToken.cacheattributes.MaxObjects=1000
jcs.region.dnbToken.cacheattributes.MemoryCacheName=org.apache.commons.jcs3.engine.memory.lru.LRUMemoryCache
jcs.region.dnbToken.cacheattributes.UseMemoryShrinker=true
jcs.region.dnbToken.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.region.dnbToken.cacheattributes.ShrinkerIntervalSeconds=60
jcs.region.dnbToken.cacheattributes.MaxSpoolPerRun=500
jcs.region.dnbToken.elementattributes=org.apache.commons.jcs3.engine.ElementAttributes
jcs.region.dnbToken.elementattributes.IsEternal=false
=== AVAILABLE AUXILIARY CACHES
jcs.auxiliary.LTCP=org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory
jcs.auxiliary.LTCP.attributes=org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.TCPLateralCacheAttributes
jcs.auxiliary.LTCP.attributes.TransmissionTypeName=TCP
jcs.auxiliary.LTCP.attributes.TcpServers=IP:1110
jcs.auxiliary.LTCP.attributes.TcpListenerPort=1110
jcs.auxiliary.LTCP.attributes.PutOnlyMode=false
jcs.auxiliary.LTCP.attributes.UdpTTL=4
错误日志:
Mar 12, 2021 3:33:55 PM org.apache.commons.jcs3.utils.discovery.UDPDiscoveryReceiver
SEVERE: Error receiving multicast packet
java.lang.ClassNotFoundException: org.apache.commons.jcs3.utils.discovery.UDPDiscoveryMessage
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.openejb.server.cxf.transport.util.CxfContainerClassLoader.findClass(CxfContainerClassLoader.java:95)
at org.apache.openejb.server.cxf.transport.util.CxfContainerClassLoader.loadClass(CxfContainerClassLoader.java:100)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.commons.jcs3.io.ObjectInputStreamClassLoaderAware.resolveClass(ObjectInputStreamClassLoaderAware.java:37)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1868)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
at org.apache.commons.jcs3.utils.discovery.UDPDiscoveryReceiver.waitForMessage(UDPDiscoveryReceiver.java:176)
at org.apache.commons.jcs3.utils.discovery.UDPDiscoveryReceiver.run(UDPDiscoveryReceiver.java:207)
at java.lang.Thread.run(Thread.java:748)
Mar 12, 2021 3:33:55 PM org.apache.commons.jcs3.utils.discovery.UDPDiscoveryReceiver
WARNING: message is null