[jboss-user] [JBoss Messaging] - Separate log files no longer works with JBM 3.2

chip_schoch do-not-reply at jboss.com
Tue Apr 17 16:28:27 EDT 2007


When I upgraded to JBM 3.2 recently I had to go back and add:

  |    <loader-repository>jboss.messaging:loader=ScopedLoaderRepository
  |        <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
  |    </loader-repository>

to my jboss-service.xml files on the message processing MBeans I have written, because when I didn't have it I get:

2007-04-17 16:07:17,213 ERROR [com.eLynx.Messaging.MessageReceiver] Exception running MessageReceiver [thread id=155].
  | tried to access class org.jboss.aop.ClassAdvisor$1 from class org.jboss.aop.ClassAdvisor
  | java.lang.IllegalAccessError: tried to access class org.jboss.aop.ClassAdvisor$1 from class org.jboss.aop.ClassAdvisor
  | 	at org.jboss.aop.ClassAdvisor.attachClass(ClassAdvisor.java:271)
  | 	at org.jboss.aop.AspectManager.initialiseClassAdvisor(AspectManager.java:590)
  | 	at org.jboss.aop.AspectManager.getAdvisor(AspectManager.java:578)
  | 	at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.<clinit>(ClientConnectionFactoryDelegate.java)
  | 	at sun.misc.Unsafe.ensureClassInitialized(Native Method)
  | 	at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:25)
  | 	at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:122)
  | 	at java.lang.reflect.Field.acquireFieldAccessor(Field.java:917)
  | 	at java.lang.reflect.Field.getFieldAccessor(Field.java:898)
  | 	at java.lang.reflect.Field.getLong(Field.java:527)
  | 	at java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1586)
  | 	at java.io.ObjectStreamClass.access$700(ObjectStreamClass.java:52)
  | 	at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:408)
  | 	at java.security.AccessController.doPrivileged(Native Method)
  | 	at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:400)
  | 	at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:297)
  | 	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:531)
  | 	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
  | 	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
  | 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
  | 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
  | 	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
  | 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
  | 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
  | 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
  | 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
  | 	at java.rmi.MarshalledObject.get(MarshalledObject.java:135)
  | 	at org.jnp.interfaces.MarshalledValuePair.get(MarshalledValuePair.java:72)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:653)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:588)
  | 	at javax.naming.InitialContext.lookup(InitialContext.java:351)
  | 	at com.eLynx.Messaging.MessageReceiver.run(MessageReceiver.java:547)

I have my log4j.xml configured to log to different files using the TCLFilter:

      <filter class="org.jboss.logging.filter.TCLFilter">
  |          <param name="AcceptOnMatch" value="true"/>
  |          <param name="DeployURL" value="eLynxFileConversion.sar"/>
  |       </filter>   

Now I do not get any logging to the separate file.  It looks like the TCLFilter must be using class loader to determine which archive a class came from?  Anyway, it is an unintended consequence of the latest changes.

Any ideas about how to fix this?

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

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



More information about the jboss-user mailing list