BBS水木清华站∶精华区
发信人: kywu (忍耐和等待), 信区: Java
标 题: EJB1.1的一些限制
发信站: BBS 水木清华站 (Thu Dec 14 11:07:39 2000)
很是不爽 ;-((
下面列举了一些EJB1.1规范的编程限制:
Enterprise bean不允许管理线程和线程组。不能启动一个新的线程,
不能继续一个挂起的线程,也不允许中断或挂起一个正在运行的线程。
另外,Enterprise bean不能改变一个线程的优先级,也不能改变线程的名字。
Enterprise bean不能使用既可读又可写的静态的字段。
但可以使用只读的静态的字段。这样,所有的静态字段就必须声明为final。
Enterprise bean不允许使用线程同步原语来同步多个实例的执行。
Enterprise bean不能使用java的AWT函数来输出信息显示到屏幕。
也不能从键盘接受信息。
Enterprise bean也不能使用java.io包来访问文件系统的文件和目录。
Enterprise bean应该尽量少使用sockets。特别的,Enterprise bean
不能够监听Sockets,不能接受Socket上的连接,或使用Socket来进行广播。
也不应该使用由SeverSocket,Socket建立的Socket工厂,或者由URL使用的流工厂。
Enterprise bean不能访问classes或package,也不能获得关于classes的信息。
在某种程度上不允许通过Java程序设计语言。或者说,classes对Enterprise bean
是不可用的。
Enteprise bean通常不允许访问环境函数,这些环境函数通常是由容器来控制。
例如:产生一个类装载器,访问或者修改上下文,设置或产生安全管理器,
停止JVM,改变输入,输出或错误流。
Enterprise bean不能为一段代码获得安全方针信息,否则会危及安全。
Enterprise bean不能装载本地库。
Enterprise bean不能在package中定义类。这个功能由于安全的原因被容器所保留。
Enterprise bean不能使用子类或Java Serialiazation Protocol中的对象取代特性。
如果Enterprise bean使用了this作为参数或方法的返回值,需要万分小心。
使用SessionContext.getEJBObject()或EntityContext.getEJBObject来传递结果
更安全一些。
Enterprise bean不允许改变对象的安全配置。例如,不允许改变它的
java.security.Identify。任何这样的企图都会抛出一个
java.security.SecurityException异常。
--
白帆,草鞋,梦的衣裳,
我要去流浪...
※ 来源:·BBS 水木清华站 smth.org·[FROM: 162.105.184.148]
BBS水木清华站∶精华区