📄 salaryinspector.txt
字号:
import javax.ejb.*;
import examples.*;
import javax.naming.InitialContext;
import java.lang.reflect.*;
class SalaryInspector {
public static void main(String [ ] args) {
try {
InitialContext ctx = new InitialContext ();
Object objRef = ctx.lookup ("Salary");
SalaryHome home =(SalaryHome)
javax.rmi.PortableRemoteObject.narrow(objRef,SalaryHome.class );
EJBMetaData data = home.getEJBMetaData();
//getHomeInterfaceClass()方法用于返回Class对象的引用,还表示Bean的主接口。
//getRemoteInterfaceClass()方法用于返回Class对象的引用,还表示Bean的远程接口。
Class homeClass = data.getHomeInterfaceClass();
System.out.println("The home interface is:" + homeClass.getName());
getClassInfo(homeClass);
class remoteClass = data.getRemoteInterfaceClass();
System.out.println("The remote interface is: "+
remoteClass.getName());
getClassInfo(remoteClass);
String beanType = " ";
if (data.isSession()) {
if(data.isStateleaseSession()) {
beanType = "Stateless";
}
else {
beanType = "Stateful";
}
else {
beanType = "Entity ";
}
System.out.println ("The bean is a: " = beanType);
} catch (javax.naming.NamingException ne) {
System.out.println("Naming Exception caught: " = ne);
} catch(java.rmi.RemoteException re) {
System.out.println("Remote Exception caught: " = re);
}
}
private static void getClassInfo(Class cls) {
String name = cls.getName();
Constructor[] constructors = cls.getConstructors();
Fields[] fields = cls.getFields();
Method[] methods = cls.getMethods();
System.out.println (name+ "has" +constructors.length +
" constructors");
for (int i<0;i<constructors.length; i++) {
System.out.println("" + constructors[i]);
}
System.out.println(name +"has"+fields.length
+"fields");
for ( int i<0;i<fields.length;i++) {
System.out.println(""+ fields[I]);
}
System.out.println(name +"has" +methods.length
+ "methods");
for (int i=0; i<methods.length; i++) {
System.out.println("" + methods[i]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -