请教ClassLoader问题?!

我现在想实现:根据用户业务需要,我会动态生成一些java文件,用于描述该业务,我在服务端启动时会启动一个程序,来监听java文件目录,当有新文件生成时,自动将该java文件编译。

问题:在EJB中我想动态的加载这些类,我的想法是生成一个ClassLoader,加载这些类,然后将该ClassLoader,设置为当前ClassLoader,Thread.currentThread().setContextClassLoader(classLoader);这样是否能行?在EJB的何处加入这些代码为益,有无限制?


EJB中禁止文件操作,因为EJB是一个分布式环境,任何一个EJB某刻在A服务器上运行,后来也可能在B服务器上运行,EJB服务器没有提供A和B服务器之间文件系统的同步。

我是在jboss下开发一个mbean来做这件事,在ejb中动态的加载这些类,在weblogic我开发一个启动类,在weblogic启动时就启动它,即配置成一个 jndi!!!EJB中可以调用了!这样也不能操作文件???

你这个就不是单纯的在EJB中使用文件的问题了。

banq回答的很正确。
你发的帖子没把问题说清楚。


你既然打算采用 mbean-->ejb-->调用的这样的方式,
那么我就不妨告诉你,多此一举!

为什么要通过ejb?
浪费资源吗?

说到这里,凭你的水平应该能明白了。