XMPP hizmetini başlatan ancak boşuna olmayan, önceden derlenmiş bir yürütülebilir dosyayı başlatmaya çalışıyorum. Yürütülebilir dosyanın bulunduğu proje http://sourceforge.net/projects/androidpn/ .
Kurulumum, iki IP adresli tek bir kutudur (ubuntu sunucu işletim sistemi) (IP1 ve IP2'yi arayabiliriz). XMPP sunucusunu her başlatmaya çalıştığımda, Java çalıştırılabilir programından "Adres kullanımda" hatası alıyorum. XMPP tarafından kullanılan portlar ücretsiz ve sadece emin olmak için Apache'nin sadece IP1'deki portları dinlediğinden emin oldum. Ancak, XMPP sunucusunun başlatılmasını hala sağlayamıyorum.
2 IP adresimin kurulması ile ilgili bir sorun olur mu? Yoksa kaçırdığım başka bir şey mi var?
Şimdiden teşekkürler.
Düzenle: Paul sayesinde netstat -pant
bu belirli satırı gösterir (5222, XMPP sunucusunu kullanılan bir bağlantı noktasıdır):
tcp 0 0 0.0.0.0:5222 0.0.0.0:* LISTEN 14085/citserver
0.0.0.0’ın tüm IP’lere atıfta bulunduğunu kabul ediyorum. Bu kutuda iki IP adresim olduğundan, citserver / webcit / citadel'in yalnızca ilk IP'de dinlemesini, ikinci IP'de önceden derlenmiş XMPP için aynı bağlantı noktasını serbest bırakmanın bir yolu var mıydı?
Not; hatayı tanımlayan bir günlük yığını:
{INFO } [2012-06-13 11:23:22,578] <org.hibernate.impl.SessionFactoryImpl> : closing
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ioAcceptor' defined in class path resource [spring-config.xml]: Invocation of init method failed; nested exception is java.net.BindException: Address already in use
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at org.androidpn.server.xmpp.XmppServer.start(XmppServer.java:91)
at org.androidpn.server.xmpp.XmppServer.<init>(XmppServer.java:76)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at org.androidpn.server.starter.ServerStarter.start(ServerStarter.java:82)
at org.androidpn.server.starter.ServerStarter.main(ServerStarter.java:48)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:137)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:77)
at org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor.java:251)
at org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor.java:48)
at org.apache.mina.core.polling.AbstractPollingIoAcceptor.registerHandles(AbstractPollingIoAcceptor.java:523)
at org.apache.mina.core.polling.AbstractPollingIoAcceptor.access$200(AbstractPollingIoAcceptor.java:65)
at org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.run(AbstractPollingIoAcceptor.java:407)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
{INFO } [2012-06-13 11:23:22,596] <org.androidpn.server.xmpp.XmppServer> : XmppServer stopped
tcp 0 0 0.0.0.0:5222 0.0.0.0:* LISTEN 14085/citserver
Kalenin / citserver'ın yalnızca IP1 portlarını dinlemesini nasıl sağlayabilirim (böylece aynı portları IP2'de kullanabilirim)?
netstat -an
?