rmi + linux = truble
От: mojo8jojo  
Дата: 03.04.07 19:04
Оценка:
я написал простенькое клиент-серверное приложение на основе рми. под виндой все работает замечательно. решил испытать переносимость явы. поставил на виртуальной машине линукс slackware 10.2 поставил дждк 1.5 запускаю rmiregistry & следом запускаю свой серер... на этом этапе вылетает эксцепшен:

javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: ; nested exception is:
java.net.ConnectException: Connection refused]
at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:122)
at com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:208)
at javax.naming.InitialContext.bind(InitialContext.java:359)
at DasServer.<init>(DasServer.java:18)
at DasServer.main(DasServer.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Caused by: java.rmi.ConnectException: Connection refused to host: ; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:574)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:116)
... 9 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:179)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:569)

бъюсь уже целую неделю.... есть подозрение сетефой интерфейс.... помогите не окрепшей детской психике...буду очень признателен
Re: rmi + linux = truble
От: Mr WeL Россия  
Дата: 04.04.07 03:05
Оценка:
Привет!

Может firewall мешает?
Re: rmi + linux = truble
От: Alex Leshkin  
Дата: 04.04.07 05:22
Оценка:
Здравствуйте, mojo8jojo, Вы писали:

M>я написал простенькое клиент-серверное приложение на основе рми. под виндой все работает замечательно. решил испытать переносимость явы. поставил на виртуальной машине линукс slackware 10.2 поставил дждк 1.5 запускаю rmiregistry & следом запускаю свой серер... на этом этапе вылетает эксцепшен:


M>javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: ; nested exception is:

Странно, что нет хоста в эксепшене.
Покажи код в котором происходит этот эксепшен.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: rmi + linux = truble
От: Аноним  
Дата: 04.04.07 13:48
Оценка:
AL>Странно, что нет хоста в эксепшене.
AL>Покажи код в котором происходит этот эксепшен.

import javax.naming.Context;
import javax.naming.InitialContext;
import java.rmi.Naming;

public class DasServer {
public DasServer() {
try {
FileMngrImpl tst = new FileMngrImpl();
Context namingContext = new InitialContext();
namingContext.bind("rmi:Server", tst);
} catch (Exception e) {
System.out.println("Trouble: " + e);
}
}
public static void main(String[] args){
new DasServer();
}
}
Re[2]: rmi + linux = truble
От: mojo8jojo  
Дата: 04.04.07 13:53
Оценка:
Здравствуйте, Mr WeL, Вы писали:

MW>Привет!


MW>Может firewall мешает?


непохоже.... линукс голый... да ошибка возникает еще при старте сервера... такое ощущение что jndi не видит сетевого интерфейса
Re: rmi + linux = truble
От: b_manvelyan Украина  
Дата: 04.04.07 14:06
Оценка:
Здравствуйте, mojo8jojo, Вы писали:

M>я написал простенькое клиент-серверное приложение на основе рми. под виндой все работает замечательно. решил испытать переносимость явы. поставил на виртуальной машине линукс slackware 10.2 поставил дждк 1.5 запускаю rmiregistry & следом запускаю свой серер... на этом этапе вылетает эксцепшен:


M>javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: ; nested exception is:


А чего это имя хоста в ексепшине пустое? Глупый конечно вопрос: у тебя имя компьютера установлено на голом линухе?
Re: rmi + linux = truble
От: Blazkowicz Россия  
Дата: 04.04.07 14:30
Оценка: +1
Здравствуйте, mojo8jojo, Вы писали:

M>я написал простенькое клиент-серверное приложение на основе рми. под виндой все работает замечательно. решил испытать переносимость явы. поставил на виртуальной машине линукс slackware 10.2 поставил дждк 1.5 запускаю rmiregistry & следом запускаю свой серер... на этом этапе вылетает эксцепшен:


M>javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: ; nested exception is:

M>бъюсь уже целую неделю.... есть подозрение сетефой интерфейс.... помогите не окрепшей детской психике...буду очень признателен

/etc/hosts
Re[2]: rmi + linux = truble
От: mojo8jojo  
Дата: 04.04.07 18:39
Оценка:
Здравствуйте, b_manvelyan, Вы писали:

