Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 弹簧&x2B;Redis关于SystemEnv的类型_Java_Xml_Spring - Fatal编程技术网

Java 弹簧&x2B;Redis关于SystemEnv的类型

Java 弹簧&x2B;Redis关于SystemEnv的类型,java,xml,spring,Java,Xml,Spring,最近,我尝试通过spring.xml访问redis,但是主机和端口应该从系统属性获取,因此xml如下所示: <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_

最近,我尝试通过spring.xml访问redis,但是主机和端口应该从系统属性获取,因此xml如下所示:

 <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />   
    <property name="ignoreUnresolvablePlaceholders" value="true" />   
 </bean>    

<bean id="redisClusterConfig" class="org.springframework.data.redis.connection.RedisClusterConfiguration">
    <property name="clusterNodes">
        <list>
            <bean class="org.springframework.data.redis.connection.RedisNode">
                <constructor-arg name="host" value= "${HOST}"/>
                <constructor-arg name="port" value="${PORT}"/>
            </bean>
        </list>
    </property>
</bean>

<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
      destroy-method="destroy">
    <constructor-arg name="clusterConfig" ref="redisClusterConfig"/>
</bean>


<!-- redis template definition -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
     <property name="connectionFactory" ref="jedisConnectionFactory"/>
</bean>

没关系,当我将其打包为jar并在本地运行时,但当我将其放入PAAS时,“port”有一些问题,SystemEnv的返回值是String,但port应该是int,如何将其转换为XML。

尝试以下方法:

    <bean id="redisClusterConfig" class="org.springframework.data.redis.connection.RedisClusterConfiguration">
        <property name="clusterNodes">
            <list>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value= "${HOST}" />
                    <constructor-arg name="port" value="${PORT}" type="int"/>
                </bean>
            </list>
        </property>
    </bean>