首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Websphere 8+ WorkManager ClassCastException

Websphere 8+ WorkManager ClassCastException
EN

Stack Overflow用户
提问于 2014-04-25 18:27:22
回答 1查看 949关注 0票数 2

通过JNDI从WAS获取一个公共工作管理器并不是什么大事,但我的代码在OSGi环境中失败(我使用的是bundleActivator,而不是白羊座蓝图)。

代码语言:javascript
复制
import commonj.work.WorkManager; 
InitialContext ic = new InitialContext();
WorkManager wm = (WorkManager)ic.lookup("java:comp/env/wm/myWorkManager");

这个代码块在战争中工作得很好。但是,如果我将它添加到我的原生OSGi包中,它就会在ClassCastException中失败。

检查我的对象它告诉我workManager是workManager的一个实例

在IBMs WorkManager和CommonJ WorkManager之间创建自定义委托器并不是什么大事,但由于我的研究,我无法找到IBMs workManager的类层次结构,也无法找到包含该类的JAR。

我们使用Websphere 8.0.0.6。

org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@d34707f4 = WorkManager.class.getClassLoader()

wm.getClass().getClassLoader().loadClass(WorkManager.class.getName()).getClassLoader() = org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@5d968aee

WorkManager.class.getProtectionDomain().getCodeSource().getLocation() = file:/D:/dev/IBM/WebSphere/AppServer/profiles/AppSrv01/installedEBAs/jndi-workmanager_0.0.1.SNAPSHOT/byValue/c13b7c6c-1881-477c-a339-e0c4f992e35b.0/0/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-28 16:24:08

根据类源位置,您似乎已经在包中打包了commonj.work类。您应该删除这些以允许从WebSphere应用程序服务器运行时加载它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23300425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档