请教一下是啥错误怎么解决,是在测试ehcache分布式缓存中出现的 求高手 重金

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教一下是啥错误怎么解决,是在测试ehcache分布式缓存中出现的 求高手 重金相关的知识,希望对你有一定的参考价值。

2011-12-30 06:00:01 ERROR JGroupManager:84 - unable to setup the protocol stack
org.jgroups.ChannelException: unable to setup the protocol stack
at org.jgroups.JChannel.init(JChannel.java:1706)
at org.jgroups.JChannel.<init>(JChannel.java:243)
at org.jgroups.JChannel.<init>(JChannel.java:226)
at org.jgroups.blocks.NotificationBus.<init>(NotificationBus.java:69)
at net.sf.ehcache.distribution.jgroups.JGroupManager.<init>(JGroupManager.java:74)
at net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory.createCachePeerProvider(JGroupsCacheManagerPeerProviderFactory.java:54)
at net.sf.ehcache.config.ConfigurationHelper.createCachePeerProvider(ConfigurationHelper.java:261)
at net.sf.ehcache.CacheManager.configure(CacheManager.java:304)
at net.sf.ehcache.CacheManager.init(CacheManager.java:226)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:213)
at test.EhCacheUtil.putObject(EhCacheUtil.java:16)
at test.Test11.main(Test11.java:11)
Caused by: java.lang.IllegalArgumentException: start_port cannot be set to 0, as no dynamic discovery protocol (e.g. MPING or TCPGOSSIP) has been detected.
at org.jgroups.protocols.BasicTCP.init(BasicTCP.java:86)
at org.jgroups.stack.ProtocolStack.initProtocolStack(ProtocolStack.java:647)
at org.jgroups.stack.ProtocolStack.setup(ProtocolStack.java:457)
at org.jgroups.JChannel.init(JChannel.java:1702)
... 11 more
class net.sf.ehcache.Cache
2011-12-30 06:00:02 ERROR JGroupManager:84 - unable to setup the protocol stack
org.jgroups.ChannelException: unable to setup the protocol stack
at org.jgroups.JChannel.init(JChannel.java:1706)
at org.jgroups.JChannel.<init>(JChannel.java:243)
at org.jgroups.JChannel.<init>(JChannel.java:226)
at org.jgroups.blocks.NotificationBus.<init>(NotificationBus.java:69)
at net.sf.ehcache.distribution.jgroups.JGroupManager.<init>(JGroupManager.java:74)
at net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory.createCachePeerProvider(JGroupsCacheManagerPeerProviderFactory.java:54)
at net.sf.ehcache.config.ConfigurationHelper.createCachePeerProvider(ConfigurationHelper.java:261)
at net.sf.ehcache.CacheManager.configure(CacheManager.java:304)
at net.sf.ehcache.CacheManager.init(CacheManager.java:226)
at net.sf.ehcache.CacheManager.<init>(CacheManager.java:213)
at test.EhCacheUtil.getObject(EhCacheUtil.java:11)
at test.Test11.main(Test11.java:12)
Caused by: java.lang.IllegalArgumentException: start_port cannot be set to 0, as no dynamic discovery protocol (e.g. MPING or TCPGOSSIP) has been detected.
at org.jgroups.protocols.BasicTCP.init(BasicTCP.java:86)
at org.jgroups.stack.ProtocolStack.initProtocolStack(ProtocolStack.java:647)
at org.jgroups.stack.ProtocolStack.setup(ProtocolStack.java:457)
at org.jgroups.JChannel.init(JChannel.java:1702)
... 11 more

ehcache从1.2版本开始支持分布式缓存,所以要将使用的jar包升级为1.2+

在cache.xml(ehcache的配置文件)中加入
<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, multicastGroupPort=4446"/>

<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"/>

另外在每个cache属性中加入
<cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>
例如:
<cache name="a"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="true">
<cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>
</cache>追问

