java.lang.IllegalAccessError: tried to access class weblogic/jms/client/Reconnectable from class weblogic/jms/client/$Proxy195

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • Weblogic has a strange 'feature' where by an InitialContext created in one thread can not be used in another when security credentials have been provided. I personally think this design is a little silly, but BEA are unlikely to listen. The default message listener container does not recover a connection when it's failed, and the exception suggests it's due to this 'feature'. Here is the exception: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[eventfetcher] at weblogic.rjvm.ResponseImpl.unmarshalReturn( at weblogic.rmi.cluster.ClusterableRemoteRef.invoke( at weblogic.rmi.cluster.ClusterableRemoteRef.invoke( at weblogic.jndi.internal.ServerNamingNode_921_WLStub.lookup(Unknown Source) at weblogic.jndi.internal.WLContextImpl.lookup( at weblogic.jndi.internal.WLContextImpl.lookup( at weblogic.rmi.cluster.BasicReplicaHandler.refreshReplicaList( at weblogic.rmi.cluster.BasicReplicaHandler.failOver( at weblogic.rmi.cluster.ClusterableRemoteRef.invoke( at weblogic.jms.frontend.FEConnectionFactoryImpl_922_WLStub.connectionCreateRequest(Unknown Source) at weblogic.jms.client.JMSConnectionFactory.setupJMSConnection( at weblogic.jms.client.JMSConnectionFactory.createConnectionInternal( at weblogic.jms.client.JMSConnectionFactory.createConnection( at at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContaine at com.db.websso.jms.WeblogicMessageListenerContainer.createSharedConnection( ) at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContain at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageLi at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageLi at org.springframework.jms.listener.DefaultMessageListenerContainer$ I had implemented a hack to partly solve the problem by extending the listener, but it's not completely effective. The result is that some threads seem to recover, while others continue to fail (and I can not currently explain why, given my hack re-creates the JNDI in the current thread!). Here's the hack: protected Connection createSharedConnection() throws JMSException { // Associate JNDI variables (user and password) with this thread for the benefit // of the WL drivers. try { InitialContext ic = new InitialContext(jndiTemplate.getEnvironment()); } catch (NamingException e) { logger.warn(e.getMessage()); } return super.createSharedConnection(); } It's not very nice and it would be better to find a long term decent solution to this problem. Until a solution is in place, this object (and other JMS functionality, such as multiple threads and the JmsTemplate) will fail to work correctly with Weblogic. I'm happy to test possible solutions if someone with indepth experience of the Spring JMS code can put forward suggestions. Thanks, John
    via by John Baker,
  • Include Spring Boot Devtools
    via GitHub by jenerpeon
    • java.lang.IllegalAccessError: tried to access class weblogic/jms/client/Reconnectable from class weblogic/jms/client/$Proxy195 at java.lang.reflect.Proxy.defineClass0(Native Method) at java.lang.reflect.Proxy.getProxyClass( at java.lang.reflect.Proxy.newProxyInstance( at org.springframework.aop.framework.JdkDynamicAopProxy.getProxy( at org.springframework.aop.framework.ProxyFactory.getProxy(

    Users with the same issue

    Unknown visitor1 times, last one,