使用ehcache时出现RMI连接问题

时间:2017-05-18 13:25:41

标签: java rmi

您好我有2个Web应用程序,我正在使用Apache Shiro和ehcache来启用SSO。我的ehcache.xml文件就像

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true"
         monitoring="autodetect" dynamicConfig="true" name="cache1">

    <diskStore path="java.io.tmpdir/cache2" />

    <cacheManagerPeerProviderFactory
            class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
            properties="peerDiscovery=automatic,
                        multicastGroupAddress=230.0.0.1,
                        multicastGroupPort=4446, timeToLive=1"
            propertySeparator="," />

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

    <cache name="shiro-activeSessionCache" maxElementsInMemory="600"
           eternal="true" overflowToDisk="true" memoryStoreEvictionPolicy="LFU">
        <cacheEventListenerFactory
                class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" />
    </cache>

    <defaultCache maxElementsInMemory="100" eternal="true"
                  overflowToDisk="true" memoryStoreEvictionPolicy="LFU">
    </defaultCache>
</ehcache>

如果我的rmi.server.hostname = 0.0.0.0,这个配置工作正常,但由于某些原因我必须将它配置为我的ip,如下所示

-Djava.rmi.server.hostname = 10.131.210.201

在这种情况下,它会抛出如下错误

**java.rmi.ConnectException: Connection refused to host: 10.131.210.201;** 

1 个答案:

答案 0 :(得分:0)

  

如果我的rmi.server.hostname = 0.0.0.0

,此配置可以正常工作

不可能。你更有可能没有设置它。

  

但由于某些原因,我必须将其配置为我的IP,如下所示

-Djava.rmi.server.hostname=10.131.210.201

您必须将其设置为服务器主机的大多数公共 IP地址。 10. *地址仅适用于它所属的局域网。