BindException with NamingService
bruce2 Mar 26, 2004 11:35 AMI am trying to set up the cache invalidation service using the JMSCacheInvalidationBridge. I particularly want to juse the JMS invalidation bridge, because I want to be able to invalidate entity beans from Java Stored Procedures running in Oracle.
Note: I am runing JBoss in the 'all' configuration.
I bought the "JBoss AS Clustering" documentation from the JBoss website and faithfully followed the instructions in Chapter 8. This mainly means uncommenting the mbean section in cache-invalidation-service.xml.
Although it is not documented, I have worked out that you need to comment out the JGCacheInvalidationBridge mbean section in cluster-service.xml if you are using the JMS one in cache-invalidation-service.xml.
Having done this however, I still get an Exception in server.log during startup:
ERROR [org.jboss.naming.NamingService] Could not start on port 1099
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
...
At one point I did reinstall JBoss from the original distribution. Before that I was getting a similar error but the port was 1100. I think the only difference is the order that the services were getting loaded in.
The most likely references to NamingService's I could find were in all/conf/jboss-service.xml and all/deploy/cluster-service.xml. The on one in cluster-service.xml is the HANamingService.
Both of these services have "Port" attributes, which are set to 1099 in the former case and 1100 in the latter, so in theory there should be no clash.
I can get rid of the Exception by setting the Port attribute in jboss-service.xml to -1, but I get errors further down the line from services that depend on this service.
The only service that has been added as far as I can see is the JMS cache invalidation service. The only reference to a port number in cache-invalidation-service.xml is the atttribute ProviderUrl which is in reference to other nodes in a cluster.
Is it possible this bridge is locking up port 1099?
The otther odd thing is that I can't telnet to port 1099 once the server has started. So although it reports a BindException, it doesn't look like port 1099 actually gets used by anything.
Confused