Witam serdecznie! Właśnie zamierzam "tworzyć" programy z wykorzystaniem RMI...Chciałbym wszystko robić w NetBeansie (nie "ręcznie", tzn. z wyk. okna poleceń, bo po co tracić czas)...Znalazłem gdzieś w necie jakiś prosty programik, wklepałem klasy i interfejsy do NetBeansa: oto one:
package rmi;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Product extends Remote
{
String getDescription() throws RemoteException;
}
//////////////////////////////////////////////////////////////////////////
import java.rmi.RMISecurityManager;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class ProductClient
{
public static void main(String[] args) throws NamingException
{
System.setProperty("java.security.policy", "client.policy");
System.setSecurityManager(new RMISecurityManager());
String url="rmi://localhost:1099";
try
{
Context namingContext=new InitialContext();
Product c1=(Product) namingContext.lookup(url+"toster");
Product c2=(Product) namingContext.lookup(url+"mikrofalowka");
System.out.println(c1.getDescription());
System.out.println(c2.getDescription());
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
package rmi;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class ProductImpl extends UnicastRemoteObject implements Product
{
private String name;
public ProductImpl(String n) throws RemoteException
{
name=n;
}
public String getDescription() throws RemoteException
{
return "To ja - "+name+". Kup mnie! ";
}
}
////////////////////////////////////////////////////////////////////////////////////////////
package rmi;
import java.rmi.RemoteException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class ProductServer
{
public static void main(String args[]) throws NamingException, RemoteException
{
try
{
System.out.println("Tworzy implementacje serwera...");
ProductImpl p1=new ProductImpl("toster");
ProductImpl p2=new ProductImpl("mikrofalowka");
System.out.println("Rejestruje utworzone implementacje...");
Context namingContext=new InitialContext();
namingContext.bind("rmi:toster", p1);
namingContext.bind("rmi:mikrofalowka", p2);
System.out.println("Oczekuje zdalnych wywolan od klientow...");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Pytanie jest takie: jak to odpalić? W jaki sposób netBeans automatycznie tworzy Stub'y i Skeleton? Jak zrobić żeby to zadziałało? Może ktoś wie jak pliki serwerowe wrzucić na serwer, mam zainstalowanego Apache Tomcat...Bardzo proszę o cenne rady...