Это мой код клиентаJBREM000200: Удаленное подключение не удалось: java.io.IOException: существующее соединение было принудительно закрыто удаленным хостом
package com.tutorialspoint.test;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import com.tutorialspoint.stateless.testRemote;
public class test
{
BufferedReader brConsoleReader = null;
Properties props;
static InitialContext ctx;
{
props = new Properties();
try {
props.load(new FileInputStream("jndi.properties"));
} catch (IOException ex) {
ex.printStackTrace();
}
try {
ctx = new InitialContext(props);
} catch (NamingException ex) {
ex.printStackTrace();
}
brConsoleReader =
new BufferedReader(new InputStreamReader(System.in));
}
public static void main(String[] args)
{
test _test = new test();
try {
testRemote libraryBean =(testRemote)ctx.lookup("java:global/TestEjb/testBean!
com.tutorialspoint.stateless.testRemote");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Это развертывается на сервере
package com.tutorialspoint.stateless;
import javax.ejb.Stateless;
@Stateless
public class testBean implements testRemote
{
public void hello()
{
System.out.println("hello");
}
}
package com.tutorialspoint.stateless;
import javax.ejb.Remote;
@Remote
public interface testRemote
{
void hello();
}
I я получаю исключение на стороне сервера:
19:09:12,676 ERROR [org.jboss.remoting.remote.connection] (Remoting "cognam-
pc-26" read-1) JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the
remote host
я получаю исключение на стороне клиента: -
javax.naming.CommunicationException: Could not obtain connection to any of these urls: localhost:4447 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to retrieve stub from server localhost:4447 [Root exception is java.io.StreamCorruptedException:
invalid stream header: 0000000F]]org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1414) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:594) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587) at javax.naming.InitialContext.lookup(InitialContext.java:392) at com.tutorialspoint.test.test.main(test.java:37)
это получение вызывается только один раз –
Тогда я думаю, ваш вырезать и вставить было неправильно или я прочитал это неправильно, я буду удалять свои комментарии. – dstudeba
Возможно, ваш сервер фактически не разрешает подключения к 4447. Проверьте, можете ли вы подключиться к этому порту telnet или использовать netstat -an для запроса этого. – Phuthib