你说的我里面加过了了 现在用的是jgrops 的方式去实现的 包的这个错误其中{里面写的是这个

追答

EhCache 发布了 2.5.0 的首个 beta 测试版本。

EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。

下图是 Ehcache 在应用程序中的位置:

  
主要特性:

1. 快速
2. 简单
3. 多种缓存策略
4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题
5. 缓存数据会在虚拟机重启的过程中写入磁盘
6. 可以通过RMI、可插入API等方式进行分布式缓存
7. 具有缓存和缓存管理器的侦听接口
8. 支持多缓存管理器实例,以及一个实例的多个缓存区域
9. 提供Hibernate的缓存实现

此次Ehcache 2.5的主要改进:

•增强了缓存资源管理功能;
•可指定缓存和缓存管理器的字节大小;
•更易于使用。现在调整缓存大小操作变得和设置最大字节数一样简单,不再将输入计数和juggling eviction参数的最大值设置为接近缓存能够使用的最大的系统内存的值;
•更大的效率。Ehcache现在能够更有效地根据内存占用来管理缓存,以及根据运行时间大小信息来动态地平衡资源使用。

参考技术A 兄弟,你这个解决没?

请问After Effects错误:无法转换Unicode字符。是啥问题?怎么解决?

你用的是模版吧。之前我也遇到过。应该是工程文件里面用到的字体有问题,系统字体装得太多的缘故。你可以先备份一下原有的字体,然后在字体册里面恢复一下标准字体。再试试。 参考技术A 开始以为是文字字体问题,后来觉得似乎是表达式报错?如果不影响效果可以无视。 参考技术B 刚测试, 完美解决,只要把时间那个图层名字命名英文就好了,不要出现奇怪的字符和汉字 参考技术C 解决方案

解决方案 1:对文件名、路径和硬盘使用单字节字符。

将多字节字符(如中文、希伯来文或日文字符)的实例更改为单字节字符(如英文字符)。

解决方案 2:替换目标语言的 AMT.zdct 文件。

Mac OS
1.打开 Applications/Adobe After Effects CS5(或者 CS3 或 CS4)文件夹。
2.右键单击 Adobe After Effects CS4 应用程序图标,然后选择“显示包内容”。

3.打开 Content/Resources/AMT Languages 文件夹。

4.记下此文件夹中 .txt 文件的名称,它是安装的 After Effects 语言版本的语言代码。该语言为目标语言。例如,美国英语对应的语言代码为 en_US,土耳其语为 tr_TR,俄语为 ru_RU 等。此处提供了常用语言代码列表。

5.返回 Resources 文件夹并打开 AMT 文件夹。

6.打开以在第 4 步中确定的目标语言代码命名的文件夹。

7.在 AMT.zdct 文件名的开头添加一个波形字符 (~)。此步骤会导致 After Effects 忽略该文件,但会保留该文件作为备份。

8.返回 AMT 文件夹并打开 en_US 的文件夹。(您也可以选择不受此问题影响的其他语言,如与法语对应的 fr_FR 以及与西班牙语对应的 es_ES。)

9.将此文件夹中的 AMT.zdct 文件复制到第 6 步中的目标语言文件夹。要复制该文件,请在按住 Option 键的同时将文件从一个文件夹拖动到另一个文件夹。或者,选择该文件并选择“文件”>“复制”,然后将文件移至另一个文件夹并删除文件名末尾的“副本”。
10.启动 After Effects。

Windows
1.打开 Program Files\Adobe\Adobe After Effects CS4(或 CS3)\Support Files\AMT Languages 文件夹。
2.记下此文件夹中 .txt 文件的名称,它是安装的 After Effects 语言版本的语言代码。该语言为目标语言。例如,美国英语对应的语言代码为 en_US,土耳其语为 tr_TR,俄语为 ru_RU 等。此处提供了常用语言代码列表。

3.返回 Support Files 文件夹,然后打开 AMT 文件夹。

4.打开以在第 2 步中确定的目标语言代码命名的文件夹。

5.在 AMT.zdct 文件名的开头添加一个波形字符 (~)。此步骤会导致 After Effects 忽略该文件,但会保留该文件作为备份。

6.返回 AMT 文件夹并打开 en_US 的文件夹。(您也可以选择不受此问题影响的其他语言,如与法语对应的 fr_FR 以及与西班牙语对应的 es_ES。)

7.将此文件夹中的 AMT.zdct 文件复制到第 4 步中的目标语言文件夹。选择该文件,选择“编辑”>“复制”,导航回目标语言文件夹,然后选择“编辑”>“粘贴”。

8.启动 After Effects。
参考技术D 同样mac 2015,解决吗

以上是关于请教一下是啥错误怎么解决,是在测试ehcache分布式缓存中出现的 求高手 重金的主要内容,如果未能解决你的问题,请参考以下文章

测试虚拟机的LINUX 指令连接本地的MYSQL数据库显示失败,请教一下是啥原因?最好能详细点吗?在线等谢谢

请教asp代码:“Persits.Jpeg.1 错误 '800a0004' Invalid Registration Key”是啥意思??

请教一下excel表格中的长数字导入excel之后变成1.01400e+1,是啥问题?

请问After Effects错误:无法转换Unicode字符。是啥问题?怎么解决?

请教一下mysql 行锁命令是啥?

错误代码412是啥啊?怎么解决??