Error while configuring HornetQ
raymanf Feb 24, 2013 8:41 AMHi,
I am using HornetQ 2.1.1 integrated inside Spring3.1.
I created two seperate Spring applications having diffrent HornetQ servers.
I am starting to configure the first HornetQ node.
I added 3 new blocks to hornetq-configuration.xml: in order to configure the cluster:
<broadcast-groups> <broadcast-group name="bg-group1"> <group-address>231.7.7.7</group-address> <group-port>9876</group-port> <broadcast-period>1000</broadcast-period> <connector-ref>netty</connector-ref> </broadcast-group> </broadcast-groups> <discovery-groups> <discovery-group name="dg-group1"> <group-address>231.7.7.7</group-address> <group-port>9876</group-port> <refresh-timeout>60000</refresh-timeout> </discovery-group> </discovery-groups> <cluster-connections> <cluster-connection name="my-cluster"> <address>jms</address> <connector-ref>netty</connector-ref> <discovery-group-ref discovery-group-name="dg-group1"/> <!--max hops defines how messages are redistributed, the default is 1 meaning only distribute to directly connected nodes, to disable set to 0--> <!--<max-hops>0</max-hops>--> </cluster-connection> </cluster-connections>
and as soon as I added them I get exception from hornetQ (will be detailed below)
(without this this change the server works as individual perefctly fine).
this how my configurations files looks like:
<configuration xmlns="urn:hornetq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hornetq /schema/hornetq-configuration.xsd"> <paging-directory>${data.dir:./data}/paging</paging-directory> <bindings-directory>${data.dir:./data}/bindings</bindings-directory> <journal-directory>${data.dir:./data}/journal</journal-directory> <journal-min-files>10</journal-min-files> <large-messages-directory>${data.dir:./data}/large-messages </large-messages-directory> <clustered>true</clustered> <allow-failback>true</allow-failback> <connectors> <connector name="netty"> <factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory </factory-class> <param key="host" value="${hornetq.remoting.netty.host:localhost}" /> <param key="port" value="${hornetq.remoting.netty.port:5445}" /> </connector> </connectors> <acceptors> <acceptor name="netty"> <factory-class>org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory </factory-class> <param key="host" value="${hornetq.remoting.netty.host:localhost}" /> <param key="port" value="${hornetq.remoting.netty.port:5445}" /> </acceptor> </acceptors> <broadcast-groups> <broadcast-group name="bg-group1"> <group-address>231.7.7.7</group-address> <group-port>9876</group-port> <broadcast-period>1000</broadcast-period> <connector-ref>netty</connector-ref> </broadcast-group> </broadcast-groups> <discovery-groups> <discovery-group name="dg-group1"> <group-address>231.7.7.7</group-address> <group-port>9876</group-port> <refresh-timeout>60000</refresh-timeout> </discovery-group> </discovery-groups> <cluster-connections> <cluster-connection name="my-cluster"> <address>jms</address> <connector-ref>netty</connector-ref> <discovery-group-ref discovery-group-name="dg-group1"/> <!--max hops defines how messages are redistributed, the default is 1 meaning only distribute to directly connected nodes, to disable set to 0--> <!--<max-hops>0</max-hops>--> </cluster-connection> </cluster-connections> <security-settings> <security-setting match="#"> <permission type="createNonDurableQueue" roles="guest" /> <permission type="deleteNonDurableQueue" roles="guest" /> <permission type="consume" roles="guest" /> <permission type="send" roles="guest" /> </security-setting> </security-settings> <address-settings> <!--default for catch all--> <address-setting match="#"> <dead-letter-address>jms.queue.DLQ</dead-letter-address> <expiry-address>jms.queue.ExpiryQueue</expiry-address> <redelivery-delay>0</redelivery-delay> <max-size-bytes>10485760</max-size-bytes> <message-counter-history-day-limit>10 </message-counter-history-day-limit> <address-full-policy>BLOCK</address-full-policy> </address-setting> </address-settings> </configuration>
HornetQ-JMS.xml
<configuration xmlns="urn:hornetq" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hornetq /schema/hornetq-jms.xsd"> <connection-factory name="NettyConnectionFactory"> <xa>true</xa> <connectors> <connector-ref connector-name="netty" /> </connectors> <entries> <entry name="/XAConnectionFactory" /> </entries> </connection-factory> <connection-factory name="NettyConnectionFactory"> <xa>false</xa> <discovery-group-ref discovery-group-name="sfp-rnd" /> <connectors> <connector-ref connector-name="netty" /> </connectors> <entries> <entry name="ConnectionFactory" /> </entries> <retry-interval>1000</retry-interval> <retry-interval-multiplier>1.0</retry-interval-multiplier> <reconnect-attempts>1</reconnect-attempts> </connection-factory> <connection-factory name="NettyThroughputConnectionFactory"> <xa>true</xa> <connectors> <connector-ref connector-name="netty-throughput" /> </connectors> <entries> <entry name="/XAThroughputConnectionFactory" /> </entries> </connection-factory> <connection-factory name="NettyThroughputConnectionFactory"> <xa>false</xa> <connectors> <connector-ref connector-name="netty-throughput" /> </connectors> <entries> <entry name="/ThroughputConnectionFactory" /> </entries> </connection-factory> <queue name="DLQ"> <entry name="/queue/DLQ" /> </queue> <queue name="ExpiryQueue"> <entry name="/queue/ExpiryQueue" /> </queue> <topic name="liquiditiyFeedTopic"> <entry name="/topic/liquiditiyFeedTopic" /> </topic> </configuration> and my General HornetQ configurations: <bean name="namingServerImpl" class="org.jnp.server.NamingBeanImpl" init-method="start" destroy-method="stop" /> <bean name="namingServer" class="org.jnp.server.Main" init-method="start" destroy-method="stop"> <property name="namingInfo" ref="namingServerImpl" /> <property name="port" value="1099" /> <property name="bindAddress" value="localhost" /> <property name="rmiPort" value="3000" /> <property name="rmiBindAddress" value="localhost" /> </bean> <bean id="cachedConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory" p:targetConnectionFactory-ref="connectionFactory" p:sessionCacheSize="200" /> <bean name="fileConfiguration" class="org.hornetq.core.config.impl.FileConfiguration" init-method="start" destroy-method="stop" /> <bean name="hornetQSecurityManagerImpl" class="org.hornetq.spi.core.security.HornetQSecurityManagerImpl" /> <!-- The core server --> <bean name="hornetQServerImpl" class="org.hornetq.core.server.impl.HornetQServerImpl"> <constructor-arg ref="fileConfiguration" /> <constructor-arg ref="mbeanServer" /> <constructor-arg ref="hornetQSecurityManagerImpl" /> </bean> <!-- The JMS server --> <bean name="jmsServerManagerImpl" class="org.hornetq.jms.server.impl.JMSServerManagerImpl" init-method="start" destroy-method="stop" depends-on="namingServer"> <constructor-arg ref="hornetQServerImpl" /> </bean> <bean name="connectionFactory" class="org.hornetq.jms.client.HornetQJMSConnectionFactory"> <constructor-arg name="ha" value="false" /> <constructor-arg> <bean class="org.hornetq.api.core.TransportConfiguration"> <constructor-arg value="org.hornetq.core.remoting.impl.netty.NettyConnectorFactory" /> <constructor-arg> <map key-type="java.lang.String" value-type="java.lang.Object"> <entry key="port" value="5445"></entry> </map> </constructor-arg> </bean> </constructor-arg> </bean> Now this is the wierd Exception that I get: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'fileConfiguration' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NumberFormatException: For input string: "10 " at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) ... 43 more Caused by: java.lang.NumberFormatException: For input string: "10 " at java.lang.NumberFormatException.forInputString(Unknown Source) any idea ? thanks.