2012-03-10 70 views
0

我将deploymy与cxf-dosgi-ri-singlebundle-distribution-1.3.jar捆绑在一个独立的Felix框架实例中。 但如果我部署在GlassFish中3.1.2我srating的glasfish域时出现此错误的包:cand部署glassfish中的Apache cfx dosgi包

[#|2012-03-10T22:55:29.310+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=21;_ThreadName=pool-7-thread-2;|Exception in thread "pool-7-thread-2" |#] 
[#|2012-03-10T22:55:29.312+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=21;_ThreadName=pool-7-thread-2;|java.lang.ClassCastException: 
org.apache.felix.eventadmin.impl.security.EventAdminSecurityDecorator cannot be cast to org.osgi.service.event.EventAdmin 
at org.apache.cxf.dosgi.dsw.service.EventAdminHelper.getEventAdmins(EventAdminHelper.java:127) 
at org.apache.cxf.dosgi.dsw.service.EventAdminHelper.notifyEventAdmin(EventAdminHelper.java:97) 
at org.apache.cxf.dosgi.dsw.service.EventProducer.publishNotifcation(EventProducer.java:62) 
at org.apache.cxf.dosgi.dsw.service.EventProducer.publishNotifcation(EventProducer.java:47) 
at org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminCore.exportService(RemoteServiceAdminCore.java:265) 
at org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:72) 
at org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance$1.run(RemoteServiceAdminInstance.java:67) 
at java.security.AccessController.doPrivileged(Native Method) 
at org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:66) 
at org.apache.cxf.dosgi.dsw.service.RemoteServiceAdminInstance.exportService(RemoteServiceAdminInstance.java:38) 
at org.apache.cxf.dosgi.topologymanager.TopologyManager$2.run(TopologyManager.java:267) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 

回答

0

这可能是因为EventAdminHelper是有线到不同的org.osgi.service.event包比事件管理GlassFish使用的服务。检查包装的接线细节,看看它们实际上是否使用相同的包装。