JiveJdon Community Forums
在线223人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 5 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
秋实

发表文章: 2
注册时间: 2005年04月14日 16:42
给他发消息
板桥或其他兄弟,请帮帮忙。 发表: 2005年04月14日 16:48 回复
我现在要实现通过定制的ClassLoader来实现类的动态重新加载,具体的说,指间隔检查指定的类(不在系统默认装载器能够装载的路径下),如果发现类被修改过,则用自己写的classloader重新装载该类
现在遇到如下问题:我用自己写的classloader 装载该类,可是装载后我不能像使用普通的类那样使用该类,例如,通常我们这样使用一个类:Hello hello = new Hello();然后我们就可以通过hello来调用各种方法了,我是这样来重新装载一个类的:Class cl = new MyClassLoader().loadClass("OneClass.class");这时如果我用下列转换:OneClass oc = (OneClass)cl;,系统就抛出一个类型转换异常。这时只能通过反射机制来使用该类,我现在想知道如何能够想使用普通类那样使用重新装载的类cl。另外,由于我要不断的检查不断的重新加载类,这就导致一个问题:每次加载都是用MyClassLoader进行重加载,第一次没问题,第二次就会抛出类已经加载的异常,这是因为第一次MyClassLoader已经加载过这个类了,所以再加载的时候就跑出异常。
如果我写得不明白,或者需要从源码获得更多的判断信息,请告诉我。
SportsBaby1980

发表文章: 244
注册时间: 2004年06月09日 16:52
给他发消息
Re: 板桥或其他兄弟,请帮帮忙。 发表: 2005年04月14日 22:31 回复
个人看法:
你这个和服务器加载类有点类似,所以也可以采用相同的策略来解决.
监视某个路径----线程,
发现该路径下有新的文件变动,就启动检查机制,
然后分析该文件.
秋实

发表文章: 2
注册时间: 2005年04月14日 16:42
给他发消息
Re: 板桥或其他兄弟,请帮帮忙。 发表: 2005年04月15日 11:27 回复
谢谢SportsBaby1980的回复,我正是如此做的,现在已经用特定的class loader 装载了,通过反射机制检查,证明已成功装载,现在我需要在重装载后在新写的类中象使用普通类的实例那样使用重新装载的类的实例,而不是通过Method的invoke方法来调用。这很让我为难啊,找不到解决办法,我曾试着了解weblogic等服务器的 hot redeploy 原理,好像这不是短时间能够做到的。
有哪位兄弟实现过类似的功能吗?继续寻求帮助......




SportsBaby1980

发表文章: 244
注册时间: 2004年06月09日 16:52
给他发消息
Re: 板桥或其他兄弟,请帮帮忙。 发表: 2005年04月15日 14:42 回复
不知道你使用的地方和你频繁更新的地方的关系

如果是直接引用的话,估计希望不大

SportsBaby1980

发表文章: 244
注册时间: 2004年06月09日 16:52
给他发消息
Re: 板桥或其他兄弟,请帮帮忙。 发表: 2005年04月15日 14:42 回复
看看banq兄有什么好办法没?
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
Re: 板桥或其他兄弟,请帮帮忙。 发表: 2005年04月16日 15:28 回复
使用MBean

可参考exo portal平台中TomcatWebAndPortletDeployer之类的做法。
这个主题有 5 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam