[jboss-user] [JBoss Messaging Users] - Problem with VERSION in default package

hosier.david do-not-reply at jboss.com
Thu Nov 5 20:59:53 EST 2009


We have a NetBeans client application which involves some JMS client code.  We just migrated to JBoss 5.1 (with JBoss Messaging 1.4.3), and now we get JMS failures because NetBeans does not allow access to things in the default package.  You can see from the following stack trace the JBM code does in fact load version information from a file named VERSION at the root of the jboss-messaging-client.jar.  Sorry...the guy who pasted this to me didn't drag over far enough in the Windows console window, so some of the text is truncated on the right side.

   [exec] java.lang.IllegalStateException: You are trying to access file: VERSION from the default package. Please see http
  | /www.netbeans.org/download/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/classpath.html#default_package
  |    [exec]     at org.netbeans.ProxyClassLoader.printDefaultPackageWarning(ProxyClassLoader.java:539)
  |    [exec]     at org.netbeans.ProxyClassLoader.getResource(ProxyClassLoader.java:312)
  |    [exec]     at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1168)
  |    [exec]     at org.jboss.messaging.util.Version.load(Version.java:130)
  |    [exec]     at org.jboss.messaging.util.Version.<init>(Version.java:56)
  |    [exec]     at org.jboss.messaging.util.Version.instance(Version.java:69)
  |    [exec]     at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.getVersionToUse(ClientConnectionFactoryDeleg
  | e.java:91)
  |    [exec]     at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.org$jboss$jms$client$delegate$ClientConnecti
  | FactoryDelegate$getClientAOPStack$aop(ClientConnectionFactoryDelegate.java:220)
  |    [exec]     at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.getClientAOPStack(ClientConnectionFactoryDel
  | ate.java)
  |    [exec]     at org.jboss.jms.client.ClientAOPStackLoader.load(ClientAOPStackLoader.java:75)
  |    [exec]     at org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:192)
  |    [exec]     at org.jboss.jms.client.JBossConnectionFactory.createTopicConnection(JBossConnectionFactory.java:115)
  |    [exec]     at org.jboss.jms.client.JBossConnectionFactory.createTopicConnection(JBossConnectionFactory.java:109)
  |    [exec]     at com.osi.solutions.framework.services.logging.client.LogTopicPublisher.initConnectionStuff(LogTopicPublishe
  | java:85)
  |    [exec]     at com.osi.solutions.framework.services.logging.client.LogTopicPublisher.init(LogTopicPublisher.java:59)
  |    [exec]     at com.osi.solutions.framework.services.logging.client.LogPublisherFactory.getPublisher(LogPublisherFactory.j
  | a:56)
  |    [exec]     at com.osi.solutions.framework.services.logging.client.JMSLogAppender.append(JMSLogAppender.java:64)
  |    [exec]     at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230)
  |    [exec]     at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65)
  |    [exec]     at org.apache.log4j.Category.callAppenders(Category.java:203)
  |    [exec]     at org.apache.log4j.Category.forcedLog(Category.java:388)
  |    [exec]     at org.apache.log4j.Category.info(Category.java:663)
  |    [exec]     at com.osi.solutions.framework.services.logging.common.RemoteLoggerFactory.logInfoMessage(RemoteLoggerFactory
  | ava:45)
  |    [exec]     at com.osi.solutions.platform.main.login.Installer.initLogger(Installer.java:432)
  |    [exec]     at com.osi.solutions.platform.main.login.Installer.restored(Installer.java:127)
  |    [exec]     at org.netbeans.core.startup.NbInstaller.loadCode(NbInstaller.java:419)
  |    [exec]     at org.netbeans.core.startup.NbInstaller.load(NbInstaller.java:340)
  |    [exec]     at org.netbeans.ModuleManager.enable(ModuleManager.java:906)
  |    [exec]     at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:428)
  |    [exec]     at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:364)
  |    [exec]     at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:276)
  |    [exec]     at org.netbeans.core.startup.Main.getModuleSystem(Main.java:165)
  |    [exec]     at org.netbeans.core.startup.Main.start(Main.java:312)
  |    [exec]     at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:110)
  |    [exec]     at java.lang.Thread.run(Thread.java:619)
  | 

We subsequently attempt to send JMS messages and that code fails with the following exception:

    [exec] Caused by: java.lang.RuntimeException: org.jboss.aop.advice.org.jboss.jms.client.container.SessionAspect_z_handle
  | edeliver_22700073: frozen class (cannot edit)
  |     [exec]     at javassist.ClassPool.checkNotFrozen(ClassPool.java:568)
  |     [exec]     at javassist.ClassPool.makeClass(ClassPool.java:746)
  |     [exec]     at javassist.ClassPool.makeClass(ClassPool.java:731)
  |     [exec]     at org.jboss.aop.instrument.TransformerCommon.makeClass(TransformerCommon.java:239)
  |     [exec]     at org.jboss.aop.advice.PerVmAdvice.generateInterceptor(PerVmAdvice.java:145)
  |     [exec]     at org.jboss.aop.advice.PerVmAdvice.generateOptimized(PerVmAdvice.java:56)
  |     [exec]     at org.jboss.aop.advice.AdviceFactory.create(AdviceFactory.java:106)
  |     [exec]     at org.jboss.aop.Advisor.createInterceptorChain(Advisor.java:1323)
  |     [exec]     at org.jboss.aop.Advisor.pointcutResolved(Advisor.java:1937)
  |     [exec]     at org.jboss.aop.MethodMatchInfo.applyBinding(MethodMatchInfo.java:152)
  |     [exec]     at org.jboss.aop.MethodMatchInfo.simplePopulateBindings(MethodMatchInfo.java:113)
  |     [exec]     at org.jboss.aop.MethodMatchInfo.populateBindings(MethodMatchInfo.java:96)
  |     [exec]     at org.jboss.aop.Advisor.finalizeMethodChain(Advisor.java:1548)
  |     [exec]     at org.jboss.aop.ClassAdvisor.finalizeChains(ClassAdvisor.java:741)
  |     [exec]     at org.jboss.aop.ClassAdvisor.createInterceptorChains(ClassAdvisor.java:609)
  |     [exec]     at org.jboss.aop.ClassAdvisor$1.run(ClassAdvisor.java:306)
  |     [exec]     at java.security.AccessController.doPrivileged(Native Method)
  |     [exec]     at org.jboss.aop.ClassAdvisor.attachClass(ClassAdvisor.java:276)
  |     [exec]     at org.jboss.aop.AspectManager.initialiseClassAdvisor(AspectManager.java:748)
  |     [exec]     at org.jboss.aop.AspectManager.getAdvisor(AspectManager.java:729)
  |     [exec]     at org.jboss.jms.client.delegate.ClientSessionDelegate.<clinit>(ClientSessionDelegate.java)
  |     [exec]     ... 55 more
  | 

I suspect the two are related, but I'm still tracing through the code to see if I can tell for sure.  I guess I'm looking for any suggestions on how to get around this issue.  It seems like the ideal solution is to move the VERSION file into a package in the jar, but maybe there's something I don't understand.  As far as I can tell from looking at the code, rebuilding the jar with the VERSION file in a package will not work.  I think I would need to also change the Version.instance() line 69 to include that package
singleton = new Version("VERSION");

Hopefully someone will have some helpful suggestions.  Thanks.

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4264257#4264257

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4264257



More information about the jboss-user mailing list