0
Class FoodItem{
private String name;
private int numCalories;
public FoodItem(String s, int cals)
{
name = s;
numCalories = cals
}
public String getName()
{
return name;
}
public int getNumOfCalories()
{
return numCalories;
}
}
public class FoodItemServer
{
public static void main(String [] args)
{
FoodItem f1 = new FoodItem("Wispa", 254);
FoodItem f2 = new FoodItem("Apple", 45);
System.out.println("Food Name: " + f1.getName + 「has 「 +
f1.getCalories +「calories」);
}
}
我們最近開始使用RMI,我很努力地理解它。使用RMI訪問對象
在前面的例子中(我會在下面)使用工廠來存儲我們的對象,並在我們工廠調用的實例的服務器類中使用Naming.rebind()
。
在上面的例子中,我只有實現和服務器類,工廠沒有被使用,我如何重新分解代碼,以便我可以遠程訪問對象,我會再次使用Naming.rebind()
還是還有另一種實現?
這是我使用之前:您需要哪種實現java.rmi.Remote接口 接口
import java.rmi.Naming;
/*
* Creates the server for using RMI
*/
public class PlayerServer
{
public static void main(String args[])
{
System.out.println("Player Server Starting");
try{
PlayerFactory aFactory = PlayerFactory.getInstance();
Naming.rebind("factory", aFactory);
}
catch(Exception e){
e.printStackTrace();
}
}
}
好吧,我明白你的意思,它類似於我們在此之前做過,在日食中不適應它,我應該沒問題,謝謝基督徒,我儘快接受你的回答 – user2757842
還可以看看EJB技術,或者如果可能的話使用WebService(SOAP/Rest)。 RMI仍然是可能的,但在大多數情況下,如果可能的話,最好使用這些更復雜的技術。 – Diversity
RMI註冊表提供了一個RMI接口。 JNDI提供了一個RMI接口。註冊表不提供JNDI接口。擴展UnicastRemoteObject或將對象綁定到註冊表不是必需的:在每種情況下都有其他選擇。 – EJP