_>Здравствуйте, mojo8jojo, Вы писали:


M>>я написал простенькое клиент-серверное приложение на основе рми. под виндой все работает замечательно. решил испытать переносимость явы. поставил на виртуальной машине линукс slackware 10.2 поставил дждк 1.5 запускаю rmiregistry & следом запускаю свой серер... на этом этапе вылетает эксцепшен:


M>>javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: ; nested exception is:


_>А чего это имя хоста в ексепшине пустое? Глупый конечно вопрос: у тебя имя компьютера установлено на голом линухе?


я тоже не понимаю почему пустое.... когда подставляеешь непосредственно айпи сервер так же вылетает но в эксепшене пишется уже айпи.
в etc/host подозрительного ничего не нашел все в норме....

#
# hosts This file describes a number of hostname-to-address
# mappings for the TCP/IP subsystem. It is mostly
# used at boot time, when no name servers are running.
# On small systems, this file can be used instead of a
# "named" name server. Just add the names, addresses
# and any aliases to this file...
#
# By the way, Arnt Gulbrandsen <agulbra@nvg.unit.no> says that 127.0.0.1
# should NEVER be named with the name of the machine. It causes problems
# for some (stupid) programs, irc and reputedly talk. :^)
#

# For loopbacking.
127.0.0.1 localhost
84.23.35.12 internets

# End of hosts.
Re[3]: rmi + linux = truble
От: Alex Leshkin  
Дата: 05.04.07 09:21
Оценка:
С кодом вроде все нормально. А rmiregistry точно стартовала?
Что выдает netstat -lpn | grep rmiregistry?

Если стартовала, попробуй вот так объект забиндить:
java.rmi.Naming.rebind("rmi:///Server", tst)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: rmi + linux = truble
От: Аноним  
Дата: 05.04.07 10:25
Оценка:
Здравствуйте, mojo8jojo, Вы писали:

M>непохоже.... линукс голый... да ошибка возникает еще при старте сервера... такое ощущение что jndi не видит сетевого интерфейса

..ээ я в rmi не силен, но вот припоминаю, что ручками регистрировать все интерфейс нужно.. может код запостишь.. ну или откуда пример..
Re[4]: rmi + linux = truble
От: mojo8jojo  
Дата: 05.04.07 15:01
Оценка:
Здравствуйте, Alex Leshkin, Вы писали:

AL>С кодом вроде все нормально. А rmiregistry точно стартовала?

AL>Что выдает netstat -lpn | grep rmiregistry?

AL>Если стартовала, попробуй вот так объект забиндить:

AL>java.rmi.Naming.rebind("rmi:///Server", tst)

Большое спасибо за подсказку!!!! оказывается все дело было в трех слэшах /// когда биндил объект.... только это уже магия какая то...

а с чем это связано что при забиндивании объекта в адресе ставяться 3 слэша?
Re[5]: rmi + linux = truble
От: Blazkowicz Россия  
Дата: 05.04.07 15:11
Оценка:
Здравствуйте, mojo8jojo, Вы писали:

M>Большое спасибо за подсказку!!!! оказывается все дело было в трех слэшах /// когда биндил объект.... только это уже магия какая то...

M>а с чем это связано что при забиндивании объекта в адресе ставяться 3 слэша?

The codebase property will be resolved to a URL, so it must have the form of "http://aHost/somesource/" or "file:/myDirectory/location/" or, due to the requirements of some operating systems, "file:///myDirectory/location/" (three slashes after the "file:").


Мистика
Re[6]: rmi + linux = truble
От: Blazkowicz Россия  
Дата: 05.04.07 15:18
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Мистика


С другой стороны.
http://java.sun.com/j2se/1.4.2/docs/api/java/rmi/Naming.html
Re[4]: rmi + linux = truble
От: Аноним  
Дата: 07.02.09 19:17
Оценка:
Здравствуйте, Alex Leshkin, Вы писали:

AL>С кодом вроде все нормально. А rmiregistry точно стартовала?

AL>Что выдает netstat -lpn | grep rmiregistry?

AL>Если стартовала, попробуй вот так объект забиндить:

AL>java.rmi.Naming.rebind("rmi:///Server", tst)

здравствуйте, я так же делал как вы сказали но все также...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.