校验错误,而试图建立从JBoss服务器

问题描述:

到WebSphere队列的连接在尝试并初始化从的jobscheduler ConnectionFactory的(在JBoss中-5上运行),到WebSphere队列中,我得到了下面的异常校验错误,而试图建立从JBoss服务器

java.lang.VerifyError: Cannot inherit from final class 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
     at org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:67) 
     at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:633) 
     at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:592) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:591) 
     at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:568) 
     at org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:135) 
     at org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131) 
     at org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:455) 
     at org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:267) 
     at org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:166) 
     at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:276) 
     at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1138) 
     at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:862) 
     at org.jboss.classloader.spi.base.BaseClassLoader.doLoadClass(BaseClassLoader.java:502) 
     at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:447) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
     at com.ibm.ws.naming.util.WsnInitCtxFactory.parseIiopUrl(WsnInitCtxFactory.java:1781) 
     at com.ibm.ws.naming.util.WsnInitCtxFactory.parseBootstrapURL(WsnInitCtxFactory.java:1525) 
     at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:389) 
     at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:113) 
     at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:428) 
     at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:144) 
     at javax.naming.InitialContext.lookup(InitialContext.java:392) 
     at com.test.testBatch.jms.JMSUtil.initialize(JMSUtil.java:57) 
     at com.test.testBatch.jms.JMSUtil.send(JMSUtil.java:90) 
     at com.test.testBatch.job.OutboundChangesPollingJob.execute(OutboundChangesPollingJob.java:76) 
     at org.quartz.core.JobRunShell.run(JobRunShell.java:195) 
     at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) 
2012-03-29 09:47:11,775 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0) Exception in thread "DefaultQuartzScheduler_Worker-0" 
2012-03-29 09:47:11,776 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0) java.lang.NoClassDefFoundError: com/ibm/rmi/corba/NamedValueImpl 
2012-03-29 09:47:11,777 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at com.ibm.ws.naming.util.WsnInitCtxFactory.parseIiopUrl(WsnInitCtxFactory.java:1781) 
2012-03-29 09:47:11,777 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at com.ibm.ws.naming.util.WsnInitCtxFactory.parseBootstrapURL(WsnInitCtxFactory.java:1525) 
2012-03-29 09:47:11,777 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:389) 
2012-03-29 09:47:11,777 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:113) 
2012-03-29 09:47:11,777 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:428) 
2012-03-29 09:47:11,777 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:144) 
2012-03-29 09:47:11,778 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at javax.naming.InitialContext.lookup(InitialContext.java:392) 
2012-03-29 09:47:11,778 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at com.test.testBatch.jms.JMSUtil.initialize(JMSUtil.java:57) 
2012-03-29 09:47:11,778 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at com.test.testBatch.jms.JMSUtil.send(JMSUtil.java:90) 
2012-03-29 09:47:11,778 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at com.test.testBatch.job.OutboundChangesPollingJob.execute(OutboundChangesPollingJob.java:76) 
2012-03-29 09:47:11,778 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.quartz.core.JobRunShell.run(JobRunShell.java:195) 
2012-03-29 09:47:11,778 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) 
2012-03-29 09:47:11,779 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0) Caused by: java.lang.ClassNotFoundException: Unexpected error during load of: com.ibm.rmi.corba.NamedValueImpl, msg=Cannot inherit from final class 
2012-03-29 09:47:11,779 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:181) 
2012-03-29 09:47:11,779 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:276) 
2012-03-29 09:47:11,779 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1138) 
2012-03-29 09:47:11,779 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:862) 
2012-03-29 09:47:11,779 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseClassLoader.doLoadClass(BaseClassLoader.java:502) 
2012-03-29 09:47:11,779 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:447) 
2012-03-29 09:47:11,779 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
2012-03-29 09:47:11,780 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  ... 12 more 
2012-03-29 09:47:11,780 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0) Caused by: java.lang.VerifyError: Cannot inherit from final class 
2012-03-29 09:47:11,780 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at java.lang.ClassLoader.defineClass1(Native Method) 
2012-03-29 09:47:11,780 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) 
2012-03-29 09:47:11,780 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at java.lang.ClassLoader.defineClass(ClassLoader.java:616) 
2012-03-29 09:47:11,780 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:67) 
2012-03-29 09:47:11,780 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:633) 
2012-03-29 09:47:11,780 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:592) 
2012-03-29 09:47:11,780 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at java.security.AccessController.doPrivileged(Native Method) 
2012-03-29 09:47:11,781 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:591) 
2012-03-29 09:47:11,781 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:568) 
2012-03-29 09:47:11,781 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:135) 
2012-03-29 09:47:11,781 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131) 
2012-03-29 09:47:11,781 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:455) 
2012-03-29 09:47:11,781 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:267) 
2012-03-29 09:47:11,781 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  at org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:166) 
2012-03-29 09:47:11,781 ERROR [STDERR] (DefaultQuartzScheduler_Worker-0)  ... 18 more 

由于它抛出classNotFound,我去了并检查lib文件夹,并且该类存在于名为“ibmorb.jar”的jar中。 (不知道为什么ClassNotFound的被抛出)

这是命名的工厂,在的IntialContext得到initliazed

com.ibm.websphere.naming.WsnInitialContextFactory 

请帮我提到似乎表明这

解我分辨这是

  • 删除了IBM罐子中,如果在应用程序

  • 放置两次如果相同的罐子在两个应用程序(在运行单独放置 相同的服务器),然后,放置在JAR文件中JBoss的lib文件夹(到
    避免多余的)

  • 放置jacorb.jar在JBoss的的lib文件夹,以避免Java的默认CORBA包

我跟着这三个步骤的使用 ,我没有得到这个错误!

感谢您的所有答案和努力! :-)

的罐子和上下文工厂WMQ客户端是从WebSphere Application Server安装中借用的,而不是使用独立的WMQ客户端安装程序。如果是这种情况,您可以通过安装独立客户端来解决这个问题。您可以免费获得(注册)作为SupportPac。这些都是版本,所以你有你的选择:

注意,从IBM提供的安装程序安装在客户端提供了许多附加功能,如诊断跟踪,版本显示,初始验证测试代码,样本源代码等,这是该方法安装即使您可以通过复制WMQ服务器安装中的jar来使用它,IBM仍然会支持,因此推荐使用IBM的介质。

另请注意,Java和JMS类的打包在版本之间已更改。了解您正在使用的版本非常重要,请参阅CLASSPATH和其他配置选项的相应文档。 v7.1的实现有许多功能上的改进,并且是唯一可以利用v7.1 QMgr上的功能的版本。然而,它将连接到任何版本的QMgr,所以如果这是新的开发,现在尝试使用v7.1客户端,以便最终不需要升级。

客户端的每个版本的信息中心链接:

其中一个工具与IBM安装程序一起提供的setmqjmsenv脚本(和安装64位客户端时的setmqjmsenv64)位于java/bin目录中。您可以在这里查看以确定您的WMQ版Java客户端类所需的CLASSPATH和其他环境变量。